- From: Dan Brickley <danbri@danbri.org>
- Date: Sun, 17 Sep 2006 10:03:16 +0100
- To: Xiaoshu Wang <wangxiao@musc.edu>
- Cc: public-semweb-lifesci@w3.org
Xiaoshu Wang wrote: >>> IMHO, inadequate separation of ontology's domain will have some >>> serious side effects in the long run. Aside from wasted >> bandwidth and >>> computation to handle the unnecessary statement, but when more >>> ontologies are shared, the chance for incur conflict will >> increase and >>> makes the sharing ontology impossible. >> In my opinion, we should stop to care too much about single, >> delimited ontologies. When I want to reuse some parts of FOAF >> while leaving out the ridiculous parts ('geekcodes', >> 'dna-checksums' and other jokes), I would simply extract the >> classes and properties that I need and add them to my >> ontology / software. As I see it, all of these statements >> should be seen as a global graph of RDF nodes and arcs. How >> these are represented locally inside .rdf /.owl files or >> through SPARQL endpoints is secondary. > > I wish it could be that simple when you handle the task to machine. Show me > how you can only import the foaf:Person without fetching the foaf:geekcodes > as well? You might for example use SPARQL to take a subset. There are already inline annotations indicating property and class (im)maturity levels. PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> SELECT * WHERE { ?term a rdfs:Class ; rdfs:label ?label ; rdfs:comment ?comment ; vs:term_status "stable" } ORDER BY ?label # eg http://librdf.org/query?uri=http%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2Findex.rdf&query=PREFIX+rdf%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0D%0APREFIX+rdfs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E%0D%0APREFIX+vs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F06%2Fsw-vocab-status%2Fns%23%3E%0D%0ASELECT+*%0D%0AWHERE+%7B%0D%0A%3Fterm+a+rdfs%3AClass+%3B+rdfs%3Alabel+%3Flabel+%3B+%0D%0A++++++rdfs%3Acomment+%3Fcomment+%3B+vs%3Aterm_status+%22stable%22+%0D%0A%0D%0A%7D%0D%0AORDER+BY+%3Flabel%0D%0A&language=sparql&Run+Query=Run+Query&.cgifields=language&.cgifields=json&.cgifields=raw similarly for properties, PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> SELECT DISTINCT ?status ?name ?x WHERE { ?x a rdf:Property . ?x rdfs:label ?name . ?x vs:term_status ?status . } ORDER BY ?status # eg http://librdf.org/query?uri=http%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2Findex.rdf&query=PREFIX+rdf%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0D%0APREFIX+rdfs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+vs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2003%2F06%2Fsw-vocab-status%2Fns%23%3E%0D%0ASELECT+DISTINCT+%3Fstatus+%3Fname+%3Fx+WHERE+%0D%0A%7B%0D%0A+%3Fx+a+rdf%3AProperty+.%0D%0A+%3Fx+rdfs%3Alabel+%3Fname+.%0D%0A+%3Fx+vs%3Aterm_status+%3Fstatus+.%0D%0A%7D%0D%0AORDER+BY+%3Fstatus+&language=sparql&Run+Query=Run+Query&.cgifields=language&.cgifields=json&.cgifields=raw Regarding fitness for semweb-lifesci purposes, my take is that FOAF should be something that is useful for describing the members of the community and (at a high level, alongside of course Dublin Core, SKOS thesauri, and specialist vocabularies/ontologies) their professional activities and collaborative outputs - weblogs, online presentations, publications etc. If it needs to change to achieve this, we'll look at that. Its usage within scientific and professional datasets directly is something else. I would not expect to see the FOAF namespace directly used, for example, in clinical trials data. I wouldn't expect to see vCard either. In such contexts it often makes sense to define one's own vocabulary, even if it involves duplicating common namespaces (Dublin Core, FOAF/vCard), to keep some local control and predictability. It might be that someone writes OWL mappings (sameAs / subclass etc) to link together different but essentially identical notions of 'Person'. Whether such assertions are actually made within the documents found at the relevant namespace URIs is again a separate set of decisions. You ask some good questions. To those we might add: what is the exposure/risk, if the server hosting a popular namespace is compromised? Are we expecting semweb-lifesci systems to be consuming published RDFS/OWL at runtime? without checking that the ontology's RDF/XML expresssion hasn't been maliciously changed? cheers, Dan
Received on Sunday, 17 September 2006 09:01:06 UTC