- 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