- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Thu, 23 Mar 2006 08:45:15 -0500 (EST)
- To: larsga@ontopia.net
- Cc: semantic-web@w3.org
From: Lars Marius Garshol <larsga@ontopia.net> Subject: Re: Interpretation of RDF reification Date: Thu, 23 Mar 2006 09:58:33 +0100 > * Peter F. Patel-Schneider > > > > Well, RDF Semantics *is* the definitive word on what RDF means. The > > section on reification includes a fair bit of "hope" for the > > future, but if > > you ignore that, then you are left with ... nothing beyond the > > standard > > meaning of the four triples above. > > I didn't ignore that section, I just failed to understand it. It > sounds to me like RDF Semantics does say something about what this > construct means. What that might be eludes me completely, though, > unless it is what Brian McBride wrote. >From http://www.w3.org/TR/rdf-mt/#Reif, with my comments added in lines starting with PFPS: ****************************** 3.3.1 Reification RDF reification vocabulary rdf:Statement rdf:subject rdf:predicate rdf:object PFPS: The bit above does actually have some impact, but only to put the PFPS: four URIrefs into the RDF vocabulary. Semantic extensions MAY limit the interpretation of these so that a triple of the form aaa rdf:type rdf:Statement . is true in I just when I(aaa) is a token of an RDF triple in some RDF document, and the three properties, when applied to such a denoted triple, have the same values as the respective components of that triple. PFPS: As indicated in its text, the portion just above is only the case in PFPS: some unspecified, possible, future extension of RDF. This may be illustrated by considering the following two RDF graphs, the first of which consists of a single triple. <ex:a> <ex:b> <ex:c> . and _:xxx rdf:type rdf:Statement . _:xxx rdf:subject <ex:a> . _:xxx rdf:predicate <ex:b> . _:xxx rdf:object <ex:c> . The second graph is called a reification of the triple in the first graph, and the node which is intended to refer to the first triple - the blank node in the second graph - is called, rather confusingly, a reified triple. (This can be a blank node or a URI reference.) PFPS: The section above is just some RDF syntax, and introduces the notion PFPS: of when an RDF node is a reification of an RDF triple. In the intended interpretation of the reification vocabulary, the second graph would be made true in an interpretation I by interpreting the reified triple to refer to a token of the triple in the first graph in some concrete RDF document, considering that token to be valid RDF syntax, and then using I to interpret the syntactic triple which the token instantiates, so that the subject, predicate and object of that triple are interpreted in the same way in the reification as in the triple described by the reification. PFPS: Again, this "intended interpretation" is in some unspecified, PFPS: possible, future extension of RDF. This could be stated formally as follows: <x,y> is in IEXT(I(rdf:subject)) just when x is a token of an RDF triple of the form aaa bbb ccc . and y is I(aaa); similarly for predicate and object. Notice that the value of the rdf:subject property is not the subject URI reference itself but its interpretation, and so this condition involves a two-stage interpretation process: one has to interpret the reified node - the subject of the triples in the reification - to refer to another triple, then treat that triple as RDF syntax and apply the interpretation mapping again to get to the referent of its subject. This requires triple tokens to exist as first-class entities in the universe IR of an interpretation. In sum: the meaning of the reification is that a document exists containing a triple token which means whatever the first graph means.Note that this way of understanding the reification vocabulary does not interpret reification as a form of quotation. Rather, the reification describes the relationship between a token of a triple and the resources that triple refers to. The reification can be read intuitively as saying "'this piece of RDF talks about these things" rather than "this piece of RDF has this form". PFPS: This is simply a restatement and further expanation of how this PFPS: unspecified, possible, future extension might work. The semantic extension described here requires the reified triple that the reification describes - I(_:xxx) in the above example - to be a particular token or instance of a triple in a (real or notional) RDF document, rather than an 'abstract' triple considered as a grammatical form. There could be several such entities which have the same subject, predicate and object properties. Although a graph is defined as a set of triples, several such tokens with the same triple structure might occur in different documents. Thus, it would be meaningful to claim that the blank node in the second graph above does not refer to the triple in the first graph, but to some other triple with the same structure. This particular interpretation of reification was chosen on the basis of use cases where properties such as dates of composition or provenance information have been applied to the reified triple, which are meaningful only when thought of as referring to a particular instance or token of a triple. PFPS: More explanation of how this unspecified, possible, future extension PFPS: might work. Although RDF applications may use reification to refer to triple tokens in RDF documents, the connection between the document and its reification must be maintained by some means external to the RDF graph syntax. (In the RDF/XML syntax described in RDF/XML Syntax Specification (Revised) [RDF-SYNTAX], the rdf:ID attribute can be used in the description of a triple to create a reification of that triple in which the reified triple is a URI constructed from the baseURI of the XML document and the value of rdf:ID as a fragment.) Since an assertion of a reification of a triple does not implicitly assert the triple itself, this means that there are no entailment relationships which hold between a triple and a reification of it. Thus the reification vocabulary has no effective semantic constraints on it, other than those that apply to an rdf-interpretation. PFPS: A warning that all the previous stuff is indeed *not* part of RDF. A reification of a triple does not entail the triple, and is not entailed by it. (The reification only says that the triple token exists and what it is about, not that it is true. The second non-entailment is a consequence of the fact that asserting a triple does not automatically assert that any triple tokens exist in the universe being described by the triple. For example, the triple might be part of an ontology describing animals, which could be satisfied by an interpretation in which the universe contained only animals, and in which a reification of it was therefore false.) PFPS: More warning about what reification does not do. Since the relation between triples and reifications of triples in any RDF graph or graphs need not be one-to-one, asserting a property about some entity described by a reification need not entail that the same property holds of another such entity, even if it has the same components. For example, _:xxx rdf:type rdf:Statement . _:xxx rdf:subject <ex:subject> . _:xxx rdf:predicate <ex:predicate> . _:xxx rdf:object <ex:object> . _:yyy rdf:type rdf:Statement . _:yyy rdf:subject <ex:subject> . _:yyy rdf:predicate <ex:predicate> . _:yyy rdf:object <ex:object> . _:xxx <ex:property> <ex:foo> . does not entail _:yyy <ex:property> <ex:foo> . PFPS: More warning about what reification does not do. ****************************** So what does RDF reification get you? Actually, ... absolutely nothing! peter
Received on Thursday, 23 March 2006 13:45:32 UTC