Question regarding hasValue in OWL-DL and OWL-FULL

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

Question regarding hasValue in OWL-DL and OWL-FULL

brian dorsey
Hi all,

From my understanding of OWL-DL, one cannot express an object property relationship from an individual to a class.
Rather such relationships are binary relationships between two individuals.

That is, individualA hasProp ClassB  where individualA is a member of ClassA, is illegal within OWL-DL.

Suppose ClassB has the following individuals, individualB1 and individualB2.

And individualA has the following asserted relationships:
individualA hasProp individualB1
individualA hasProp individualB2

In OWL-FULL, it is possible as I understand it, to then state that:
ClassC = hasValue.ClassB where "=" is a necessary and sufficient condition.
And individual individualA will be asserted to be also a member of ClassC.

I presume in OWL-DL one would have to enumerate all possible relations.
ClassC = hasValue.IndividualB1 OR hasValue.B2


Under normal circumstances one would assert ontology statements like individualA hasProp individualB1.
However, is it possible to state an individual has a relationship with a set of unspecified individuals of a class, for example, individualA hasProp ClassB.
Therefore as individuals become known to ClassB, individualA will be automatically assigned a hasProp relationship to those individuals.

I know at a class level, one may specify that

ClassA hasProp some ClassB AND hasProp only ClassB.

I would like to be able to say that a specific individual has some property relationship to a set of unspecified (perhaps currently unknown as of yet) individuals of another class.

How would one express this as a piece of (DL) logic?

Class Definition:
ClassA =  hasProp some ClassB AND
                hasProp only ClassB

Individual Assertion:
hasProp(indA,ClassB)

or would it be
hasProp(inda,{...}) where {...} is a place holder for the range individuals of the previously defined class ClassA

I would like to be able to explicitly specifiy (at least on paper to explain part of the model) the range of the DL individual assertion if possible.

Perhaps one must enumerate all possible relationships:
hasProp(indA, indB1)
hasProp(indA, indB1)

I would like of course as syntactic sugar to say the following hasProp(indA,ClassB) where I currently do not know what the range individuals are.

cheers,
Brian.

_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Question regarding hasValue in OWL-DL and OWL-FULL

Thomas Russ

On Feb 2, 2011, at 8:49 AM, brian dorsey wrote:
> However, is it possible to state an individual has a relationship  
> with a set of unspecified individuals of a class, for example,  
> individualA hasProp ClassB.
> Therefore as individuals become known to ClassB, individualA will be  
> automatically assigned a hasProp relationship to those individuals.
> ...
> I would like to be able to say that a specific individual has some  
> property relationship to a set of unspecified (perhaps currently  
> unknown as of yet) individuals of another class.

I'm not completely sure if this is what you want, but what about the  
following construct:

ClassB:  (inverse of hasProp) hasValue IndividualA

That would mean that all individuals in ClassB would have the inverse  
of property hasProp with IndividualA.  From that it should follow that  
IndividualA must have the hasProp property with every individual in  
ClassB.


_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Question regarding hasValue in OWL-DL and OWL-FULL

brian dorsey
Hi Thomas,


I'm not completely sure if this is what you want, but what about the following construct:

ClassB:  (inverse of hasProp) hasValue IndividualA

That would mean that all individuals in ClassB would have the inverse of property hasProp with IndividualA.  From that it should follow that IndividualA must have the hasProp property with every individual in ClassB.


I was thinking the same. However, individuals of ClassB may also have relationships to other individuals of ClassA and/or other classes.

Using an other analogy, a person may like books of a particular genre.

CLASS Definitions:
+++++++++++++++
FictionalBook \subsetsq Book \scap
                     \exists isLikedBy.Person \sqcap
                     \forall isLikedBy.Person

Person \subsetsq \exists likes.FictionalBook \sqcap
                           \forall likes.FictionalBook

(note latex syntax: \subsetsq = subset, \exists = existential, \forall = universal (closure))

Individual Assertions:
++++++++++++++++
Person(alice)
FictionalBook(aliceInWonderLand)
FictionalBook(starWars)

likes(alice,aliceInWonderLand)

So far no problem.

However, I would then to be able to say that Bob likes fictional books but not explicitly say which ones yet. Imagine the class FictionalBook is currently empty. However, when class FictionalBook becomes populated with individuals such as those asserted above and others then Bob would automatically like those books.

Person(bob)
likes(bob,aliceInWonderLand)
likes(bob,starWars)

The above DL assertion on the "likes" property assumes we have a list of known books already.

I was thinking I could express the following DL logic statement:
Person(bob)
likes(bob,FictionalBook)

Is such a statement permitted in OWL-FULL? Would this be how one could write it down?
If this is not a valid OWL-DL statement, could it be used as a syntactic sugar (on paper) to represent the enumerated "likes" property?

That is, could one say the following as ease of exposition, that "likes(bob,FictionalBook)" is representative of bob liking the set of all fictional books where this statement is a syntactic sugar for the enumeration of "likes(bob,aliceInWonderLand)",
"likes(bob,starWars)" and so forth as new individuals are added to the class of FictionalBook.

regards,
Brian.


_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Question regarding hasValue in OWL-DL and OWL-FULL

Thomas Russ

On Feb 3, 2011, at 1:19 AM, brian dorsey wrote:

> Hi Thomas,
>
>
> I'm not completely sure if this is what you want, but what about the  
> following construct:
>
> ClassB:  (inverse of hasProp) hasValue IndividualA
>
> That would mean that all individuals in ClassB would have the  
> inverse of property hasProp with IndividualA.  From that it should  
> follow that IndividualA must have the hasProp property with every  
> individual in ClassB.
>
>
> I was thinking the same. However, individuals of ClassB may also  
> have relationships to other individuals of ClassA and/or other  
> classes.

The hasValue restriction doesn't preclude other fillers of the  
property.  All it asserts is that the given individual must be one  
value of the property.  Other values of that property are allowed but  
not required.

I think this is likely to give you the results that you want, at the  
cost of adding a lot of what seems to be individual-centric  
information to the more general class ClassB.

> I was thinking I could express the following DL logic statement:
> Person(bob)
> likes(bob,FictionalBook)
>
> Is such a statement permitted in OWL-FULL? Would this be how one  
> could write it down?

You could write such a statement in OWL-FULL.  Or in OWL 2 using  
punning.

But you would not get any inference from it.  In particular, you would  
not get all known individuals of FictionalBook as values.  Instead you  
would just get the class back and would need to use some other  
reasoning process to make the connection with the known individuals.

> If this is not a valid OWL-DL statement, could it be used as a  
> syntactic sugar (on paper) to represent the enumerated "likes"  
> property?

I suppose you could do that.

But unless you translate that into something that a DL reasoner would  
understand, you would be in the position of having to re-interpret it  
or periodically revisit it to make sure the additional assertions at  
the individual level are added.  I think the hasValue with the inverse  
property looks like the most convenient modeling approach.

> That is, could one say the following as ease of exposition, that  
> "likes(bob,FictionalBook)" is representative of bob liking the set  
> of all fictional books where this statement is a syntactic sugar for  
> the enumeration of "likes(bob,aliceInWonderLand)",
> "likes(bob,starWars)" and so forth as new individuals are added to  
> the class of FictionalBook.

You might find this article interesting:
   http://knoesis.wright.edu/faculty/pascal/resources/publications/dl08-mice.pdf

_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Question regarding hasValue in OWL-DL and OWL-FULL

brian dorsey
Thanks Thomas.


But unless you translate that into something that a DL reasoner would understand, you would be in the position of having to re-interpret it or periodically revisit it to make sure the additional assertions at the individual level are added.  I think the hasValue with the inverse property looks like the most convenient modeling approach.

In terms of reasoning, given its primarily at the level of individuals rather than classes, I would use SWRL reasoning.  So it would be a combination of DL (like what you suggest) and SWRL reasoning.


     You might find this article interesting:
  http://knoesis.wright.edu/faculty/pascal/resources/publications/dl08-mice.pdf


I will have a read of that paper. I should hope that all elephants are bigger than all mice ;-)

_______________________________________________
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
Reply | Threaded
Open this post in threaded view
|

Re: Question regarding hasValue in OWL-DL and OWL-FULL

Thomas Russ

On Feb 4, 2011, at 4:15 AM, brian dorsey wrote:

>     You might find this article interesting:
>   http://knoesis.wright.edu/faculty/pascal/resources/publications/dl08-mice.pdf
>
>
> I will have a read of that paper.

> I should hope that all elephants are bigger than all mice ;-)

Maybe not:
  http://assets.nydailynews.com/img/2010/11/26/gal_macys-parade_12.jpg
;-)

_______________________________________________
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