Re: Calling the rdf file an ontology?

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