- From: Bob MacGregor <macgregor@ISI.EDU>
- Date: Fri, 07 Feb 2003 12:31:56 -0800
- To: www-rdf-interest@w3.org
A quick reading of Section 3.2.1 (entitled Reification) of the RDF Semantics document written by Pat Hayes yields the impression that reified statements (which I will refer to by the simpler term 'statings') are some how related to statements in an RDF document. Here is how it starts out: >> The RDF reification vocabulary consists of a class name and three property >> names. 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 RD >> document, and the three properties, when applied to such a denoted triple, >> have the same values as the respective components of that triple. However, the caveats are legion: First, its says that 'extensions' may limit the interpretation. This means that RDF itself places no such limitations. Second, it refers to a triple in 'some' RDF document. Nothing relates the document where a stating occurs to that other document. From an implementation perspective, this means that there is no possible way that one could verify that the triple referred to does not in fact exist, i.e., it is impossible to check whether or not the triple that a stating refers to does or does not exist. Nothing says that the subject, predicate, and object attributes of a stating need be filled in. If you omit one or more of the attributes, then the stating matches any one among an (infinite) set of triples. However, the most problematic caveat is the fact that there are absolutely no model theoretic semantics associated with statings: >> 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. In plain English, this means that statings have no special semantics at all in RDF. If you omitted all reference to statings from the RDF specification, nothing would have changed. Here is an extract from a current thread on Abstract Classes: >> Then, if I say >> _:xxx rdf:type rdf:Statement . >> _:xxx rdf:subject <ex:a> . >> _:xxx rdf:subject <ex:d> . >> _:xxx rdf:predicate <ex:b> . >> _:xxx rdf:object <ex:c> . >> _:xxx rdf:object "BLA" . >> >> Is that a wrong model? a incomplet model? At least >> is an incorrenct rdf:Statement, isn't it? >> It is certainly very peculiar and I wouldn't mind if some RDF engine >> were to complain about it. However, it is not in fact contradictory >> or 'wrong' , strictly speaking. It can be rationally satisfied by an >> interpretation in which I(<ex:a>) = I(<ex:d>) and I(<ex:c>) = 'BLA'. When there is no semantics, then there is no such thing as an incorrect set of statements. A stating can have 10 subjects and 20 predicates. Pat states that the above example is 'peculiar', but there is nothing in the RDF model theory that supports such an opinion. Furthermore, if an RDF engine were to complain about it, I would consider that engine to be operating as an *extension* of the RDF spec, as it has currently been written. Hence, it would not, strictly speaking, be an RDF engine. So, how should we interpret Section 3.2.1 of the RDF Semantics document? From a semantics point of view, it is completely null; we might as well omit it. From a concept point of view, it gives the impression of something being present (a relationship between statings and statements) that is in fact not there at all. In otherwords, the effect is to mislead the average reader. So, my recommendation would be to delete the entire section. Cheers, Bob
Received on Friday, 7 February 2003 15:32:12 UTC