- From: Reto Bachmann-Gmür <reto@gmuer.ch>
- Date: Mon, 16 Jul 2007 12:44:06 +0200
- To: Tim Berners-Lee <timbl@w3.org>
- CC: Yoshio Fukushige <fukushige.yoshio@jp.panasonic.com>, semantic-web@w3.org
- Message-ID: <469B4BF6.6080608@gmuer.ch>
Tim Berners-Lee wrote: > > On 2007-07 -13, at 16:33, Reto Bachmann-Gmür wrote: > >> >> Hi Yoshio >> >> I think that an ontology can be seen as an information resource an >> thus have a derefernceable http-uri as its name (some ontolgies have >> a trailing pound sign, which may indicate that they authors consider >> an ontology as something more abstract than an information resource). > > Don't confuse the ontology d the namespace URI. The namespace uri is > a syntactic device for abbreviating the URIs in RDF syntaxes. RDF > defines the URI as the concatenation of the NS URI string and eth > local name. This means that when a namespace URI ends in a #, > > @prefix zoo: <http://ont.example.org/myOnt/example#> > > the URIS written as zoo:bear are shorthand for > <http://ont.example.org/myOnt/example#bear> > > In this case, when any term in that namepace s looked up, it is the > document <http://ont.example.org/myOnt/example> which is dereferenced. > > That resource is the ontology. It sometimes has a statement in it ike > > <> rdf:type owl:Ontology. > > ("This document has rdf:type owl:Ontology"). I was referring to the different style of URI of what is asserted to be of rdf:type owl:Ontology in different ontologies (or "in different documents describing ontologies") such as for example rdfs and owl: http://www.w3.org/2002/07/owl says that http://www.w3.org/2002/07/owl rdf:type owl:Ontology while http://www.w3.org/2000/01/rdf-schema says that http://www.w3.org/2000/01/rdf-schema# rdf:type owl:Ontology Looking at http://www.w3.org/TR/owl-ref/ for clarification on owl:Ontology, I find the following section: A document describing an ontology typically contains information about the ontology itself. An ontology is a resource, so it may be described using properties from the OWL and other namespaces, e.g.: <owl:Ontology rdf:about=""> This doesn't make it very clear if there is a difference between an ontology and the entity describing the ontology. The text and the triple can be interpreted as an owl:Ontology being a "document describing an ontology" rather than an ontology. Section 7.3 explaining owl:imports use the term "OWL ontology" to refer to a owl:Ontology as a loadable entity. So owl:Ontology = "OWL Ontology" = "document describing an ontology" reto > > >> An rdf/xml document is just one representation of an ontology, I >> would assume a URI ending with .rdf to name such a representation >> rather than the ontology itself. The ontology can savely have >> different representations targetted for humans (xhtml, pdf, etc.) or >> machines (different rdf serialization). > > It is best to always quote the URI *without* the .rdf, and allow > content negotiation to give the server the option of serving rdf/xml > or N3 or whatever comes later. > > The ".rdf" should only be used to specifically refer to the ontology > as expressed in RDF. See http://www.w3.org/DesignIssues/Generic. > >> >> If <http://ont.example.org/myOnt/example> is a owl:Class then a >> webserver would have to return a 303 response since a class is not an >> information resource. > > > In this case it isn't a class, it is an ontology. > >> An approach for your single-term ontologies would be: >> <http://ont.example.org/myOnt/example> rdf:type owl:Ontology. >> <http://ont.example.org/myOnt/example#> rdf:type owl:Class. > > It is very unwise to use a trailing hash for anything other than a > namespace URI. > It dentifieshe thing identified by the localid (emptystring) in the > document <http://ont.example.org/myOnt/example>. > > Most languages do not permit the empty string as a local identifier. > Don't do this. > Use #this for example if there is only one term in the ontology. > > >> It is however a bit unconventional to have a trailing pound-sign at >> the end of the name of a class, as this usually separates the name of >> the ontology from the local name of the term. Also this approach >> doesn't allow graphs using these ontologies to make a very effective >> use of namespaces when serialized as rdf/xml or n3. > > Exactly. > >> If your concern is that one should be able to get a description of a >> term without having to download a huge ontology I would rather use >> URIs like >> >> http://example.org/myOnt/myClass >> >> for an individual class, and configure the webserver to send a 303 >> pointing to >> >> http://example.org/myOnt/myClass-description >> >> which dereferences to some rdf containing the description of the >> class inclusing the triple >> >> <http://example.org/myOnt/myClass> rdfs:isDefinedBy >> <http://example.org/myOnt>. >> >> http://example.org/myOnt would dereference to the whole ontology but >> a typical way to retrieve the definition of a single term wouldn't >> require to download this huge thing. > > Single term ontology pattern: > > A more efficient approach is to make the URI for the class to be > > http://example.org/myOnt/Bear#class > > so obviously the ontology <http://example.org/myOnt/Bear> will have > it just the basics about bears > and closely related things. I recommend all the statements in the > larger ontology which involve zoo:Bear > except those which would be too numerous, such all known things of > type bear. > > Advantages: > > 1. You can maintain this on a web server where you can't or don't > want to manage HTTP 303 > > 2. The actual use of your ontology will be twice as fast in terms of > network round trips. > > 3. The server load will be lower. > > Disadvantage: > > 1. Doesn't serialize well in N3 and RDF/XML as one needs a namespace > URI per term. > > Tim > > >> >> reto >> >> - original message - >> Subject: Calling the rdf file an ontology? >> From: Yoshio Fukushige <fukushige.yoshio@jp.panasonic.com> >> Date: 11/07/2007 10:40 >> >> >> Hi all, >> >> I have two questions on what should be called as owl:Ontology. >> >> (1) >> Let's assume we have the following assertion: >> >> <http://ont.example.org/myOnt/example> rdf:type owl:Ontology. ...(A) >> >> Now if the vocabulary is defined in >> http://ont.example.org/myOnt/example.rdf, >> and what is retrieved by >> >> GET /myOnt/example HTTP/1.1 >> Host: ont.example.org >> Accept: application/rdf+xml >> >> is http://ont.example.org/myOnt/example.rdf, >> >> then does the following make sense and mean the same thing as (A)? >> >> <http://ont.example.org/myOnt/example.rdf> rdf:type owl:Ontology. >> ...(B) >> >> If (A) and (B) mean different things, then which should we use in >> this situation? >> >> Will the decision change if one receives its accompanying html document >> (example.html) by >> >> GET /myOnt/example HTTP/1.1 >> Host: ont.example.org >> Accept: text/html >> >> or >> >> GET /myOnt/example HTTP/1.1 >> Host: ont.example.org >> Accept: application/xhtml+xml >> >> ? >> >> (2) >> If (A) and (B) above mean different things, does the following make >> any sense? >> >> ----- >> <rdf:RDF xmlns="http://www.w3.org/2002/07/owl#" >> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> >> >> <Ontology rdf:about="http://ont.example.org/myOnt/example.rdf"/> >> >> <Class rdf:about="http://ont.example.org/myOnt/example"/> >> >> </rdf:RDF> >> ----- >> (this should be in /myOnt/example.rdf ) >> >> What I want to do is to put each terms in the vocabulary in mind >> into separate files defining only that term and name the file >> after the term name. But I want to remain in DL. >> That's why I don't write >> >> <Ontology rdf:about="http://ont.example.org/myOnt/example"/> >> >> in the example above (to separate the Class name from Ontology name). >> >> Is that so weird a practice? >> >> -- >> Yoshio Fukushige <fukushige.yoshio@jp.panasonic.com> >> Network Development Center, >> Matsushita Electric Industrial Co., Ltd. >> >> >> >> >
Received on Monday, 16 July 2007 10:25:31 UTC