TBC function "owl:Equivalentclass" doesn't infer automatically.

19 views
Skip to first unread message

Emily Zhang

unread,
Jul 30, 2020, 9:44:19 PM7/30/20
to TopBraid Suite Users

Hi there,

I am hoping to use the function “owl:equivalentclass” as part of my inference rule. However, I discovered when I defined Class A has “owl: equivalent class” Class B, TBCME doesn’t automatically inverse the relationship so that Class B has equivalent Class A, which is the way Protege works. It only shows Class A as an "incoming reference” of Class B.  Furthermore, if I define an instance under class A have the property C, it won't even appear in the "incoming reference" section of class B. 

What should I do if I want to use Class A and B interchangeably in my source code for inference? 

Thanks,

Emily

dprice

unread,
Jul 31, 2020, 5:45:58 AM7/31/20
to topbrai...@googlegroups.com
On 31 Jul 2020, at 02:44, Emily Zhang <zxy10...@gmail.com> wrote:

Hi there,

I am hoping to use the function “owl:equivalentclass” as part of my inference rule. However, I discovered when I defined Class A has “owl: equivalent class” Class B, TBCME doesn’t automatically inverse the relationship so that Class B has equivalent Class A, which is the way Protege works. It only shows Class A as an "incoming reference” of Class B. 


Protege is probably running the DL reasoner behind the scenes all the time. Composer does not do that. Best just create the relation yourself and store it. No reason to infer it since it’s in the ontology.

Furthermore, if I define an instance under class A have the property C, it won't even appear in the "incoming reference" section of class B. 



All equivalentClass inference does is add a rdf:type statements. It means all instance of A are also all instance of B and all instance of B are also instance of A. It does not change anything else.

What should I do if I want to use Class A and B interchangeably in my source code for inference? 



equivalentClass does not mean “interchangeable” and again, Composer does not run a DL engine.

Simple equilvalentClass statements are within the OWL RL profile though, so you could use the TB OWL RL profile implemented using SPIN rules to make inferences but those are "on-demand", not "all the time".

If your data is based on one ontology, I’d just make the class in that ontology a subclass of the class in the other and then simple rdfs inferencing (which Composer does run) handles your problem. That way the second ontology is more or less a “view” over the first ontology and its data.

Cheers,
David

Thanks,

Emily


--
You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to topbraid-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/2350b1c1-cb76-4437-bb12-99597b8bb06eo%40googlegroups.com.


Reply all
Reply to author
Forward
0 new messages