- From: Leo Sauermann <leo@gnowsis.com>
- Date: Wed, 18 Jul 2007 00:04:01 +0200
- To: "" <reto@gmuer.ch>
- CC: Yoshio Fukushige <fukushige.yoshio@jp.panasonic.com>, semantic-web@w3.org, Tim Berners-Lee <timbl@w3.org>
- Message-ID: <469D3CD1.6060008@gnowsis.com>
which leads us to the relevant literature, I hope you have already pointed it out before: cool uris for the semantic web - about uris in general http://www.dfki.uni-kl.de/~sauermann/2006/11/cooluris/ Best Practice Recipes for Publishing RDF Vocabularies http://www.w3.org/TR/swbp-vocab-pub/ I assume you have read those, they go into DETAIL and they solve open questions. best Leo It was Reto Bachmann-Gmu"r <reto@gmuer.ch>" who said at the right time 17.07.2007 19:03 the following words: > Yoshio Fukushige wrote: > >> Thank you, Reto and Tim, for your advices. >> >> If I understand them correctly: >> >> (1) One can get a serialization of an ontology by dereferencing the ontology's URI, >> which is (usually?) the non-local-name part of the URI's for the terms it defines. >> >> > It is true that, one can usually get triples describing a term by > dereferencing the non-local-name part of the URI's of the term, but in > general its not required for an ontology to be a dereferenceable resource. > > I don't know if or under what conditions the graph resulting from the > dereferenciation of the URI are to be considered of type owl:Ontology. > >> (2) It is wise not to include .rdf (or any other extensions) in the URI of an ontology, >> so as to allow content negotiations. >> >> > HTTP allows content-negotiation independently of style of the URI, it's > just no longer a "cool URI". > >> So I will avoid asserting the .rdf files as ontologies. >> >> What I wanted to do was: >> >> - to put the definition of a single term into a single (rdf)file (for ease of maintenance >> and to let users to get the minimum amount of data necessary) >> >> - to ask the users to write minimum lines when they want to load the whole vocabulary >> >> - to remain in DL >> >> I came up with the following idea and would like to know how it looks to you: >> good/bad practice? good points/drawbacks? points to care? >> >> (I think I can avoid the disadvantage pointed by Tim: "one needs a namepsace URI per term") >> >> # I know the drawbacks in using slash namespaces used with PURLs... >> >> Many thanks in advance. >> >> >> > In your examples you unnecessarily declare the prefix ont and voc. > Serializations of graphs using your terms would just include the prefix > for "http://ont.example.org/myOnt/voc/", following your pattern this URI > is neither dereferenceable nor an ontology; this is of. As Tim pointed > the approach using HTTP 303 responses has disadvantages in performance > over the pattern using hashes, on the other side only the 303-approach > allows efficient use of namespaces. > >> ------------ start of my idea ----------- >> (i) >> Define each term (Class of property) in a file >> >> For an Ontology for the Bear class, >> in http://ont.example.org/myOnt/ont/Bear.rdf, >> >> ----------- >> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> xmlns:owl="http://www.w3.org/2002/07/owl#" >> xmlns:ont="http://ont.example.org/myOnt/ont/" >> xmlns:voc="http://ont.example.org/myOnt/voc/"> >> >> <owl:Ontology rdf:about="http://ont.example.org/myOnt/ont/Bear"/> >> >> <owl:Class rdf:about="http://ont.example.org/myOnt/voc/Bear"/> >> >> </rdf:RDF> >> ----------- >> >> and for an Ontology for the Donkey class, >> in http://ont.example.org/myOnt/ont/Donkey.rdf, >> >> ----------- >> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> xmlns:owl="http://www.w3.org/2002/07/owl#" >> xmlns:ont="http://ont.example.org/myOnt/ont/" >> xmlns:voc="http://ont.example.org/myOnt/voc/"> >> >> <owl:Ontology rdf:about="http://ont.example.org/myOnt/ont/Donkey"/> >> >> <owl:Class rdf:about="http://ont.example.org/myOnt/voc/Donkey"/> >> >> </rdf:RDF> >> ----------- >> >> (ii) >> Then for the whole ontology that includes all the term definitions, >> in http://ont.example.org/myOnt/ont/all.rdf >> ----------- >> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> xmlns:owl="http://www.w3.org/2002/07/owl#" >> xmlns:ont="http://ont.example.org/myOnt/ont/" >> xmlns:voc="http://ont.example.org/myOnt/voc/"> >> >> <owl:Ontology rdf:about="http://ont.example.org/myOnt/ont"> >> <owl:imports rdf:resource="http://ont.example.org/myOnt/ont/Bear"/> >> <owl:imports rdf:resource="http://ont.example.org/myOnt/ont/Donkey"/> >> </owl:Ontology> >> </rdf:RDF> >> ----------- >> >> (iii) >> Lastly, add the rewrite directives such as >> >> ---- >> RewriteBase /myOnt >> >> RewriteRule voc/(*) ont/$1.rdf >> RewriteRule ont/$ ont/all.rdf >> --- >> >> (I'm not certain about the rule grammer, though) >> >> (iv) >> When using the vocabulary, >> by declaring the common namespace for the terms, >> one doesn't need to declare each namespaces, >> like in >> ----------- >> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >> xmlns:owl="http://www.w3.org/2002/07/owl#" >> xmlns:voc="http://ont.example.org/myOnt/voc/"> >> >> <voc:Bear rdf:about="#Pooh"/> >> <voc:Donkey rdf:about="#Eeyore"/> >> >> </rdf:RDF> >> ----------- >> >> (v) >> Then by requesting, for example, >> >> GET /myOnt/Bear HTTP/1.1 >> Host: ont.example.org >> Accpet: application/rdf+xml >> >> one will get >> >> HTTP/1.x 303 See Other >> Location http://ont.example.org/myOnt/ont/Bear.rdf >> >> and then by requesting the redirected URI, one will get >> the Bear.rdf file which is the minumum ontology defining the term. >> >> On the other hand, when requesting >> >> GET /myOnt/ont HTTP/1.1 >> Host: ont.example.org >> Accept: application/rdf+xml >> >> one will get http://ont.example.org/myOnt/ont.rdf >> with the HTTP header containing >> >> HTTP/1.x 200 OK >> Content-Type: application/rdf+xml >> >> (Of course what one get is the list of importing declarations, >> and one needs to issue HTTP requests for each minimum files. >> But this time, it is the ontologies that are requested, >> so 303 round-trips won't occur) >> >> ------------ end of my idea ----------- >> >> Yoshio Fukushige >> fukushige.yoshio@jp.panasonic.com >> >> >> On Mon, 16 Jul 2007 12:44:06 +0200 >> Reto Bachmann-Gm〓 <reto@gmuer.ch> wrote: >> >> > ... >
Received on Tuesday, 17 July 2007 22:05:25 UTC