On 19/12/2007, Christopher Rose <chrisrose.chrisrose@xxxxxxxxx> wrote:
> Hello All,
>
> Please forgive what may be a neophyte question, and I hope I've found
> a forum where this question is relevant. (01)
I believe it's relevant, but I'd also suggest trying your question on
semantic-web@xxxxxx (02)
http://lists.w3.org/Archives/Public/semantic-web/ (03)
and /maybe/ the Healthcare & Life Sciences list: (04)
http://lists.w3.org/Archives/Public/public-semweb-lifesci/ (05)
> It's particularly a question about formulating ontologies in Owl and
> RDF. I'm modelling an actual scientific taxonomy of living creatures.
> I want to model elements at each level of the taxonomy (a.k.a. taxa)
> as Owl classes, such that restrictions on properties I place on taxa
> at higher levels of the hierarchy are passed down to lower levels.
> For instance I might have a restriction that every member of class
> Aves (which is a taxonomic class as well as on Owl Class) has wings,
> and I would expect then that a Class Strigiformes (strigiformes is the
> taxonomic order containing actual owls, the kind with wings) which I
> might later define to be subClassOf rdf:resource="#Aves" would have
> the same restriction. This seems natural, to follow the intention of
> the language, and to model the expectations that human taxonomers (or
> 'systematists') might have. (06)
Hmm, I would be very surprised if no-one hadn't already had a crack at
such an ontology. (07)
> But there is a lot of information regarding the class Aves which does
> not represent restrictions on the individuals (or subclasses) who may
> be members. Much of that information is related to the class itself -
> a reference to the relevant papers defining the class (Linnaeus,
> 1758), common names associated with it, a serial number for the
> taxonomic unit bestowed by various scientific organizations, their
> level of acceptance of that taxon, etc.
>
> But if I understand Owl syntax correctly, I cannot simply use it to say
>
> <owl:Class rdf:ID="Aves">
> <rdfs:hasaSerialNumber rdf:about="174371">
> <subclassOf rdf:resource="#Vertebrata">
> </owl:Class> (08)
Note that syntax isn't (usually) really the issue, there are various
syntaxes. But I suspect you may be right about there being a problem
here with OWL DL and treating classes as individuals (offhand I'm not
100% sure with this example, in my small experience with OWL DL it's
been the case a few times that a minor tweak in modelling has made the
stuff DL-friendly). (09)
Other possible solutions are to drop into OWL Full or use annotation
properties (which sounds like what you are already doing, in effect): (010)
http://www.w3.org/TR/owl-ref/#Header (011)
It depends largely on what you want to do with the ontology - if it's
likely to need 'serious' reasoning, then you'll probably want DL. If
you're going to have a lot of individuals and DB-style querying is
what you're after, you can ignore the constraints of OWL DL (with
SPARQL offering a query facility). (012)
One further general alternative would be to use SKOS: (013)
http://www.w3.org/2004/02/skos/ (014)
- it tends to be taxonomy-friendly. The general idea is there's a
layer of indirection between the taxonomy structure and that of RDF.
Rather than working with classes directly, you deal with concepts with
broader/narrower relationships. This is more flexible still than
using OWL Full, but again at the cost of the kinds of reasoning
available (here I wave hands vaguely). (015)
A general suggestion - get hold of Protege (ontology IDE) and/or
Pellet (DL reasoner) and have a play. (016)
Cheers,
Danny. (017)
-- (018)
http://dannyayers.com (019)
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx (020)
|