- 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
- Cc: Renato Golin <renato@ebi.ac.uk>, public-rdf-in-xhtml-tf@w3.org, Semantic Web <semantic-web@w3.org>
Toby, [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, Richard 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:37 UTC