Protege tool inquiry: individual class membership check

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Protege tool inquiry: individual class membership check

Megan Katsumi
Hello,
I am wondering if anyone knows of any tools available for Protege that support the following type of functionality:
Given: 
-a (classified) ontology, O
-a new individual, x, (with some asserted properties)
- a class, C, from O
Return: 
-is individual x a member of class C according to O?

Is there any way to do this apart from adding the individual to the ontology in protege, synchronizing the reasoner, and checking the inferred class membership?

Any pointers would be greatly appreciated. Thanks!

Megan


--
Megan Katsumi, PhD, MASc
Postdoctoral Fellow
University of Toronto

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Protege tool inquiry: individual class membership check

Ghislain ATEMEZING
Hello Megan,
[I'm not sure to understand your question].

But, what about using the DL Query Tab? [1]

HTH
Best,

On Wed, Jan 15, 2020 at 5:02 PM Megan Katsumi <[hidden email]> wrote:
Hello,
I am wondering if anyone knows of any tools available for Protege that support the following type of functionality:
Given: 
-a (classified) ontology, O
-a new individual, x, (with some asserted properties)
- a class, C, from O
Return: 
-is individual x a member of class C according to O?

Is there any way to do this apart from adding the individual to the ontology in protege, synchronizing the reasoner, and checking the inferred class membership?

Any pointers would be greatly appreciated. Thanks!

Megan


--
Megan Katsumi, PhD, MASc
Postdoctoral Fellow
University of Toronto
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


--

"Love all, trust a few, do wrong to none" (W. Shakespeare)


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Protege tool inquiry: individual class membership check

Mark Fox
In reply to this post by Megan Katsumi
You need to clarify that you need a Python function that:

1. takes as parameters an instance and a class (represented as OWL/RDF triples in Pythons RDFLib, or in OWLReady2)
2. Determines if the instance is a member of the class
3. Does not use a general reasoner such as Hermit or Pellet

On Jan 15, 2020, at 11:01 AM, Megan Katsumi <[hidden email]> wrote:

Hello,
I am wondering if anyone knows of any tools available for Protege that support the following type of functionality:
Given: 
-a (classified) ontology, O
-a new individual, x, (with some asserted properties)
- a class, C, from O
Return: 
-is individual x a member of class C according to O?

Is there any way to do this apart from adding the individual to the ontology in protege, synchronizing the reasoner, and checking the inferred class membership?

Any pointers would be greatly appreciated. Thanks!

Megan


--
Megan Katsumi, PhD, MASc
Postdoctoral Fellow
University of Toronto
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Protege tool inquiry: individual class membership check

Megan Katsumi
In reply to this post by Megan Katsumi
Hi Ghislain,
Yes, I understand that this could be accomplished with the DL Query Tab. I'm wondering if there is some tool available that could (at least partially) accomplish this task given some description of an individual, without invoking a DL reasoner. Any thoughts on this?

Thanks,
Megan

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Protege tool inquiry: individual class membership check

Michael DeBellis-2
In reply to this post by Ghislain ATEMEZING
I'm a bit unclear as to why you want to do this so this may not be relevant but just to elaborate on what Ghislain said here is a simple example that I think might show how to use the DL query tab to do what you want. I've attached a small example ontology of Cars and Parts. There is a defined class called CarWithMoreThanTwoParts. Suppose I have an instance that hasPart Engine1 and hasPart Tire12 and hasPart Tire13 and I want to know what classes (if any besides owl:Thing) it would be an instance of. I could do the DL Query:

hasPart value Engine1 and hasPart value Tire12 and hasPart value Tire13

In the query results if I check the Superclasses box this DL query will show Car and   CarWithMoreThanTwoParts as superclasses letting me know that an instance with those values would be an instance of those classes. If you wanted just the direct superclasses you could check the Direct Superclasses box and you would just get  CarWithMoreThanTwoParts. So essentially create a query with all the property values of the instance as and/value statements and see which classes are returned as direct superclasses and that should tell you what classes the object would be an instance of if you added it to the ontology.

On Wed, Jan 15, 2020 at 10:25 AM Ghislain ATEMEZING <[hidden email]> wrote:
Hello Megan,
[I'm not sure to understand your question].

But, what about using the DL Query Tab? [1]

HTH
Best,

On Wed, Jan 15, 2020 at 5:02 PM Megan Katsumi <[hidden email]> wrote:
Hello,
I am wondering if anyone knows of any tools available for Protege that support the following type of functionality:
Given: 
-a (classified) ontology, O
-a new individual, x, (with some asserted properties)
- a class, C, from O
Return: 
-is individual x a member of class C according to O?

Is there any way to do this apart from adding the individual to the ontology in protege, synchronizing the reasoner, and checking the inferred class membership?

Any pointers would be greatly appreciated. Thanks!

Megan


--
Megan Katsumi, PhD, MASc
Postdoctoral Fellow
University of Toronto
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


--

"Love all, trust a few, do wrong to none" (W. Shakespeare)

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

CarExample1.owl (68K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Protege tool inquiry: individual class membership check

samsontu
In reply to this post by Megan Katsumi


On Jan 15, 2020, at 1:31 PM, Megan Katsumi <[hidden email]> wrote:

Hi Ghislain,
Yes, I understand that this could be accomplished with the DL Query Tab. I'm wondering if there is some tool available that could (at least partially) accomplish this task given some description of an individual, without invoking a DL reasoner. Any thoughts on this?

Inferring class membership of individuals based on descriptions of the individuals is a core task of a DL reasoner. Any tool that performs this task is a DL reasoner. 

With best regards,
Samson



_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

smime.p7s (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Protege tool inquiry: individual class membership check

Megan Katsumi
Thank you Samson and Michael for your responses. Apologies, I misspoke. Rather than "without invoking a DL reasoner", what I meant to say was "without invoking the DL reasoners on the entire ontology", i.e. as is done through the reasoner functionality directly provided by Protege. 
Is anyone aware of any tool support capable of checking class membership for some individual description, without classifying the entire ontology? Implicitly, this might require the generation of a safe module of the ontology, with respect to the terms used in the description - maybe something similar to what is done by the Ontofox tool? In any case, the motivation for this request is to avoid classifying very large ontologies in order to check membership of a single class.

Kind regards,
Megan

On Wed, Jan 15, 2020 at 6:13 PM Samson Tu <[hidden email]> wrote:


On Jan 15, 2020, at 1:31 PM, Megan Katsumi <[hidden email]> wrote:

Hi Ghislain,
Yes, I understand that this could be accomplished with the DL Query Tab. I'm wondering if there is some tool available that could (at least partially) accomplish this task given some description of an individual, without invoking a DL reasoner. Any thoughts on this?

Inferring class membership of individuals based on descriptions of the individuals is a core task of a DL reasoner. Any tool that performs this task is a DL reasoner. 

With best regards,
Samson


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


--
Megan Katsumi, PhD, MASc
Postdoctoral Fellow
University of Toronto

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Protege tool inquiry: individual class membership check

Michael DeBellis-2
Megan, thanks for the explanation, that makes more sense now, I see what you are trying to do. As far as I know there are no such tools. The only thing I can think of, and you have probably already considered this, is you can divide your big ontology into several smaller ontologies and then use imports when you want to get the entire ontology. That way you could run the reasoner on a specific individual ontology rather than on the entire large one. Of course at some point, unless you are willing to risk your entire ontology being inconsistent or not having all logical inferences, you would still want to run the reasoner on the large ontology with all the imports since (for example) two ontologies might be completely consistent on their own but when you import one into the other there might be axioms in one that cause the other to be inconsistent or just change the inferred ontology. 

On Thu, Jan 16, 2020 at 4:25 AM Megan Katsumi <[hidden email]> wrote:
Thank you Samson and Michael for your responses. Apologies, I misspoke. Rather than "without invoking a DL reasoner", what I meant to say was "without invoking the DL reasoners on the entire ontology", i.e. as is done through the reasoner functionality directly provided by Protege. 
Is anyone aware of any tool support capable of checking class membership for some individual description, without classifying the entire ontology? Implicitly, this might require the generation of a safe module of the ontology, with respect to the terms used in the description - maybe something similar to what is done by the Ontofox tool? In any case, the motivation for this request is to avoid classifying very large ontologies in order to check membership of a single class.

Kind regards,
Megan

On Wed, Jan 15, 2020 at 6:13 PM Samson Tu <[hidden email]> wrote:


On Jan 15, 2020, at 1:31 PM, Megan Katsumi <[hidden email]> wrote:

Hi Ghislain,
Yes, I understand that this could be accomplished with the DL Query Tab. I'm wondering if there is some tool available that could (at least partially) accomplish this task given some description of an individual, without invoking a DL reasoner. Any thoughts on this?

Inferring class membership of individuals based on descriptions of the individuals is a core task of a DL reasoner. Any tool that performs this task is a DL reasoner. 

With best regards,
Samson


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


--
Megan Katsumi, PhD, MASc
Postdoctoral Fellow
University of Toronto
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Protege tool inquiry: individual class membership check

samsontu
There is a version of Pellet (incremental) that’s supposed to do incremental reasoning. I haven’t explored its capabilities. According to [1]:

Incremental Classification CEL, Pellet and Snorocket support incremental reasoning. CEL and Snorocketboth have a partial incremental classification function-ality that only supports additions. Pellet supports incremental classification and incremental consistency checking. Pellet’s incremental classification is based on module extraction: The first time an ontology is classified, Pellet computes modules for each concept. A module is a subset of an ontology which captures“everything” an ontology has to say about a particularsub-signature of the ontology [8]. By current methods, modules contain all justifications for all entailments expressible in their signature [8]. When the concept hi-erarchy of the ontology is changed, Pellet reclassifiesonly the affected module. Pellet’s incremental reason-ing supports axiom addition and removal [39].

I am not sure "Pellet’s incremental classification” mentioned in the quote  includes class-membership inferences. I’d suggest that you experiment with the Pellet (incremental) and report back your experience.

With best regards,
Samson

[39] B. Parsia, C. Halaschek-Wiener, and E. Sirin. Towards Incremental Reasoning Through Updates in OWL-DL. In Reason-ing on the Web, 2006

On Jan 16, 2020, at 6:40 AM, Michael DeBellis <[hidden email]> wrote:

Megan, thanks for the explanation, that makes more sense now, I see what you are trying to do. As far as I know there are no such tools. The only thing I can think of, and you have probably already considered this, is you can divide your big ontology into several smaller ontologies and then use imports when you want to get the entire ontology. That way you could run the reasoner on a specific individual ontology rather than on the entire large one. Of course at some point, unless you are willing to risk your entire ontology being inconsistent or not having all logical inferences, you would still want to run the reasoner on the large ontology with all the imports since (for example) two ontologies might be completely consistent on their own but when you import one into the other there might be axioms in one that cause the other to be inconsistent or just change the inferred ontology. 

On Thu, Jan 16, 2020 at 4:25 AM Megan Katsumi <[hidden email]> wrote:
Thank you Samson and Michael for your responses. Apologies, I misspoke. Rather than "without invoking a DL reasoner", what I meant to say was "without invoking the DL reasoners on the entire ontology", i.e. as is done through the reasoner functionality directly provided by Protege. 
Is anyone aware of any tool support capable of checking class membership for some individual description, without classifying the entire ontology? Implicitly, this might require the generation of a safe module of the ontology, with respect to the terms used in the description - maybe something similar to what is done by the Ontofox tool? In any case, the motivation for this request is to avoid classifying very large ontologies in order to check membership of a single class.

Kind regards,
Megan

On Wed, Jan 15, 2020 at 6:13 PM Samson Tu <[hidden email]> wrote:


On Jan 15, 2020, at 1:31 PM, Megan Katsumi <[hidden email]> wrote:

Hi Ghislain,
Yes, I understand that this could be accomplished with the DL Query Tab. I'm wondering if there is some tool available that could (at least partially) accomplish this task given some description of an individual, without invoking a DL reasoner. Any thoughts on this?

Inferring class membership of individuals based on descriptions of the individuals is a core task of a DL reasoner. Any tool that performs this task is a DL reasoner. 

With best regards,
Samson


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


--
Megan Katsumi, PhD, MASc
Postdoctoral Fellow
University of Toronto
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user


_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user

smime.p7s (1K) Download Attachment