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