-
Notifications
You must be signed in to change notification settings - Fork 314
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Getting ranges of object property using Hermit Reasoner 1.4.1.513 fails #789
Comments
Hi, can you add the ontology snippet that shows the declaration of |
No description provided. |
That's where the problem is. The range is an anonymous expression, but the reasoner cannot return non named expressions as results of its operations (this is part of the design of |
note also that |
The anonymous expressions were generated when i tried to infer the ontology file using OWLReasoner, After all inferencing, the saved inferred ontology file has all tautologies and anonymous expressions,
|
There's a bug in HermiT about inverses - declaring an inverse with an anonymous expression, such as Note that feeding the inferred axioms back in is not a very common practice and it doesn't work well with many reasoners. You end up doing the reasoning twice. See #786 for another discussion where similar issues were mentioned. |
Ok, will check the other thread...
Thanks much for all the support
…On Sat 22 Sep, 2018, 2:42 AM Ignazio Palmisano, ***@***.***> wrote:
There's a bug in HermiT about inverses - declaring an inverse with an
anonymous expression, such as x inverseOf inverse(x) causes incorrect
inferences. In this case, you're feeding the HermiT output back in, so
these axioms are very common. I would avoid using
InferredInverseObjectPropertiesAxiomGenerator while the bug gets sorted
out. Very little of use is generated from that anyway.
Note that feeding the inferred axioms back in is not a very common
practice and it doesn't work well with many reasoners. You end up doing the
reasoning twice. See #786 <#786>
for another discussion where similar issues were mentioned.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#789 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AYvmOhV9Rt27PIwZJK8hF6jVQFRR4p4nks5udVZKgaJpZM4WquC_>
.
|
Bug fixed in HermiT, will be available in the next release |
Hello,
Have used the following code to get object property ranges,
for(String eachProp: propertyNames)
{
int instancesWithValueForProp = 0;
int[] NumberOfInstancesWithValueForPropForEachClass = new int[numOfClasses];
OWLObjectProperty prop = dataFactory.getOWLObjectProperty(IRI.create(base+eachProp));
Set subProperties = reasoner.getSubObjectProperties(prop).getFlattened();
System.out.println("For Property : "+prop);
for(int index = 0; index < setOfInstancesOfEachClass.size(); index++)
{
Set instancesOfClass = setOfInstancesOfEachClass.get(index);
for(OWLNamedIndividual indiv: instancesOfClass)
{
OWLClass classOfThisInstance = namesOfClasses.get(index);
System.out.println("Individual "+indiv+ " Class "+classOfThisInstance);
Set objectPropertyRanges = reasoner.getObjectPropertyRanges(prop).getFlattened();
for(OWLClass eachRangeClass : objectPropertyRanges)
{
System.out.println("Property "+prop + " Range "+eachRangeClass);
}
}
}
For property hasCast,
The domain is : Movie
The range is: allValuesFrom Cast
But, the result is:
Property http://www.semanticweb.org/drkm/ontologies/2018/5/untitled-ontology-42#hasCast Range owl:Thing
Kindly help,
The text was updated successfully, but these errors were encountered: