- From: David Menendez <zednenem@psualum.com>
- Date: Sun, 19 Sep 2004 20:45:28 -0400
- To: Matt Halstead <matt.halstead@auckland.ac.nz>
- Cc: "Thomas B. Passin" <tpassin@comcast.net>, www-rdf-interest@w3.org
Matt Halstead writes: > > >> <?xml version="1.0" encoding="UTF-8"?> > >> <rdf:RDF xmlns:bibterm="http://www.book-stuff.com/terms/" > >> xmlns:dc="http://purl.org/dc/elements/1.0/" > >> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> > >> <bibterm:Bib> > >> <bibterm:book rdf:parseType="Resource"> > >> <bibterm:year>1994</bibterm:year> > >> <dc:title>TCP/IP Illustrated</dc:title> > >> </bibterm:book> > >> <bibterm:book rdf:parseType="Resource"> > >> <bibterm:year>1992</bibterm:year> > >> <dc:title>Advanced Programming in the Unix > >> environment</dc:title> > >> </bibterm:book> > >> </bibterm:Bib> > >> </rdf:RDF> > > > This is a good example of something I have wondered about. If in fact > one wanted to create an RDF schema to describe such a structure, then > it would be nice to be able to describe that the range of bibterm:book > is any resource that has the properties bibterm:year and dc:title. Is > it possible to do this without making a class to represent that, or > using the syntax and semantics of OWL? I.e. is it possible in plain > RDF/RDF-S to say that the properties of bibterm:year and bibterm:title > are sufficient for a resource to be a valid instance? if not, then > perhaps it is worth considering a non-anoymous resource for this > relationship so that one can still define the architecture of the > bibterm:book property in RDF/RDF-S semantics. Anonymous classes are fine. It's anonymous Properties that aren't allowed. Aside from that, there's no significant difference between an blank node and a URI-labeled node. I think what you're saying can be represented like this (in the Turtle syntax for RDF): bibterm:book a owl:ObjectProperty ; rdfs:range [ a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty bibterm:year ; owl:minCardinality 1 ] ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty dc:title ; owl:minCardinality 1 ] ] . This says that the range of bibterm:book is a class whose instances have at least one value for bibterm:year and dc:title. In this example, though, I can't think of a reason not to just declare the range of bibterm:book to be bibterm:Book or something. -- David Menendez <zednenem@psualum.com> <http://www.eyrie.org/~zednenem/>
Received on Monday, 20 September 2004 00:48:31 UTC