- From: Leo Sauermann <leo@gnowsis.com>
- Date: Tue, 17 Jul 2007 23:33:16 +0200
- 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
- Message-ID: <469D359C.60407@gnowsis.com>
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