You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Luigi Selmi <se...@hotmail.com> on 2011/10/18 15:39:48 UTC

infer an object property from two datatype properties‏

Hi all,

I have two data type properties and one object property defined in my ontology: hasBirthCityToponym, hasToponym, hasBirthCity respectively. I have some instances and the assertions:

<person_1> :hasBirthCityToponym "London" .
<city_1> :hasToponym "London" .

>From these two I would like the following binary relation to be inferred:

<person_1> :hasBirthCity <city_1> .


I know that these can be inferred using a simple SPARQL CONSTRUCT query or using some other rule language (Jena Rule, SWRL) but I would like to know whether it is possibile to obtain the same inference using OWL.


Thanks in advance


Luigi Selmi


"It is easy to be certain. One only has to be sufficiently vague" - C.S. Peirce
















_______________________________ 





Luigi Selmi





addr.: 12 P.zza Roselle 00179 Rome, Italy 





skype: luigiselmi 






ShareSemantics






 		 	   		  

Re: infer an object property from two datatypeproperties‏

Posted by Dave Reynolds <da...@gmail.com>.
On Tue, 2011-10-18 at 15:39 +0200, Luigi Selmi wrote: 
> Hi all,
> 
> I have two data type properties and one object property defined in my ontology: hasBirthCityToponym, hasToponym, hasBirthCity respectively. I have some instances and the assertions:
> 
> <person_1> :hasBirthCityToponym "London" .
> <city_1> :hasToponym "London" .
> 
> From these two I would like the following binary relation to be inferred:
> 
> <person_1> :hasBirthCity <city_1> .
> 
> 
> I know that these can be inferred using a simple SPARQL CONSTRUCT query or using some other rule language (Jena Rule, SWRL) but I would like to know whether it is possibile to obtain the same inference using OWL.

In OWL 2 (which Jena doesn't support) there is a notion of property
chains which comes close. You could almost say:

    SubPropertyOf( 
       ObjectPropertyChain(
           :hasBirthCityToponym 
            ObjectInverseOf(:hasToponym) ), 
       :hasBirthCity )

except that your properties aren't Object Properties. If you were able
to change your modelling so that the toponyms were represented by
resources (e.g. SKOS:Concepts with skos:preflabel to denote the label)
then this should work.

There may be some indirect way of using OWL 2 to achieve this or it may
be that OWL 2 with RDF semantics (i.e. OWL 2 analogue of OWL Full) would
simply work anyway if you can find a reasoner for that.

Try asking on the owl-dev list.

Dave