ACTION 610: Draft Meta Formats section for W3C site

Hi,

I've had a long-standing action to try to draft the Meta Formats section for the W3C site. Below is my first attempt.

Cheers,

Jeni

---

Metaformats are generic syntaxes that people can adopt when creating their own languages, often called vocabularies. Examples are XML [1], RDF [2] and JSON [3]. Metaformats offer advantages over creating a custom syntax for a language because they can be processed by generic tools, and languages that use them can be understood by people who have learned about the metaformat.

Metaformats usually have a schema language that can be used to define or describe a vocabulary that uses that metaformat, and query or transformation languages that can be used to access information within documents that use that metaformat.

What is XML?

XML is a metaformat based on SGML that is particularly useful for documents but can also be used for data. XML's strength lies in its ability to support mixed content: paragraphs of text in which particular words and phrases are marked up. Common XML-based languages in use today include XHTML [4] and Atom [5].

There are several schema languages for XML, including XML Schema [6] and RELAX NG [7], which enable XML-based languages to be validated. There are also generic methods for querying and transforming XML through XPath and XSLT [8], XQuery [9] and XML Processing pipelines [10].

What is RDF?

RDF is a metaformat, actually a metamodel, that is useful for describing graph structures in which each entity is named through a URL [11]. RDF is the core data model for the Semantic Web [12]. As a metamodel, RDF can be expressed through several different syntaxes, most commonly Turtle [13], or embedded within HTML using RDFa [14]. Common RDF vocabularies are Dublin Core Terms [15], FOAF [16], SKOS [17] and schema.org [18].

RDF vocabularies can be described by RDF Schemas [19] or OWL Ontologies [20]. These are primarily used for inference: to deduce new information from data expressed in RDF. More flexible reasoning for RDF can be described using RIF [21]. Data stored within RDF stores, known as triplestores, can be queried and updated using SPARQL [22].

What is JSON?

JSON is a metaformat that is useful for expressing tree-based data structures. JSON's key benefit is that it tersely expresses the kinds of data structures commonly used in programming languages, particular Javascript, which makes it very easy to create and consume.

JSON is rarely used with a declarative schema and it is usually processed by being parsed into the native data structures used by a particular programming language. However, there are several query languages currently under development, including JSON Path [23], Jaql [24] and JSONiq [25]


[1] http://www.w3.org/standards/xml/
[2] http://www.w3.org/standards/semanticweb/
[3] http://www.json.org/
[4] http://www.w3.org/standards/webdesign/htmlcss
[5] https://tools.ietf.org/html/rfc4287
[6] http://www.w3.org/standards/xml/schema
[7] http://relaxng.org/
[8] http://www.w3.org/standards/xml/transformation
[9] http://www.w3.org/standards/xml/query
[10] http://www.w3.org/standards/xml/processing
[11] http://www.w3.org/standards/webarch/identifiers
[12] http://www.w3.org/standards/semanticweb/ 
[13] http://www.w3.org/TR/turtle/
[14] http://www.w3.org/standards/techs/rdfa
[15] http://dublincore.org/documents/dcmi-terms/
[16] http://xmlns.com/foaf/spec/
[17] http://www.w3.org/standards/techs/skos
[18] http://schema.org/
[19] http://www.w3.org/standards/techs/rdf
[20] http://www.w3.org/standards/techs/owl
[21] http://www.w3.org/standards/techs/rif
[22] http://www.w3.org/standards/semanticweb/query
[23] http://goessner.net/articles/JsonPath/
[24] https://code.google.com/p/jaql/wiki/JaqlOverview
[25] http://jsoniq.org/
-- 
Jeni Tennison
http://www.jenitennison.com

Received on Saturday, 25 February 2012 11:05:15 UTC