W3C home > Mailing lists > Public > public-rdf-in-xhtml-tf@w3.org > May 2008

Re: Biological Taxonomy Vocabulary 0.1

From: Richard Cyganiak <richard@cyganiak.de>
Date: Fri, 9 May 2008 13:36:57 +0100
To: Toby Inkster <tai@g5n.co.uk>, rdf-schema-dev@googlegroups.com
Message-Id: <033256CA-C146-493B-9994-E96A66169BDA@cyganiak.de>
Cc: Renato Golin <renato@ebi.ac.uk>, public-rdf-in-xhtml-tf@w3.org, Semantic Web <semantic-web@w3.org>


[CC'ing rdf-schema-dev]

This is very interesting, and it's nice to have an example of an RDF  
vocabulary that is defined using RDFa. It's obvious that a lot of work  
and care went into preparing the HTML+RDFa document. Very well done!

Some specific comments below.

1. Your RDFa contains an owl:Ontology instance. You made it a blank  
node. It should be http://purl.org/NET/biol/0.1 instead, because  
that's the URI of the ontology.

2. I think the version numbers in the URIs are a bad idea. FOAF has  
changed quite massively over the last years, and it's still at 0.1,  
because actually changing the version number would break all existing  
clients. Dan Brickley has stated that it will always remain at 0.1.  
And unlike the complex area of describing people and their social  
relationships on the ever-shifting Web, your subject matter is rather  
stable and well-defined, so version numbers seem even less useful in  
your domain. (If you should ever decide to design a completely  
different and entirely incompatible vocabulary, just call it something  
else instead of fiddling with version numbers.)

3. You should consider using hash URIs for your terms: http://purl.org/NET/biol/0.1#Taxonomy 
  instead of http://purl.org/NET/biol/0.1/Taxonomy. If you use slash  
URIs, looking up all of your 18 terms requires 38 HTTP requests,  
including all redirects. If you use hash URIs, it requires three.  
(Seriously, I question why anyone would *ever* want to use slash URIs  
for vocabulary terms. Just because DC did it wrong ten years ago and  
FOAF did it wrong eight years ago, there's no reason to repeat this  
mistake NOW. Fortunately, *all* vocabularies that have become widely  
used afterwards use hash URIs.)

4. rdfs:labels are supposed to be human-readable, so "common name"@en  
would be more appropriate than the geeky CamelCase "commonName"@en.  
Also, consider changing the label of biol:hasTaxonomy to simply  
"taxonomy"@en, because some tools will use the "is XXX of" convention  
to show inverse labels, and of course "is taxonomy of" is better than  
"is has taxonomy of".

5. In your discussion below you seem to conflate two independent  
issues: having URIs for species, and declaring classes for each  
species. The first one seems to me like a very good idea, while I  
agree that the second one is not a very good idea.

I want to be able to say in my FOAF file:

ex:Richard biol:hasTaxonomy <http://dbpedia.org/resource/Human> .

because that DBpedia resource clearly represents the species I happen  
to be a member of, and the DBpedia resource has a lot of additional  
information about the species, so why should everyone re-describe the  
species in detail when they can just link to an existing resource? I  
think in general it's a good idea to link to existing resources  
instead of creating new blank nodes like you do in your examples. So I  
think it would be a good idea to have such an example in your  
vocabulary document, where biol:hasTaxonomy is used to link to a  
species described elsewhere, e.g. in DBpedia.

6. All your examples use RDF/XML. Why no RDFa?

7. I love the "Editor: Toby Inkster, Homo Sapiens" line.

All the best,

On 9 May 2008, at 11:42, Toby Inkster wrote:

>> Have you checked OBO?
>> http://www.berkeleybop.org/ontologies/
>> Your proposition has taxonomy and stuff like it, all of that already
>> covered by most biological vocabularies.
> My aim has been somewhat different to most existing biological  
> namespaces.
> Modelled on FOAF, it aims to be small, simple and useful. Anyone  
> with even
> a moderate (high school level) level of knowledge about biology, and  
> who
> is reasonably comfortable with RDF can learn a useful subset  
> (hasTaxonomy,
> Taxonomy, name, commonName, seeAlso) in about five minutes and start  
> using
> it.
> Existing taxonomy vocabs tend to follow a theme of every species  
> requiring
> a unique identifying URI. That approach is not very scalable and  
> certainly
> not memorable. If you take a look at the FlyBase vocab, the RDF schema
> weighs in at over 3 MB - and that vocab only covers fruit flies! The  
> vocab
> I've written does not require species to have a unique URI - as a  
> result
> the entire spec (which includes a schema in RDFa) is 28 kB (or 50 kB  
> if
> you include the 22 kB RDF/XML alternative schema as well).
> But my approach is not fundamentally incompatible with most of the
> existing vocabs. They can be used in conjunction:
> <rdf:RDF
>    xmlns:owl ="http://www.w3.org/2002/07/owl#"
>    xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
>    xmlns:fb  ="&fb;"
>    xmlns:biol="&biol;">
> <!-- Here is a flybase class for a particular type of fly. -->
> <owl:Class rdf:about="&fb;FBsp_00000074">
>  <!-- Specify that all such flies have a certain taxonomy. -->
>  <rdfs:subClassOf>
>   <owl:Restriction>
>    <owl:onProperty rdf:resource="&biol;hasTaxonomy" />
>    <owl:hasValue>
>     <biol:Taxonomy>
>      <biol:name>Drosophila busckii</biol:name>
>     </biol:Taxonomy>
>    </owl:hasValue>
>   </owl:Restriction>
>  </rdfs:subClassOf>
> </owl:Class>
> <!-- Kevin is a fly. -->
> <fb:FBsp_00000074 rdf:ID="kev">
>  <foaf:name>Kevin the Fly</foaf:name>
> </fb:FBsp_00000074>
> </rdf:RDF>
> -- 
> Toby Inkster
> <mailto:mail@tobyinkster.co.uk>
> <http://tobyinkster.co.uk>
Received on Friday, 9 May 2008 12:37:44 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:50:27 UTC