W3C home > Mailing lists > Public > semantic-web@w3.org > July 2007

Re: Calling the rdf file an ontology?

From: Leo Sauermann <leo@gnowsis.com>
Date: Tue, 17 Jul 2007 23:33:16 +0200
Message-ID: <469D359C.60407@gnowsis.com>
To: Reto Bachmann-Gmür <reto@gmuer.ch>
CC: Tim Berners-Lee <timbl@w3.org>, Yoshio Fukushige <fukushige.yoshio@jp.panasonic.com>, semantic-web@w3.org
nifty....! (see below)

It was Reto Bachmann-Gmür who said at the right time 16.07.2007 12:44 
the following words:
> 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"
>   

and if we use the good 'ol Tom Gruber thingy that is cited so often, 
which goes something like this:
"an ontology is a formalization of a shared understanding of a domain"
then nothing is as formal as a document which can be retrieved from a 
URI identifying it :-)

although this comment is not meant too serious, I think the semantic web 
is, after all, on a good path and we have the right tech fitting the 
right terms.

best
Leo


> 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 Tuesday, 17 July 2007 21:37:53 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 07:41:58 UTC