Re: Correct Usage of rdfs:idDefinedBy in Vocabulary Specifications with a Hash-based URI Pattern

Just to be clear, what should I be doing for my *txn* vocab?
 http://lod.taxonconcept.org/ontology/txn.owl

* The code below is partly the way it is because of how Protege seems to
want it.

<rdf:RDF xmlns="&ontology2;txn.owl#"
     xml:base="&ontology2;txn.owl"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:ns="http://purl.org/NET/biol/ns#"
     xmlns:foaf="http://xmlns.com/foaf/0.1/"
     xmlns:terms="http://rs.tdwg.org/dwc/terms/"
     xmlns:wo="http://purl.org/ontology/wo/"
     xmlns:void="http://rdfs.org/ns/void#"
     xmlns:ontology="http://www.geonames.org/ontology#"
     xmlns:ontology2="http://lod.taxonconcept.org/ontology/">


<owl:ObjectProperty rdf:about="&ontology2;txn.owl#isExpectedIn">
        <rdfs:label>isExpectedIn</rdfs:label>
        <rdfs:comment>This is....
        </rdfs:comment>
        <rdfs:isDefinedBy rdf:resource="&ontology2;txn.owl"/>
        <owl:inverseOf rdf:resource="&ontology2;txn.owl#hasExpectationOf"/>
</owl:ObjectProperty>

This would mean that I currently use the following

*<rdfs:isDefinedBy rdf:resource="**http://lod.taxonconcept.org/ontology/**
txn.owl"/>*
*
*
instead of
*
*
*<rdfs:isDefinedBy rdf:resource="http://lod.taxonconcept.org/ontology/
txn.owl#"/>*

To do this, I have to define an individual in Protege => *"**
http://lod.taxonconcept.org/ontology/**txn.owl"*
*
*
Protege did not seem to like the hash form for an individual.

This is also how I did it for the dwc_area.owl vocab
http://lod.taxonconcept.org/ontology/dwc_area.owl

Thanks!

- Pete


On Thu, Sep 30, 2010 at 7:49 AM, Martin Hepp <
martin.hepp@ebusiness-unibw.org> wrote:

> Hi Kingsley,
> Thanks - that is what I had assumed.
>
> Note, however, the majority of the Web vocabularies use the same URI for
> the entity name reference and the descriptor reference, see the link
> provided by Michael Hausenblas:
>
>
>        http://code.google.com/p/void-impl/issues/detail?id=45
>
> and in particular the little survey by Richard Cyganiak posted on that
> page.
>
> I personally would argue that in the case of ontologies / vocabularies, the
> conceptual difference between the entity and the descriptor is a lot less
> significant than when it comes to data, since an ontology is, by definition,
> a specification, i.e. a document.
>
> So both patterns should work in practice, as long as the URI for the
> owl:Ontology instance is the same as the URI used in conjunction with
> rdfs:isDefinedBy.
>
> Martin
>
>
>
>
>
> On 30.09.2010, at 12:59, Kingsley Idehen wrote:
>
>  On 9/30/10 3:06 AM, Martin Hepp wrote:
>>
>>> Dear all:
>>>
>>> We use rdfs:isDefinedBy in all of our vocabularies (*) for linking
>>> between the conceptual elements and their specification.
>>>
>>> Now, there is a subtle question:
>>>
>>> Let's assume we have an ontology with the main URI
>>>
>>>   http://purl.org/vso/ns
>>>
>>> All conceptual elements are defined as hash fragment URIs (URI
>>> references), e.g.
>>>
>>>   http://purl.org/vso/ns#Bike
>>>
>>> The ontology itself (the instance of owl:Ontology) has the URI
>>>
>>>   http://purl.org/vso/ns#
>>>
>>> <http://purl.org/vso/ns#>  a owl:Ontology ;
>>>   owl:imports <http://purl.org/goodrelations/v1> ;
>>>   dc:title "VSO: The Vehicle Sales Ontology for Semantic Web-based
>>> E-Commerce"@en .
>>>
>>> So we have two URIs for the ontology:
>>>
>>> 1. http://purl.org/vso/ns# for the ontology as an abstract artefact
>>> 2. http://purl.org/vso/ns for the syntactical representation of the
>>> ontology (its serialization)
>>>
>>
>> Yes, you have two HTTP URIs associated with the Ontology. One is the
>> "Name" of the Ontology Entity (Thing) and the other is the "Address" (URL)
>> of the Ontology Descriptor Resource. Thus:
>>
>> 1. http://purl.org/vso/ns# -- Entity Name Reference
>> 2. http://purl.org/vso/ns -- Descriptor Resource Address Reference .
>>
>>
>>> Shall the rdfs:isDefinedBy statements refer to #1 or #2 ?
>>>
>>> #1
>>> vso:Vehicle a owl:Class ;
>>>   rdfs:subClassOf gr:ProductOrService ;
>>>   rdfs:label "Vehicle (gr:ProductOrService)"@en ;
>>>   rdfs:isDefinedBy <http://purl.org/vso/ns#> . <===========
>>>
>>> #2
>>> vso:Vehicle a owl:Class ;
>>>   rdfs:subClassOf gr:ProductOrService ;
>>>   rdfs:label "Vehicle (gr:ProductOrService)"@en ;
>>>   rdfs:isDefinedBy <http://purl.org/vso/ns> . <===========
>>>
>>>
>>> I had assumed they shall refer to #1, but that caused some debate within
>>> our group ;-)
>>>
>>
>> You refer to Entities (Things) by Name Reference for Linked Data to work
>> i.e. Names resolve to Descriptor Resources which may be serialized from
>> Linked Data Server to User Agent using a variety of data formats such as:
>> HTML+RDFa, RDF/XML, N3/Turtle, N-Triples, TriX etc..
>>
>>>
>>> Opinions?
>>>
>>
>> Also cc'd in the pedantic web folks for comments :-)
>>
>>
>>> Best
>>>
>>> Martin
>>>
>>>
>>>
>>>
>>
>> --
>>
>> Regards,
>>
>> Kingsley Idehen
>> President&  CEO
>> OpenLink Software
>> Web: http://www.openlinksw.com
>> Weblog: http://www.openlinksw.com/blog/~kidehen
>> Twitter/Identi.ca: kidehen
>>
>>
>>
>>
>>
>>
>>
>
>


-- 
----------------------------------------------------------------
Pete DeVries
Department of Entomology
University of Wisconsin - Madison
445 Russell Laboratories
1630 Linden Drive
Madison, WI 53706
TaxonConcept Knowledge Base <http://www.taxonconcept.org/> / GeoSpecies
Knowledge Base <http://lod.geospecies.org/>
About the GeoSpecies Knowledge Base <http://about.geospecies.org/>
------------------------------------------------------------

Received on Sunday, 17 October 2010 18:48:41 UTC