Re: ACTION 610: Draft Meta Formats section for W3C site

On Tue, Mar 6, 2012 at 1:13 PM, Jeni Tennison <jeni@jenitennison.com> wrote:
> Hi,
>
> At the last TAG telcon [0] I was actioned to do another draft of text for the Metaformats section of the W3C site. Here it is. I have tried to address Henry and Jonathan's concerns over the XML and RDF sections of page, but if they provide alternative text that can just get slotted in as far as I'm concerned.
>
> Thanks,
>
> Jeni
>
> [0]: http://www.w3.org/2001/tag/2012/03/01-minutes.html#item04
>
> ---
> Metaformats are generic formats that people can adopt when creating their own application-specific languages without having to reinvent syntax. The terms that people use to specialise a metaformat are often called vocabularies. Examples of metaformats 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 that can be used for both documents and data. XML's unique 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 the underlying data model for a number of formats such as Turtle [13], and can be embedded within HTML using RDFa [14]. RDF is useful for describing graph structures in which each entity is named through a URL [11] and is thus the core data model for the Semantic Web [12]. Common RDF vocabularies, which can be used with any RDF syntax, are Dublin Core Terms [15], FOAF [16], SKOS [17] and schema.org [18].

As I said on the call "RDF is useful for describing graph structures"
is just like saying "HTML is useful for describing tree structures"
which I don't think gets at the spirit of the thing.

The problem of describing RDF to a general audience steps squarely
into the middle of the semantic web / linked data debate. On the one
hand the RDF Semantics recommendation and the semantic web idea want
to take RDF as a knowledge representation language (this is a
misnomer, it should be something more like "information expression"),
designed for the expression of arbitrary information, a machine
readable equivalent of natural language, which is similarly universal.
On the other hand only a small number of people "get" this idea and it
is soundly rejected in the linked data approach, which just says it's
all "data" - the responsibility for correct interpretation is
fundamentally in the hands of the consumer, not the producer. The
knowledge representation view is essentially elitist and inaccessible
to many, perhaps most, who say they want to use RDF. RDF of course is
perfectly useful without it it, so the linked data view disposes of
all this "meaning" and "representation" and "naming" nonsense and just
talks about data and linking instead. That's perfectly legitimate,
it's just different.

I don't think it is possible to be neutral in this debate (which isn't
really a debate, just distinct use cases for the same set of
technologies). Here is my attempt to play both sides:

[[
RDF is a language designed for the expression of arbitrary information
about arbitrary things. It has variant surface syntaxes including
Turtle [13] and RDFa [14], the latter allowing embedding in HTML and
thus promoting machine readability of information found in HTML
documents. RDF is useful for expressing graph structured information
in which each entity is linkable through a URL [11] and is thus the
core data model for the Semantic Web [12].
]]

My goal in putting it this way is to attempt to do justice to the
original knowledge-representation vision, without really shoving it
down anyone's throat. The "RDF is useful" sentence, as in Jeni's
version, is meant to evoke linked data and bring the idea down to
earth. My bias is obvious though and I'm not sure that the way I've
said it is the most accessible and least confusing way to say it.
However I don't see what else to say so I will leave it to Jeni and
others to take, leave, or improve what I have written.

Best
Jonathan

> 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.ietf.org/rfc/rfc4627
> [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 Wednesday, 7 March 2012 16:41:30 UTC