- From: Dan Brickley <danbri@danbri.org>
- Date: Fri, 15 Apr 2011 21:23:44 +0200
- To: nathan@webr3.org, Ivan Herman <ivan@w3.org>, Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr>, RDF WG <public-rdf-wg@w3.org>, David Wood <david.wood@talis.com>
On 15 April 2011 19:11, Nathan <nathan@webr3.org> wrote: > Ivan Herman wrote: >> On Apr 15, 2011, at 14:03 , Pierre-Antoine Champin wrote: >>> On 04/14/2011 03:18 PM, Dan Brickley wrote: >>>> rdfms-contexts: Suggestion that the concept of context is missing from >>>> RDF. >> >> ... >> I am not sure what context is. > > context = old term for quoted-graphs in N3 iirc Closer :) It's not reallyJSON or N3, but dates from RDF's MCF ancestry and R.V.Guha. Guha did his phd on the topic, http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=guha+contexts http://tw.rpi.edu/wiki/Ramanathan_V._Guha http://tw.rpi.edu/wiki/Contexts:_A_Formalization_and_Some_Applications http://www-formal.stanford.edu/guha/guha-thesis.ps This was related to the '90s Cyc work (maybe Pat Hayes knows more detail), micro-theories and suchlike. It allowed for a kind of modularity, through partitioning a knowledge base into areas that had different perspectives and levels of detail. A slimmed down version of these ideas showed up in MCF, Meta Content Format, ... Guha's thing while he was at Apple, and which moved with him to Netscape ~1996 I guess. I recommend reading http://www.guha.com/mcf/wp.html - and try to see 'rdf' wherever you read 'mcf'. The idea of Context is presented there: "Compositable Descriptions: We often need to have multiple layers of descriptions, each adding to or modifying lower layers." The MCF API described there has contexts as layers. MCF is an important technology, historically. It had some notable grassroots deployment in the early Web as a sitemaps format, and was the real ancestor to all the subsequent syndication formats in the RSS and Atom tradition. Definitely also inspired FOAF. So this MCF work went to Netscape ~1997. As I understand it, Tim 'XML' Bray was brought in as a consultant and locked in a room with Guha until an XMLified version was created and documented as http://www.w3.org/Submission/1997/8/ * http://www.w3.org/TR/NOTE-MCF-XML/ "Meta Content Framework Using XML" and also * also a tutorial http://www.w3.org/TR/NOTE-MCF-XML/MCF-tutorial.html At the same time, the PICS-NG group were working to make W3C's PICS format flexible and extensible enough to accomodate the needs of communities like Dublin Core (see Ora's http://www.w3.org/TR/NOTE-pics-ng-metadata ) alongside other ideas like http://www.w3.org/TR/NOTE-XMLsubmit and XML-Data. XML itself was still being finalised (esp around namespaces). So MCF dissapeared in the first RDF Working Group (Model + Syntax), which delivered a first public working draft of something that looked like modern RDF to the public in October 1997, a few days before the Dublin Core conference. (I read it for the first time on the flight to http://www.kansalliskirjasto.fi/extra/muut/meta/DC5.html ... and as an MCF implementor recognised where it was heading and got involved). So contexts kind of dissapeared from MCF as a data model and standard as it became RDF. In the specs it was replaced by the clunky reification vocabulary. The work we're starting now on graphs/quads is closer to the original idea. But contexts continued to exist in the implementation environment. Mozilla for some years had the world's first RDF implementation, and it began earlier as an MCF implementation; you can still poke around the source code here: http://mxr.mozilla.org/classic/source/modules/rdf/src/ Mozilla's RDF APIs were defined in http://mxr.mozilla.org/classic/source/modules/rdf/src/mcf.c and show it's datasource stacking architecture, which is familiar to most of us here as similar to most modern triple store and RDF APIs. You could compose a composite datasource by putting other sources inside it, so other application layers needn't worry exactly where the data lived. The application/UI story behind all this is archived at http://www-archive.mozilla.org/rdf/doc/aurora.html So this basic idea in a few flavours was floating around in the RDF hacking community, surfaced in N3 as contexts, in Dave Beckett's Redland system - http://librdf.org/notes/contexts.html - and in some nice work from Graham Klyne, eg. see http://www.ninebynine.org/RDFNotes/RDFContexts.html "Contexts for RDF Information Modelling" and http://www.ninebynine.org/RDFNotes/UsingContextsWithRDF.html Really there's no real single thing that is "RDF contexts", ... but rather a decades-spanning conversation and hackathon (that goes back further than I listed) about how best to build information-merging environments. It ranges from simple triple-tagging and datasource stacking to mechanisms in logic-based languages, and eventually gave rise to SPARQL's GRAPH mechanism (since most RDF toolkits followed Mozilla's lead and eventually implemented something to group triples). cheers, Dan
Received on Friday, 15 April 2011 19:24:16 UTC