W3C home > Mailing lists > Public > semantic-web@w3.org > February 2009

Re: Extending RDFS, property-classes

From: Jiri Prochazka <ojirio@gmail.com>
Date: Tue, 10 Feb 2009 16:32:56 +0100
Message-ID: <49919E28.7030204@gmail.com>
To: Alan Ruttenberg <alanruttenberg@gmail.com>
CC: semantic-web@w3.org
Alan Ruttenberg wrote:
> On Tue, Feb 10, 2009 at 7:16 AM, Jiri Prochazka <ojirio@gmail.com> wrote:
>> Hi Alan,
>> I have seen that specification before, however I was unable to
>> understand almost anything from it, especially the functional syntax
>> confuses me,
> Noted. There will soon be inline translations in a variety of
> syntaxes, including turtle.
>> but from the 2nd link I understand something... and if I am
>> right, it is the mechanism for expressing information about triples,
>> however it doesn't solve the problem of being able to infer between the
>> reified class and the property...
> Could you give me an example of an inference that you would want to
> obtain - Ideally in the form of a realistic use case? I find it easier
> to evaluate the larger situation than to look so narrowly.

I would like you to translate the mapping example from my reply to Cygri
to your solution:
The vocabulary for which it is done is here:

>> If it does, it would be really helpful if you could provide the example
>> of this mapping on the tag ontology (in turtle please)...
> FYI, there is a converter between all the syntaxes (subject to usual
> caveats about being an early implementation) at
> http://owl.cs.manchester.ac.uk/converter/
> But yes, I can respond in turtle.
>> Anyway thanks to my vocabulary it should be possible to map the
>> properties reified to classes to OWL annotations...right?
> I favor an approach that does as little "mapping" as possible, instead
> using the primary vocabulary terms. In my experience its not a given
> that mapping is well understood and implementable by clients.

I am not sure if we understand each other correctly, because the
ontology draft I present is exactly about creating a mapping - a mapping
between property and class reified from it.
I would also be glad if such thing wasn't necessary, if RDF supported
statement identifiers by default.
I think OWL2 tries to fix the RDF weakness by the annotations, not to
provide the mapping. Please correct me if I am wrong.
The situation is that already some vocabularies are creating workarounds
for this weakness by reifying the properties to classes, thus the need
for such mapping ontology, having the OWL2 fix or not.

Anyway I don't see in what is the OWL2 better than normal RDF
reification vocabulary: http://www.w3.org/TR/REC-rdf-syntax/#reification

PS: The example I wanted was the mapping, but if I am right in what the
OWL2 fix is, then you could provide the example of how the tag
vocabulary should be defined with OWL2 instead. I would be very grateful
in any case.

>> As I said, I don't understand OWL2 much...
> Understood. I will try to help.
>> The purpose of this ontology is exactly what Cygri said in his reply to
>> Richard Newman:
>> "technique for mapping between those "high-detail" and "low-detail"
>> vocabularies. At the moment, we'd have to use rules for that, because
>> neither RDFS nor OWL can express that sort of mapping."
>> Kind regards,
>> Jiri Prochazka (irc Anchakor)
>> Alan Ruttenberg wrote:
>>> Hello Jiri,
>>> The OWL 2 Specification, now in last call, has extended facilities for
>>> annotation. You might want to have a look..
>>> The relevant sections are in the Syntax specification and the RDF Mapping.
>>> http://www.w3.org/TR/2008/WD-owl2-syntax-20081202/#Annotations
>>> http://www.w3.org/TR/2008/WD-owl2-mapping-to-rdf-20081202/#Translation_of_Annotations
>>> If you aren't familiar with functional syntax for OWL (it's relatively
>>> new) the thing to know is that it gives a more concise way to write
>>> OWL statements but is mapped to RDF/XML for exchange. We do intend to
>>> enhance that document so the examples are in RDF as well, but it is
>>> work in progress.
>>> Briefly the facility allows for annotation of any entity, including
>>> axioms such those a simple triple might encode - called a
>>> PropertyAssertion in the syntax document, but also ones that have a
>>> more complex RDF encoding, such as an OWL restriction or to annotate
>>> an annotation itself.
>>> Even if you are not using much OWL in your application, you could use
>>> the OWL vocabulary and mapping and vocabulary to write your
>>> annotations.
>>> Regards,
>>> Alan
>>> On Mon, Feb 9, 2009 at 3:54 PM, Jiri Prochazka <ojirio@gmail.com> wrote:
>>>> Hi,
>>>> inspired with recent discussion with Richard Newman ("RDF vocabulary
>>>> scope guidelines, promoting properties to classes  - property
>>>> identifiers") I have a suggestion to make.
>>>> RDF has no way of identifying predicate (property) uses (triples), which
>>>> only restricts information about them to:
>>>> 1) about what they state something (domain)
>>>> 2) what they state about something (range)
>>>> This is insufficient for number of uses, take for example Richards tag
>>>> ontology: http://www.holygoat.co.uk/projects/tags/
>>>> Apart from properties tag:taggedWithTag and tag:isTagOf, it defines
>>>> class tag:Tagging, which extends them (it is these properties promoted
>>>> to class), allowing more information about the relation to be expressed.
>>>> This is a good thing, but unfortunately there is no link between the
>>>> properties and the class, which makes the data tagged with the
>>>> properties and the data tagged with the class, like they each used
>>>> different non-interlinked vocabularies...
>>>> I suggest to develop an extension to the vocabulary describing
>>>> vocabularies (RDFS, OWL), so vocabulary designers could specify the link
>>>>  and inferencing engines could work with it...
>>>> The vocabulary should map the property to the property-class since the
>>>> expressiveness of the property is subset of the one of the property-class.
>>>> Basically the vocabulary draft should be:
>>>> :isPromotedProperty a rdf:Property ;
>>>>        rdfs:domain rdfs:Class ;
>>>>        rdfs:range rdf:Property .
>>>> # But also it should use it's own philosophy on itself:
>>>> :PropertyPromotion a rdfs:Class ;
>>>>        rdfs:subClassOf rdf:Property .   (really not sure here)
>>>> :promotionOf a rdf:Property ;
>>>>        rdfs:domain :PropertyPromotion ;
>>>>        rdfs:range rdf:Property .
>>>> :hasDomain a rdf:Property ;
>>>>        rdfs:subPropertyOf rdfs:domain ;   (really not sure here)
>>>>        rdfs:domain :PropertyPromotion .
>>>> :hasRange a rdf:Property ;
>>>>        rdfs:subPropertyOf rdfs:range ;   (really not sure here)
>>>>        rdfs:domain :PropertyPromotion .
>>>> # And final craziness:
>>>> :PropertyPromotion a :PropertyPromotion ;
>>>>        :promotionOf :isPromotedProperty ;
>>>>        :hasDomain rdfs:Class ;
>>>>        :hasRange rdf:Property .
>>>> :PropertyPromotion :isPromotedProperty :isPromotedProperty .
>>>> Important is that the conversion can be done both directions.
>>>> Please comment on this proposal.
>>>> If at least some people think this is a good idea, I could work on the
>>>> vocabulary and rdfs:label and rdfs:comment it and publish it, however in
>>>> corner of my mind I think it would need backing of W3C to be of any use
>>>> (as all vocabulary describing vocabularies).
>>>> Kind regards,
>>>> Jiri Prochazka

Received on Tuesday, 10 February 2009 15:35:02 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:10 UTC