W3C home > Mailing lists > Public > www-rdf-logic@w3.org > April 2004

Re: Does Euler support owl:hasValue ?

From: Jos De_Roo <jos.deroo@agfa.com>
Date: Wed, 14 Apr 2004 21:54:34 +0200
To: "Benjamin Nowack <bnowack" <bnowack@appmosphere.com>
Cc: Seth Ladd <seth@picklematrix.net>, www-rdf-logic@w3.org
Message-ID: <OFD4B91645.466FE2FE-ONC1256E76.006B2838-C1256E76.006D32E3@agfa.com>

On 2004-04-14 10:01 UTC Benjamin Nowack wrote:
> On 14.04.2004 07:52:17, Seth Ladd wrote:
>>
>> Hello,
>>
>> Forgive me if this isn't the right place to ask Euler questions, but I 
>> haven't been able to find a mailing list or contact for Euler.  If 
there 
>> is a better place, please let me know.
>>
>> I am trying to write some tests using owl:hasValue and run it through 
>> Euler.  Unfornately, I'm not having much luck.  I am trying say "any 
>> object that has a property "dc:subject" and a value of "foo" is an 
>> instance of a :Foo class".  I do it with:
>>
>> :Foo a owl:Class ;
>>      rdfs:subClassOf [ a owl:Restriction ;
>>                        owl:onProperty dc:subject ;
>>                        owl:hasValue^^xsd:string "foo" ] .
>>
>> I then give it the facts:
>>
>> :foo a owl:Thing ; dc:subject^^xsd:string "foo" .
>> dc:subject a owl:DatatypeProperty ; rdfs:range xsd:string .
>>
>> Then I ask:
>>
>> _:X a :Foo .
>>
>> But I don't get any proofs.  Of course, I could be asking the question 
>> incorrectly.  Before I go down that route, I want to see if anyone 
knows 
>> if Euler can handle the above owl:hasValue usage.
>
> hi seth,
> your class description above says that any instance of Foo will
> have at least one dc:subject value "foo". that's the other way round

that's exactly what I also thought...

> and not what you intended, I guess (i.e. there still can be non-Foo 
> individuals with a dc:subject of "foo"). Euler could (if owl stuff is
> supported) infer class membership if Foo was described as a complete
> class via an owl:equivalentClass construct:
>
> <owl:Class rdf:ID="Foo">
>    <owl:equivalentClass>
>       <owl:Restriction>
>          <owl:onProperty rdf:resource="&dc;subject"/>
>          <owl:hasValue rdf:datatype="&xsd;string">foo</owl:hasValue>
>       </owl:Restriction>
>    </owl:equivalentClass>
> </owl:Class>

quite and with the other facts it then looks like
http://eulersharp.sourceforge.net/temp/sethP.rdf
plus we assume
http://eulersharp.sourceforge.net/2003/03swap/owl-rules
http://eulersharp.sourceforge.net/2003/03swap/rdfs-rules
and then asking
http://eulersharp.sourceforge.net/temp/sethC.n3
results in
http://eulersharp.sourceforge.net/temp/sethE.n3
(i.e. some kind of Evidence/Explanation, but remark
that we internally convert an owl:equivalentClass
in a bidirectional rdfs:subClassof and that is not
shown in that explanation but is in the source code)


>> Thanks for your tips or ideas!
>> Seth
>
> hope that helps.
>
> best,
> benjamin
>
> --
> Benjamin Nowack
>
> Kruppstr. 82-100
> 45145 Essen, Germany

-- 
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Wednesday, 14 April 2004 15:59:57 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:48 GMT