You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by 朱曼 <mz...@seu.edu.cn> on 2011/04/30 07:05:48 UTC

problem on using jena to create ontology classes

Dear all,

Hi!

Currently I am using Jena to process ontology and create ontology classes.
But I confront a problem: how can I create a class which is existentially
restricted by the inverse of an existed property(hasValue inverseOf
Property)? I tried "property.getInverse()", but I get a
NullPointerException, I think that is because the inverse property doesn't
really exist in the current ontology. And I also notice there is a
createInverseFunctionalProperty method in OntModel, but how can I create an
inverse property based on an existed property, so far as the
createInverseFunctionalProperty method only have "uri" and "functional"
parameters?

Thanks very much for your time and help!

All my best!

Yours,
June

Re: problem on using jena to create ontology classes

Posted by Ian Dickinson <ia...@epimorphics.com>.
On 01/05/11 21:28, Dave Reynolds wrote:
> On Sat, 2011-04-30 at 13:05 +0800, 朱曼 wrote: 
>> Currently I am using Jena to process ontology and create ontology classes.
>> But I confront a problem: how can I create a class which is existentially
>> restricted by the inverse of an existed property(hasValue inverseOf
>> Property)? I tried "property.getInverse()", but I get a
>> NullPointerException, I think that is because the inverse property doesn't
>> really exist in the current ontology. And I also notice there is a
>> createInverseFunctionalProperty method in OntModel, but how can I create an
>> inverse property based on an existed property, so far as the
>> createInverseFunctionalProperty method only have "uri" and "functional"
>> parameters?
> 
> You want OntProperty#addInverseOf  
Or OntProperty#setInverseOf, which will replace any existing
owl:inverseOf assertions for that property.

> (not sure why it is called "add.."
> rather than "create..")
Because that call is only adding an owl:inverseOf triple, not creating
the inverse property itself. To actually create the property which is
the inverse of the property in question, June would need a separate
OntModel#createObjectProperty method call. Perhaps there could be a
shortcut method which performs both steps in one go, but currently there
isn't.

Ian


-- 
____________________________________________________________
Ian Dickinson                   Epimorphics Ltd, Bristol, UK
mailto:ian@epimorphics.com        http://www.epimorphics.com
cell: +44-7786-850536              landline: +44-1275-399069
------------------------------------------------------------
Epimorphics Ltd.  is a limited company registered in England
(no. 7016688). Registered address: Court Lodge, 105 High St,
              Portishead, Bristol BS20 6PT, UK


Re: problem on using jena to create ontology classes

Posted by Dave Reynolds <da...@gmail.com>.
On Sat, 2011-04-30 at 13:05 +0800, 朱曼 wrote: 
> Dear all,
> 
> Hi!
> 
> Currently I am using Jena to process ontology and create ontology classes.
> But I confront a problem: how can I create a class which is existentially
> restricted by the inverse of an existed property(hasValue inverseOf
> Property)? I tried "property.getInverse()", but I get a
> NullPointerException, I think that is because the inverse property doesn't
> really exist in the current ontology. And I also notice there is a
> createInverseFunctionalProperty method in OntModel, but how can I create an
> inverse property based on an existed property, so far as the
> createInverseFunctionalProperty method only have "uri" and "functional"
> parameters?

You want OntProperty#addInverseOf  (not sure why it is called "add.."
rather than "create..")

Dave