|
|
|
Graham Matthews
|
Some javascript/style in this post has been disabled (why?)
This is really an OWL question, rather than a Protege OWL question, but ...I have one ontology O1 with a declaration that property P has domain A union B. I have another ontology O2 with a declaration that property P has domain C. I import O2 into O1. What happens to the domain of P? I ask this because I want to end up with the domain of P being A union B union C. But I don't think is what happens. The genesis for this is that I am trying to figure out from an ontology which classes intersect the domain of a property. If I have domain declarations this can be done. Without such declarations I keep running into the problem that for an class, C, "C intersect (domain of P)" non empty will almost certainly be unprovable (i.e. not follow from the axioms of the ontology), and hence the open world assumption implies that the reasoner should assume it is non empty. thanks graham _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
|
Thomas Schneider-5
|
Hi Graham,
On 12 Nov 2009, at 00:53, Graham Matthews wrote: > This is really an OWL question, rather than a Protege OWL question, > but ... > > I have one ontology O1 with a declaration that property P has domain > A union B. > > I have another ontology O2 with a declaration that property P has > domain C. > > I import O2 into O1. What happens to the domain of P? * Every individual that has some P-value is of type "A union B". * Every individual that has some P-value is of type C. Together, these two statements imply that every individual that has some P-value is of type "(A union B)" and of type C. They therefore imply that P has domain "(A union B) intersection C". > I ask this because I want to end up with the domain of P being A > union B union C. But I don't think is what happens. Then you will have to state this explicitly. Cheers Thomas > The genesis for this is that I am trying to figure out from an > ontology which classes intersect the domain of a property. If I have > domain declarations this can be done. Without such declarations I > keep running into the problem that for an class, C, "C intersect > (domain of P)" non empty will almost certainly be unprovable (i.e. > not follow from the axioms of the ontology), and hence the open > world assumption implies that the reasoner should assume it is non > empty. > > thanks > graham > > > _______________________________________________ > protege-owl mailing list > [hidden email] > https://mailman.stanford.edu/mailman/listinfo/protege-owl > > Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 | Dr Thomas Schneider schneider (at) cs.man.ac.uk | | School of Computer Science http://www.cs.man.ac.uk/~schneidt | | Kilburn Building, Room 2.114 phone +44 161 2756136 | | University of Manchester | | Oxford Road _///_ | | Manchester M13 9PL (o~o) | +-----------------------------------------------------oOOO--(_)--OOOo--+ Nantwich (n.) A late-night snack, invented by the Earl of Nantwich, which consists of the dampest thing in the fridge. The Earl, who lived in a flat in Clapham, invented the nantwich to avoid having to go shopping. Douglas Adams, John Lloyd: The Deeper Meaning of Liff _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
|
Pitonyak, Andrew D
|
In reply to this post
by Graham Matthews
Some javascript/style in this post has been disabled (why?)
Given the open world assumptions, the primary purposes for
specifying a domain are: (1)
Allow a reasoned to figure out a type. For example, if I use an
object in the domain, then the reasoned can say “hey, that is either an
A, or a B”. (2)
For use by your own software that uses the Ontology definition
to make decisions. Considering the first point above, you have two statements. The
first is that the domain is A Union B, which means that an object used in the
domain is of type A or of type B. Your second statement states specifically
that the object is of type C. As Thomas points out in his reply to you, this means that it is
in ((A Union B) Intersect C). In general, this is not a problem unless you have a reasoner or
interpret, or interpret your results based on the Ontology and its meaning. From: [hidden email]
[mailto:[hidden email]] On Behalf Of Graham
Matthews This is really an OWL question, rather than a Protege OWL
question, but ... I have one ontology O1 with a declaration that property P
has domain A union B. I have another ontology O2 with a declaration that
property P has domain C. I import O2 into O1. What happens to the domain of P? I ask this because I want to end up with the domain of P
being A union B union C. But I don't think is what happens. The genesis for this is that I am trying to figure out from
an ontology which classes intersect the domain of a property. If I have domain
declarations this can be done. Without such declarations I keep running into
the problem that for an class, C, "C intersect (domain of P)" non
empty will almost certainly be unprovable (i.e. not follow from the axioms of
the ontology), and hence the open world assumption implies that the reasoner
should assume it is non empty. thanks graham _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
|
Graham Matthews
|
In reply to this post
by Thomas Schneider-5
Some javascript/style in this post has been disabled (why?)
Thanks for the reply Thomas, and also Andrew in another mail.The only way I can think of to get the domain to be the union (other than declaring it explicitly which I would like to avoid if possible) is to use restrictions. So rather than declare the domain of P to be A union B, declare A to be a subclass of "P some A", and likewise for B and C. This has the advantage that when I import ontology O2 I get a domain at least as large as A union B union C. The disadvantage of course is that to make it exactly A union B union C I need to declare that "P some D" is empty for all D that P is not defined on. Or am I missing something obvious here? graham On Nov 12, 2009, at 12:52 AM, Thomas Schneider wrote:
_______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
|
Thomas Russ
|
You seem to have a good grasp of the consequences of this.
On Nov 12, 2009, at 8:10 AM, Graham Matthews wrote: > Thanks for the reply Thomas, and also Andrew in another mail. > > The only way I can think of to get the domain to be the union (other > than declaring it explicitly which I would like to avoid if > possible) is to use restrictions. So rather than declare the domain > of P to be A union B, declare A to be a subclass of "P some A", and > likewise for B and C. Well, this doesn't really say anything about the domain of the property, except in a very tenuous way by declaring that items of the given type (say P) are in the domain. Mostly it helps you determine where the property is required to exist. Particularly because of open world, this doesn't give you much leverage in figuring out where is does apply. > This has the advantage that when I import ontology O2 I get a domain > at least as large as A union B union C. The disadvantage of course > is that to make it exactly A union B union C I need to declare that > "P some D" is empty for all D that P is not defined on. Well, yes. Although the last item not something that a reasoner can really work with. That is because there isn't any way to express the notion "P is not defined on" in the OWL language. That is essentially a closed world axiom that can't be said in that form. The best you could say would be something like ( P maxCardinality 0 ) <==> (complement (union A B C)) But that is pretty much the same type of thing as just saying the domain ins that union explicitly. Open world will require you to explicitly state where P doesn't apply, since there could always be additional (P some C) restrictions that apply to other classes, but that just weren't stated. > Or am I missing something obvious here? > > graham > > > On Nov 12, 2009, at 12:52 AM, Thomas Schneider wrote: > >> Hi Graham, >> >> On 12 Nov 2009, at 00:53, Graham Matthews wrote: >> >>> This is really an OWL question, rather than a Protege OWL >>> question, but ... >>> >>> I have one ontology O1 with a declaration that property P has >>> domain A union B. >>> >>> I have another ontology O2 with a declaration that property P has >>> domain C. >>> >>> I import O2 into O1. What happens to the domain of P? >> >> Well, the resulting ontology will have both domain axioms. These say: >> >> * Every individual that has some P-value is of type "A union B". >> * Every individual that has some P-value is of type C. >> >> Together, these two statements imply that every individual that has >> some P-value is of type "(A union B)" and of type C. They therefore >> imply that P has domain "(A union B) intersection C". >> >>> I ask this because I want to end up with the domain of P being A >>> union B union C. But I don't think is what happens. >> >> Then you will have to state this explicitly. >> >> Cheers >> >> Thomas >> >>> The genesis for this is that I am trying to figure out from an >>> ontology which classes intersect the domain of a property. If I >>> have domain declarations this can be done. Without such >>> declarations I keep running into the problem that for an class, C, >>> "C intersect (domain of P)" non empty will almost certainly be >>> unprovable (i.e. not follow from the axioms of the ontology), and >>> hence the open world assumption implies that the reasoner should >>> assume it is non empty. >>> >>> thanks >>> graham >>> >>> >>> _______________________________________________ >>> protege-owl mailing list >>> [hidden email] >>> https://mailman.stanford.edu/mailman/listinfo/protege-owl >>> >>> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 >> >> + >> ----------------------------------------------------------------------+ >> | Dr Thomas Schneider schneider (at) >> cs.man.ac.uk | >> | School of Computer Science http://www.cs.man.ac.uk/ >> ~schneidt | >> | Kilburn Building, Room 2.114 phone +44 161 >> 2756136 | >> | University of >> Manchester | >> | Oxford Road _/// >> _ | >> | Manchester M13 9PL >> (o~o) | >> +-----------------------------------------------------oOOO--(_)-- >> OOOo--+ >> >> Nantwich (n.) >> A late-night snack, invented by the Earl of Nantwich, which consists >> of the dampest thing in the fridge. The Earl, who lived in a flat in >> Clapham, invented the nantwich to avoid having to go shopping. >> >> Douglas Adams, John Lloyd: The Deeper Meaning of >> Liff >> >> >> >> _______________________________________________ >> protege-owl mailing list >> [hidden email] >> https://mailman.stanford.edu/mailman/listinfo/protege-owl >> >> Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 > > _______________________________________________ > protege-owl mailing list > [hidden email] > https://mailman.stanford.edu/mailman/listinfo/protege-owl > > Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
|
Thomas Russ
|
In reply to this post
by Graham Matthews
On Nov 11, 2009, at 4:53 PM, Graham Matthews wrote: > The genesis for this is that I am trying to figure out from an > ontology which classes intersect the domain of a property. If I have > domain declarations this can be done. Without such declarations I > keep running into the problem that for an class, C, "C intersect > (domain of P)" non empty will almost certainly be unprovable (i.e. > not follow from the axioms of the ontology), and hence the open > world assumption implies that the reasoner should assume it is non > empty. Ah, looking back I see your motivation. You will probably need to write your own inference procedure that figures this out. That will give you complete control over what you compute. Or you can create your own AnnotationProperty to use for this purpose. In that case, you could (with a little extra work), use it to specify exactly what you wish. AnnotationProperty appliesToClass P appliesToClass A P appliesToClass B P appliesToClass C Then, at any time, the known fillers of this annotation property gives you the set of classes to which this particular property "applies". _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
|
Timothy Redmond
|
In reply to this post
by Graham Matthews
> > > > I ask this because I want to end up with the domain of P being A > > union B union C. But I don't think is what happens. You are right - this is not what happens. > > > I have one ontology O1 with a declaration that property P has domain > > A union B. > > > > > > I have another ontology O2 with a declaration that property P has > > domain C. > > > > > > I import O2 into O1. What happens to the domain of P? What happens is that both assertions about the domain of P are true. To understand what this means we have to dig a bit into what these domain assertions mean. The statement that P has domain A union B means that for any individuals x and y such that x P y we have x is a member of A union B. The statement that P has domain C means that for any individuals x and y such that x P y we have x is a member of C. Thus, for example, we could conclude that P has domain (A union B) intersection C which is the sharpest domain statement that we can prove with this data. > The genesis for this is that I am trying to figure out from an > ontology which classes intersect the domain of a property. This might not be the right way to ask the question. Note that owl:Thing is a domain for any property (vacuous). But perhaps what you are really asking, for some class X, is whether the expression X intersection (P some Thing) is satisfiable. A reasoner will answer this question relatively easily. -Timothy On Wed, 2009-11-11 at 16:53 -0800, Graham Matthews wrote: > This is really an OWL question, rather than a Protege OWL question, > but ... > > > I have one ontology O1 with a declaration that property P has domain A > union B. > > > I have another ontology O2 with a declaration that property P has > domain C. > > > I import O2 into O1. What happens to the domain of P? > > > I ask this because I want to end up with the domain of P being A union > B union C. But I don't think is what happens. > > > The genesis for this is that I am trying to figure out from an > ontology which classes intersect the domain of a property. If I have > domain declarations this can be done. Without such declarations I keep > running into the problem that for an class, C, "C intersect (domain of > P)" non empty will almost certainly be unprovable (i.e. not follow > from the axioms of the ontology), and hence the open world assumption > implies that the reasoner should assume it is non empty. > > > thanks > graham > > > > > _______________________________________________ > protege-owl mailing list > [hidden email] > https://mailman.stanford.edu/mailman/listinfo/protege-owl > > Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 _______________________________________________ protege-owl mailing list [hidden email] https://mailman.stanford.edu/mailman/listinfo/protege-owl Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03 |
||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |