- From: Matt Halstead <matt.halstead@auckland.ac.nz>
- Date: Mon, 20 Sep 2004 12:51:37 +1200
- To: David Menendez <zednenem@psualum.com>
- Cc: www-rdf-interest@w3.org, "Thomas B. Passin" <tpassin@comcast.net>
On 20/09/2004, at 12:45 PM, David Menendez wrote: > 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/> But you've used the semantics of OWL to do this, I was wondering if there is a way to do this using simply the semantics of RDF/RDF-s cheers Matt
Received on Monday, 20 September 2004 00:52:42 UTC