[Top] [All Lists]

Re: [ontolog-forum] Neophyte question - modelling Alpha Taxonomies in RD

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: "Danny Ayers" <danny.ayers@xxxxxxxxx>
Date: Wed, 19 Dec 2007 18:32:52 +0100
Message-id: <1f2ed5cd0712190932t15a1a15evb9a56308a836cdfe@xxxxxxxxxxxxxx>
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)

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)

<Prev in Thread] Current Thread [Next in Thread>