Reasoning within Anonymous Classes

Currently I am working on moving some ontology examples from the Protege environment onto Stardog. In the process I have found that using anonymous classes to define my classes is giving me an error when I go to query for all (inferred) instances of that class. For example, if within Protege I define Class A as being equivalent to "property some Class B" and have a couple of instances which have the property property with an element of Class B when I go to query for all elements of Class A I get an error message.

More specifically I am getting an IllegalArgumentException. I am currently using SL reasoning, do I have to use DL reasoning? If I want to use both DL reasoning and SWRL/STARDOG rules for some reason how would one go about doing that?

Hi Shane,

Sorry for the delayed answer.

I suspect your issue is that owl:equivalentClasses is too strong an axiom for your need. If you simply want to infer class membership in :A based on property assertions, then it's enough to assert that p some :B subClassOf :A (I'm using some pseudo Manchester syntax but you get the idea). That wouldn't require DL profile. You can also easily write this axioms as a rule in the SRS syntax. Then querying for :A with reasoning should give back the instances.

Feel free to share your example if it doesn't work,
Pavel

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.