- From: Seth Russell <seth@robustai.net>
- Date: Thu, 21 Mar 2002 11:47:05 -0800
- To: <www-rdf-comments@w3.org>
- Cc: <semanticweb@yahoogroups.com>, "Pat Hayes" <phayes@ai.uwf.edu>
Unasserted triples, Contexts and things that go bump in the night. seeUrl: http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Mar/0253.html Pat Hayes: > 2. Dark triples. > The simplest proposal is therefore to simply allow an RDF > graph to contain triples which do not make any assertions. I agree with Grahm, this is a good term which isolates this new property of a triple in a larger collection of triples. Thanks for coining it :) > One way to do this would be to explicitly introduce a 'context' > mechanism into the basic RDF syntax, as Tim did in N3. This > amounts to having some way to refer to a set of triples, ie an RDF > graph, as a single entity which can stand in the subject or object > position of another triple. For example, we could extend Ntriples > by some notation (eg curly brackets) which allows RDF to > indicate an entire graph rather than a single node. I agree, and thanks for saying that. As Grahm, Jonathan, and I have suggested, using the <rdf:RDF>...</rdf:RDF> construct nested within a RDF graph will give us this ability. At the risk of being tedious let me describe this in more detail: Any triple in the document which is not directly under the *first* rdf:RDF container would be considered dark *to that first level*. Just like the rdf:description container, the rdf:RDF container would give us the ability to place dark contents in the subject and object slots of any triple. I think we also need the ability to assign a URI to the dark contents making it a first class object in our domain of discourse. Then we can refer to that resource from somewhere else in the graph, not necessarily just within one nesting tree. We could use the same mechanism that is used in rdf:description(s) - viz just add another attribute. For example: <rdf:RDF rdf:context =http://foo/ > ....contents asserted in http://foo/ .... <rdf:RDF rdf:context ="http://bar/" > ....contents asserted in http://bar/ but dark to http://foo/ .... </rdf:RDF > </RDF> Obviously just like when a rdf:description node is not labeled with the rdf:about attribute, it is a Bnode; so when a rdf:RDF node is not labeled with a rdf:context attribute it is also a Bnode. Also now someone can put <rdf:RDF rdf:context =http://foo/ > .... contentA....</rdf:RDF> in a document at any level of nesting; and then someone else can refer to that resource from some *other* document. The change in the Ntriples syntax is just as simple: <context> <subject> <predicate> <object>. or if you prefer <context> = {<subject> <predicate> <object> }. where the current RDF without dark triples is just {<subject> <predicate> <object> }. >However, this would be a major change to RDF syntax. Imho, this is not a major change. Thing is that we need this ability now ....actually we needed it a couple years ago when it was first proposed and ignored. Were the WG, in it's haste to finalize, not give us this simple ability, there will be at least one very disappointed RDF enthusiast. As far as use cases, there are lots of them. For example: we need a way for a group of people with common interests to share collections of statements, give provenance to those collections, and to talk about how they are interrelated. I proposed such a use for sharing whitelists to reduce spam yesterday in [1] below. [1] http://groups.yahoo.com/group/rdfweb-dev/message/158 [1 PS] http://groups.yahoo.com/group/rdfweb-dev/message/159 I can't leave you without some pictures .. so here they are: http://robustai.net/mentography/mentography_example_1.gif http://robustai.net/mentography/context_lex_knows.gif And I hereby declare that mentographs don't mean anything. They are just the uninterperted data structure of a labeled directed graph. Seth Russell
Received on Thursday, 21 March 2002 14:51:07 UTC