- 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