How to classify all individuals that do not have a value for a certain object property

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

How to classify all individuals that do not have a value for a certain object property

Kamran Soomro
Hi,

I want to create a defined class that represents all individuals that do not have any value specified for a certain object property. I tried:

not (has-property some class)

This doesn't appear to work. Any suggestions?

--Kamran


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

Re: How to classify all individuals that do not have a value for a certain object property

Timothy Redmond


I suspect your question is really about the open world assumption.  There is a wikipedia reference for this that you could look at

    http://en.wikipedia.org/wiki/Open_world_assumption


On 8/21/12 7:06 AM, Kamran Soomro wrote:
Hi,

I want to create a defined class that represents all individuals that do not have any value specified for a certain object property.

This sounds like you mean that you want all individuals that are not *known* to have a specified object property.  OWL 2 can't say this yet. 

What it can define is the class of all individuals that do not have a property value for a certain object property.

I tried:

not (has-property some class)

This doesn't appear to work. Any suggestions?

You have defined the class of individuals that do not have a has-property property value.  It may be possible that you have an individual where you do not know if it has the has-property value or not.  An OWL reasoner will not then deduce that this individual is a member of your class.

-Timothy




--Kamran



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


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

Re: How to classify all individuals that do not have a value for a certain object property

Kamran Soomro
Dear Timothy,

Thank you for the link. I understand the open world assumption and its ramifications. My question is indeed about individuals that do not have a value specified for a certain object property. How do I find those individuals?

--Kamran

On 21 Aug 2012, at 18:08, Timothy Redmond <[hidden email]>
 wrote:



I suspect your question is really about the open world assumption.  There is a wikipedia reference for this that you could look at

    http://en.wikipedia.org/wiki/Open_world_assumption


On 8/21/12 7:06 AM, Kamran Soomro wrote:
Hi,

I want to create a defined class that represents all individuals that do not have any value specified for a certain object property.

This sounds like you mean that you want all individuals that are not *known* to have a specified object property.  OWL 2 can't say this yet. 

What it can define is the class of all individuals that do not have a property value for a certain object property.

I tried:

not (has-property some class)

This doesn't appear to work. Any suggestions?

You have defined the class of individuals that do not have a has-property property value.  It may be possible that you have an individual where you do not know if it has the has-property value or not.  An OWL reasoner will not then deduce that this individual is a member of your class.

-Timothy




--Kamran



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

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


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

Re: How to classify all individuals that do not have a value for a certain object property

Lorenz Buehmann

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

As you asked the same on the Pellet mailing list, you'll need either closed world assumption together with reasoning or you use SPARQL with the NOT EXIST construct.

Lorenz
On 21.08.2012 20:43, Kamran Soomro wrote:
> Dear Timothy,
>
> Thank you for the link. I understand the open world assumption and its ramifications. My question is indeed about individuals that do not have a value specified for a certain object property. How do I find those individuals?
>
> --Kamran
>
> On 21 Aug 2012, at 18:08, Timothy Redmond <[hidden email] [hidden email]>
> wrote:
>
>>
>>
>> I suspect your question is really about the open world assumption. There is a wikipedia reference for this that you could look at
>>
>> http://en.wikipedia.org/wiki/Open_world_assumption
>>
>>
>> On 8/21/12 7:06 AM, Kamran Soomro wrote:
>>> Hi,
>>>
>>> I want to create a defined class that represents all individuals that do not have any value specified for a certain object property.
>>
>> This sounds like you mean that you want all individuals that are not *known* to have a specified object property. OWL 2 can't say this yet.
>>
>> What it can define is the class of all individuals that do not have a property value for a certain object property.
>>
>>> I tried:
>>>
>>> not (has-property some class)
>>>
>>> This doesn't appear to work. Any suggestions?
>>
>> You have defined the class of individuals that do not have a has-property property value. It may be possible that you have an individual where you do not know if it has the has-property value or not. An OWL reasoner will not then deduce that this individual is a member of your class.
>>
>> -Timothy
>>
>>
>>
>>>
>>> --Kamran
>>>
>>>
>>>
>>> _______________________________________________
>>> p4-feedback mailing list
>>> [hidden email]
>>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>>
>> _______________________________________________
>> p4-feedback mailing list
>> [hidden email] [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>
>
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJQM+DhAAoJEI97YhPimK8y2F8H/2ogcMvlHv4CdnxFDcjwcRti
nGxAr0ExGBElLl3qgiJBDP+yYrgkJzKUTP1rsDXjo1JLly+fBieQTw9uIM5Zy3+H
lsc8ktjbFySuQU0nq6B8+gW54AoRSyBBK+7xFfildBcsGD6DTOFSgsx2x2nTuEm+
3A1VXcAeZrunwOJ6LflWwV2wFE7mmS6Iv+Tef+FzKMWPFTrKqrFzCaVhhmyXt+MJ
puhcMK7jR1xUqEO9bRfeB3KAb1TazI6bI9nejDwyKyFNYERIQEik85GamY3QTQuJ
8wCDFtPhmq7yyA8c0Acch60EcoLXVVdzGuV3HZVomJLkfohQXKD+IMrI+otDcF4=
=2XFW
-----END PGP SIGNATURE-----


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

Re: How to classify all individuals that do not have a value for a certain object property

Stephan Opfer
I am trying to do the same as you do, Kamran. In my case I want to classify Nodes, which have no incoming Transistions. So basically, there is the Node class and the Transition class.
A Transition may be connected by two properties to Nodes: hasInNode, hasOutNode. Both properties are functional, so that each Transition connects only two Nodes.


My idea is, that if all Transition individuals connect Node individuals, than Node individuals, which are not connect could be classified, if the Transition class is a nominal. A nominal is a list of all individuals, which belong to a certain class.

I listed all Transition individuals in the nominal Transition class, connected them to some Node individuals and made the properties functional. Finally, I made all individuals and the Transition and Node class disjoint. So I closed the open world assumption, by the listed restrictions.

See the full specification in the attached ontology.

Best Regards,
  Stephan




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

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

Re: How to classify all individuals that do not have a value for a certain object property

Timothy Redmond
In reply to this post by Kamran Soomro
On 08/21/2012 11:43 AM, Kamran Soomro wrote:
Dear Timothy,

Thank you for the link. I understand the open world assumption and its ramifications. My question is indeed about individuals that do not have a value specified for a certain object property. How do I find those individuals?

I know that the pellet group has some closed world tools and if they have something that will work this would be the best answer.

Another alternative would be to use the Protege 4.2 SPARQL view to query your asserted knowledge. 

I don't really like this answer because it does not do any entailment.  In other words, it may be that, while your ontology does not assert that an individual has a particular property value, it still can be inferred that the individual has that property value.  In this case the SPARQL query will return no values because the value has not been asserted even though the value can be inferred.

-Timothy



--Kamran

On 21 Aug 2012, at 18:08, Timothy Redmond <[hidden email]>
 wrote:



I suspect your question is really about the open world assumption.  There is a wikipedia reference for this that you could look at

    http://en.wikipedia.org/wiki/Open_world_assumption


On 8/21/12 7:06 AM, Kamran Soomro wrote:
Hi,

I want to create a defined class that represents all individuals that do not have any value specified for a certain object property.

This sounds like you mean that you want all individuals that are not *known* to have a specified object property.  OWL 2 can't say this yet. 

What it can define is the class of all individuals that do not have a property value for a certain object property.

I tried:

not (has-property some class)

This doesn't appear to work. Any suggestions?

You have defined the class of individuals that do not have a has-property property value.  It may be possible that you have an individual where you do not know if it has the has-property value or not.  An OWL reasoner will not then deduce that this individual is a member of your class.

-Timothy




--Kamran



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

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



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


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

Re: How to classify all individuals that do not have a value for a certain object property

Igor Toujilov-2
In reply to this post by Kamran Soomro
Hi Kamran,
I have already replied for a similar question on property negation in
this mail-list (about month ago or so). So you can retrieve my answers.

The short answer is the following.

In OWL, when you have no other related axioms to feed the inference, you
always need to assert property negation explicitly. If you want to say
that i has no p at all, then you need an axiom in your ontology --
something like this:

Individual i
    Types: not p some Thing

Cheers,
Igor

On Tue, 2012-08-21 at 14:06 +0000, Kamran Soomro wrote:

> Hi,
>
>
> I want to create a defined class that represents all individuals that
> do not have any value specified for a certain object property. I
> tried:
>
>
> not (has-property some class)
>
>
> This doesn't appear to work. Any suggestions?
>
> --Kamran
>
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback


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

Re: How to classify all individuals that do not have a value for a certain object property

Stephan Opfer
Hi,

Igor that is a good point and I have some more specific questions about that negation.

On 08/22/2012 11:25 PM, Igor Toujilov wrote:
> In OWL, when you have no other related axioms to feed the inference, you
> always need to assert property negation explicitly. If you want to say
> that i has no p at all, then you need an axiom in your ontology --
> something like this:
>
> Individual i
>     Types: not p some Thing

What is the best way to state the absence of some property for class A?

1. A subClassOf not (p some Thing)
2. A subClassOf (not p some Thing)
3. A subClassOf p exactly 0 Thing

The third version worked for me and I didnt try the first and second, because I wasnt sure about their meaning. For example, the first statement could mean, that A must be a Subclass of some class, that is the complement of the anonymous class "p some Thing". And that is not what I want to say.

Best Regards,
  Stephan



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

Re: How to classify all individuals that do not have a value for a certain object property

Igor Toujilov-2
In reply to this post by Kamran Soomro
Hi Stephan,
All those three axioms are logically equivalent.

Cheers,
Igor

 

----- Original Message -----

From: Stephan Opfer

Sent: 08/23/12 10:02 AM

To: [hidden email]

Subject: Re: [p4-feedback] How to classify all individuals that do not have a value for a certain object property


 
Hi, 

Igor that is a good point and I have some more specific questions about that negation. 

On 08/22/2012 11:25 PM, Igor Toujilov wrote: 
> In OWL, when you have no other related axioms to feed the inference, you 
> always need to assert property negation explicitly. If you want to say 
> that i has no p at all, then you need an axiom in your ontology -- 
> something like this: 
> 
> Individual i 
>     Types: not p some Thing 

What is the best way to state the absence of some property for class A? 

1. A subClassOf not (p some Thing) 
2. A subClassOf (not p some Thing) 
3. A subClassOf p exactly 0 Thing 

The third version worked for me and I didnt try the first and second, because I wasnt sure about their meaning. For example, the first statement could mean, that A must be a Subclass of some class, that is the complement of the anonymous class "p some Thing". And that is not what I want to say. 

Best Regards, 
  Stephan 



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

 


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

Re: How to classify all individuals that do not have a value for a certain object property

Stephan Opfer
Hi Igor,

so I probably should task one of the first two, instead of the third because of the probably better performance?

Ciao,
  Stephan

On 08/24/2012 08:27 AM, Igor Toujilov wrote:

> Hi Stephan,
> All those three axioms are logically equivalent.
>
> Cheers,
> Igor
>
>  
>
>> ----- Original Message -----
>>
>> From: Stephan Opfer
>>
>> Sent: 08/23/12 10:02 AM
>>
>> To: [hidden email]
>>
>> Subject: Re: [p4-feedback] How to classify all individuals that do not have a value for a certain object property
>>
>>
>>  
>> Hi,
>>
>> Igor that is a good point and I have some more specific questions about that negation.
>>
>> On 08/22/2012 11:25 PM, Igor Toujilov wrote:
>> > In OWL, when you have no other related axioms to feed the inference, you
>> > always need to assert property negation explicitly. If you want to say
>> > that i has no p at all, then you need an axiom in your ontology --
>> > something like this:
>> >
>> > Individual i
>> >     Types: not p some Thing
>>
>> What is the best way to state the absence of some property for class A?
>>
>> 1. A subClassOf not (p some Thing)
>> 2. A subClassOf (not p some Thing)
>> 3. A subClassOf p exactly 0 Thing
>>
>> The third version worked for me and I didnt try the first and second, because I wasnt sure about their meaning. For example, the first statement could mean, that A must be a Subclass of some class, that is the complement of the anonymous class "p some Thing". And that is not what I want to say.
>>
>> Best Regards,
>>   Stephan
>>
>>
>>
>> _______________________________________________
>> p4-feedback mailing list
>> [hidden email]
>> https://mailman.stanford.edu/mailman/listinfo/p4-feedback 
>
>  
>
>
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback
>

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

Re: How to classify all individuals that do not have a value for a certain object property

Igor Toujilov-2
Hi Stephan,
Any decent reasoner should consider the zero cardinality axiom as the
property negation. So, do not worry about performance. By the way, at
such high level of programming, performance normally is out of the
scope. The power of OWL is in expressing the same meaning by many ways.

Cheers,
Igor

On Fri, 2012-08-24 at 11:23 +0200, Stephan Opfer wrote:

> Hi Igor,
>
> so I probably should task one of the first two, instead of the third because of the probably better performance?
>
> Ciao,
>   Stephan
>
> On 08/24/2012 08:27 AM, Igor Toujilov wrote:
> > Hi Stephan,
> > All those three axioms are logically equivalent.
> >
> > Cheers,
> > Igor
> >
> >  
> >
> >> ----- Original Message -----
> >>
> >> From: Stephan Opfer
> >>
> >> Sent: 08/23/12 10:02 AM
> >>
> >> To: [hidden email]
> >>
> >> Subject: Re: [p4-feedback] How to classify all individuals that do not have a value for a certain object property
> >>
> >>
> >>  
> >> Hi,
> >>
> >> Igor that is a good point and I have some more specific questions about that negation.
> >>
> >> On 08/22/2012 11:25 PM, Igor Toujilov wrote:
> >> > In OWL, when you have no other related axioms to feed the inference, you
> >> > always need to assert property negation explicitly. If you want to say
> >> > that i has no p at all, then you need an axiom in your ontology --
> >> > something like this:
> >> >
> >> > Individual i
> >> >     Types: not p some Thing
> >>
> >> What is the best way to state the absence of some property for class A?
> >>
> >> 1. A subClassOf not (p some Thing)
> >> 2. A subClassOf (not p some Thing)
> >> 3. A subClassOf p exactly 0 Thing
> >>
> >> The third version worked for me and I didnt try the first and second, because I wasnt sure about their meaning. For example, the first statement could mean, that A must be a Subclass of some class, that is the complement of the anonymous class "p some Thing". And that is not what I want to say.
> >>
> >> Best Regards,
> >>   Stephan
> >>
> >>
> >>
> >> _______________________________________________
> >> p4-feedback mailing list
> >> [hidden email]
> >> https://mailman.stanford.edu/mailman/listinfo/p4-feedback 
> >
> >  
> >
> >
> >
> > _______________________________________________
> > p4-feedback mailing list
> > [hidden email]
> > https://mailman.stanford.edu/mailman/listinfo/p4-feedback
> >
>
> _______________________________________________
> p4-feedback mailing list
> [hidden email]
> https://mailman.stanford.edu/mailman/listinfo/p4-feedback


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