- From: Conrad Bock <conrad.bock@nist.gov>
- Date: Fri, 30 Nov 2007 13:12:35 -0500
- To: "'Peter F. Patel-Schneider'" <pfps@research.bell-labs.com>
- Cc: <public-owl-wg@w3.org>
Peter, > OK, how about the following divergences between the metamodel (which > I take to be the diagrams) and the RDF recomendation: > I don't think that this is an exhaustive list. I just put it > together in about 30 minutes. I have also not included anything to > do with the mixture of RDF syntax and semantics that occurs > throughout the metamodel. > > In sum, the OMG metamodel for RDF has significant and pervasive > differences from the W3C RDF recommendation. An application written > to use the OMG metamodel is likely to not conform to the W3C > recommendation. Therefore, the OMG metamodel for RDF is unsuitable > for use. Thanks the detailed comments. Assuming your interpretation is generally agreed (which would be the hard part), the comments below can be addressed trivially. They are not evidence of major problems in the OMG metamodel. In addition, discussion of them brings exposes false agreements in both communities, which benefits everyone. Conrad > 1/ The metamodel on page 35 allows triples (RDFStatment) in > RDF graphs > (RDFGraph) that are missing subject, predicate, and or object, > contrary to the RDF recommendation. > > Controlling text at > http://www.w3.org/TR/rdf-concepts/#section-data-model > Each triple represents a statement of a relationship > between the things > denoted by the nodes that it links. Each triple has three parts: > > 1. a subject, > 2. an object, and > 3. a predicate (also called a property) that denotes a > relationship. See earlier message about this. If it is generally agreed, it's trivial to add a constraint saying this, and would be more explicit than the text above. > 2/ The metamodel on page 35 make an RDF graph (RDFGraph) be > a ordered > collection of triples (RDFStatment), contrary to the RDF > recommendation. (Yes the text says that an RDF graph is > a set, but > this contradicts the metamodel.) > Controlling text at http://www.w3.org/TR/rdf-mt/#graphdefs > > An RDF graph, or simply a graph, is a set of RDF triples. An ordered set is a set, so the above is ambiguous. But if if it is agreed not be ordered, the change is trivial, and would give an less ambiguous specification. > 3/ The metamodel on page 35 has names for graphs, which is > not supported in the RDF recommendation. If generally agreed, also a trivial modification. > 4/ The metamodel on page 35 has reification status as a > part of a triple > (RDFStatement), which is not supported in the RDF recommendation. See previous message about the reification status. It's just a way of making the metamodel more concise, since statement and triple are so close, even in the RDF spec. > 5/ The metamodel on page 35 allows subjects to be literals, and > predicates to be literals or blank nodes. (Yes this is later > removed in the text, the metamodel allows this.) > Controlling text is > http://www.w3.org/TR/rdf-concepts/#section-triples The constraint in the text should be expressed in the contraint sections, so they apply to the metamodel. > 6.1 RDF Triples > > An RDF triple contains three components: > > * the subject, which is an RDF URI reference or a blank node > * the predicate, which is an RDF URI reference > * the object, which is an RDF URI reference, a literal > or a blank > * node > An RDF triple is conventionally written in the order subject, > predicate, object. > The predicate is also known as the property of the triple. What is the effect on the metamodel? > 6/ The metamodel on page 35 does not have URI references > (URIReferenceNode), blank nodes (BlankNode), and literals > (RDFSLiteral) pairwise disjoint. (Yes, the disjointness > is clearly stated in the text, but not in the metamodel.) > Controlling text is > http://www.w3.org/TR/rdf-concepts/#section-blank-nodes This should be expressed in the constraint sections, easily done. > 6.6 Blank Nodes > The blank nodes in an RDF graph are drawn from an infinite set. This > set of blank nodes, the set of all RDF URI references and the set of > all literals are pairwise disjoint. What is the effect on the metamodel? > 7/ The metamodel on page 43 has the comment (rdfs:comment) and label > (rdfs:label) relationships 0/1 to many. The RDF recommendation > does not restrict these properties and thus allows them to be > many to many. > 8/ The metamodel on page 43 has the "range" of comments and > labels be plain literals (PlainLiteral). However the RDF > recommendation has the range of these two relationships be rdfs: > Controlling text is in http://www.w3.org/TR/rdf-mt/#RDFSINTERP > rdfs:label rdfs:range rdfs:Literal . > rdfs:label rdfs:range rdfs:Literal . Will need to defer to Elisa on this, but again the sky isn't falling. > 9/ The metamodel on page 50 has the both relationship between rdf > lists (RDFList) and their first elements and the relationship > between rdf lists (RDFList) and their tailss be 0/1 to many. > However, the RDF recommendation does not so limit lists. A list > can have multiple first elements as well as multiple tails. > The explanatory text for this is in > http://www.w3.org/TR/rdf-mt/#collections Trivial fix. > Also, RDF imposes no 'well-formedness' conditions on the use of this > vocabulary, so that it is possible to write RDF graphs which assert > the existence of highly peculiar objects such as lists with forked > or non-list tails, or multiple heads: > _:666 rdf:first <ex:aaa> . > _:666 rdf:first <ex:bbb> . > _:666 rdf:rest <ex:ccc> . > _:666 rdf:rest rdf:nil . > > It is also possible to write a set of triples which underspecify a > collection by failing to specify its rdf:rest property value. Perhaps, but do applications actually use this?
Received on Friday, 30 November 2007 18:13:15 UTC