Quantcast

Sequences in OWL and Protege

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Sequences in OWL and Protege

Michael DeBellis-2
I'm working in a new domain where sequences are a must. In the past others have suggested the pattern where we have properties such as hasNext and inverse hasPrevious which worked at first but then I realized it breaks down if the same object is in multiple sequences which it can be. (FYI, the domain is Manufacturing and the problem is evaluating alternative process models). 

I'm using the List ontology described by Nick Drummond (if anyone wants his paper let me know). But it seems like a lot of work to set up a sequence that way every time. BTW, in case any kind soul has time to check my work here is a small example of the way I'm using it. CellProcess1 is the example list. 

My question is: do people use this a lot? Or if one has to model sequences is that the kind of thing that is often done with code via Java or some other language? Or are there other ontologies or ways to do this that I'm missing?

Also, if it is used a lot it seems to me that a nice extension to Protege would be to add syntactic sugar to using Sequences. So I could type in say [Drill, Mill, Inspect] as the value of a property with domain Sequence and automatically get a Sequence with the proper instances.  Would that be a feasible plugin to build? 

Michael


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

ExampleListOntology.owl (13K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Sequences in OWL and Protege

Aparna Lalingkar
For the sequence in OWL ontology I will give example of my previous ontology.

I had modeled the User who is interacting with sequence of problems and questions related to that problem.

I had created object properties isCurrentProblem(User, Problem) and isCurrentQuestion(User, Question)

For sequencing the Questions following was done.

I had created data type properties isFirst(Question,T/F), isLast(Question, T/F) for modeling the sequence of the question. These data type properties were of type Boolean.

I hope these examples help to visualize solution to your problem. My suggestion for you is avoid considering hasNext and hasPrevious as inverse properties of each other (if I understood the problem correctly).

Best

Aparna

On Tue, Apr 18, 2017 at 5:19 PM, Michael DeBellis <[hidden email]> wrote:
I'm working in a new domain where sequences are a must. In the past others have suggested the pattern where we have properties such as hasNext and inverse hasPrevious which worked at first but then I realized it breaks down if the same object is in multiple sequences which it can be. (FYI, the domain is Manufacturing and the problem is evaluating alternative process models). 

I'm using the List ontology described by Nick Drummond (if anyone wants his paper let me know). But it seems like a lot of work to set up a sequence that way every time. BTW, in case any kind soul has time to check my work here is a small example of the way I'm using it. CellProcess1 is the example list. 

My question is: do people use this a lot? Or if one has to model sequences is that the kind of thing that is often done with code via Java or some other language? Or are there other ontologies or ways to do this that I'm missing?

Also, if it is used a lot it seems to me that a nice extension to Protege would be to add syntactic sugar to using Sequences. So I could type in say [Drill, Mill, Inspect] as the value of a property with domain Sequence and automatically get a Sequence with the proper instances.  Would that be a feasible plugin to build? 

Michael


_______________________________________________
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
|  
Report Content as Inappropriate

Re: Sequences in OWL and Protege

Igor Toujilov-2
In reply to this post by Michael DeBellis-2

Hi Michael,

To allow for an object to be included in many lists, we might use a special property for each list. Properties can be generated automatically, for example, using the Ontology Preprocessing Language (OPPL2).

 

We desperately need this kind of lists in ontologies. But people do not use this approach because of the lack of automated tools to support this. A special plug-in or OPPL2 scripts for this would be very useful.

 

I have had a look at your example ontology, and have strong criticism to the imported Collections Ontology. For example, it does not allow a collection of collections, as “collection” is disjoint with “item”.

 

You might want to have a look at my list sum example ontology (already posted to this list many times in the past).

 

Cheers,

Igor

 
 
Sent: Tuesday, April 18, 2017 at 3:19 PM
From: "Michael DeBellis" <[hidden email]>
To: "User support for WebProtege and Protege Desktop" <[hidden email]>
Subject: [protege-user] Sequences in OWL and Protege
I'm working in a new domain where sequences are a must. In the past others have suggested the pattern where we have properties such as hasNext and inverse hasPrevious which worked at first but then I realized it breaks down if the same object is in multiple sequences which it can be. (FYI, the domain is Manufacturing and the problem is evaluating alternative process models). 
 
I'm using the List ontology described by Nick Drummond (if anyone wants his paper let me know). But it seems like a lot of work to set up a sequence that way every time. BTW, in case any kind soul has time to check my work here is a small example of the way I'm using it. CellProcess1 is the example list. 
 
My question is: do people use this a lot? Or if one has to model sequences is that the kind of thing that is often done with code via Java or some other language? Or are there other ontologies or ways to do this that I'm missing?
 
Also, if it is used a lot it seems to me that a nice extension to Protege would be to add syntactic sugar to using Sequences. So I could type in say [Drill, Mill, Inspect] as the value of a property with domain Sequence and automatically get a Sequence with the proper instances.  Would that be a feasible plugin to build? 
 
Michael
 
_______________________________________________ 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
|  
Report Content as Inappropriate

Re: Sequences in OWL and Protege

Michael DeBellis-2
Igor, thanks very much for the feedback. I agree, the List ontology seems cumbersome to me as well and I hadn't even thought of that limitation about not allowing collections of collections. I will look for your list sum ontology in previous messages. You may even have given it to me once, I know I raised a similar issue a long time ago and got some good feedback from people but I found a work around in the past that didn't require me to really deal with the true list problem but now I can't avoid it. 

Michael

On Wed, Apr 19, 2017 at 3:24 PM, Igor Toujilov <[hidden email]> wrote:

Hi Michael,

To allow for an object to be included in many lists, we might use a special property for each list. Properties can be generated automatically, for example, using the Ontology Preprocessing Language (OPPL2).

 

We desperately need this kind of lists in ontologies. But people do not use this approach because of the lack of automated tools to support this. A special plug-in or OPPL2 scripts for this would be very useful.

 

I have had a look at your example ontology, and have strong criticism to the imported Collections Ontology. For example, it does not allow a collection of collections, as “collection” is disjoint with “item”.

 

You might want to have a look at my list sum example ontology (already posted to this list many times in the past).

 

Cheers,

Igor

 
 
Sent: Tuesday, April 18, 2017 at 3:19 PM
From: "Michael DeBellis" <[hidden email]>
To: "User support for WebProtege and Protege Desktop" <[hidden email]>
Subject: [protege-user] Sequences in OWL and Protege
I'm working in a new domain where sequences are a must. In the past others have suggested the pattern where we have properties such as hasNext and inverse hasPrevious which worked at first but then I realized it breaks down if the same object is in multiple sequences which it can be. (FYI, the domain is Manufacturing and the problem is evaluating alternative process models). 
 
I'm using the List ontology described by Nick Drummond (if anyone wants his paper let me know). But it seems like a lot of work to set up a sequence that way every time. BTW, in case any kind soul has time to check my work here is a small example of the way I'm using it. CellProcess1 is the example list. 
 
My question is: do people use this a lot? Or if one has to model sequences is that the kind of thing that is often done with code via Java or some other language? Or are there other ontologies or ways to do this that I'm missing?
 
Also, if it is used a lot it seems to me that a nice extension to Protege would be to add syntactic sugar to using Sequences. So I could type in say [Drill, Mill, Inspect] as the value of a property with domain Sequence and automatically get a Sequence with the proper instances.  Would that be a feasible plugin to build? 
 
Michael
 
_______________________________________________ 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
Loading...