Different assertions data properties, for the same data property

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

  Different assertions data properties, for the same data property

mpuebla
Hello: I want to express that two individuals can not have the same data ownership assertion, for a single data source. For example, if Manuel and Pedro have the same value of 10 for the "age" data property, then the ontology is inconsistent. I can do it with two or more data properties, using the "DisjointDataProperties" axiom of OWL 2.0, but I do not know how to do it with the same data property. Greetings.

Sent from the Protege User mailing list archive at Nabble.com.

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

Re:   Different assertions data properties, for the same data property

Dave McComb-2
My theory is that this was an oversight in the spec writing for owl2: the idea of an inverse functional property was mooted, but the decision was to implement it only for object properties.  It wasn't nearly as useful for object properties as you could always create an inverse and make that functional. 

An inverse functional datatype property would give you exactly what you are looking for ( provided you could establish that Manuel and Pedro were separate individuals -- the reasoner's first recorded would be to assume they were two names / Uris for the same person) 

I think you're best case may be too use owl:key 


From: protege-user <[hidden email]> on behalf of mpuebla <[hidden email]>
Sent: Sunday, June 30, 2019 17:12
To: [hidden email]
Subject: [protege-user]   Different assertions data properties, for the same data property
 
Hello: I want to express that two individuals can not have the same data ownership assertion, for a single data source. For example, if Manuel and Pedro have the same value of 10 for the "age" data property, then the ontology is inconsistent. I can do it with two or more data properties, using the "DisjointDataProperties" axiom of OWL 2.0, but I do not know how to do it with the same data property. Greetings.

Sent from the Protege User mailing list archive at Nabble.com.

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

Re:   Different assertions data properties, for the same data property

mpuebla

I agree with you that an "inverse functional data property" would solve the
problem. But ... how do I write that property in Protégé ?, as you wrote,
the "inverse functional property" are only implemented for "object
property". Any suggestions?

I infer that in its last line it refers to the HasKey axiom of OWL 2.0. This
does not help me, because what I want is to model the restriction of unique
fields of relational databases. Unique fields can be null, key fields can
not be null. The HasKey axiom works to model the keys fields.

Greetings.



--
Sent from: http://protege-project.136.n4.nabble.com/Protege-User-f4659818.html
_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re:   Different assertions data properties, for the same data property

samsontu
In reply to this post by mpuebla


On Jun 30, 2019, at 4:12 PM, mpuebla <[hidden email]> wrote:

Hello: I want to express that two individuals can not have the same data ownership assertion, for a single data source. For example, if Manuel and Pedro have the same value of 10 for the "age" data property, then the ontology is inconsistent. I can do it with two or more data properties, using the "DisjointDataProperties" axiom of OWL 2.0, but I do not know how to do it with the same data property. Greetings.


You can implement it with a SWRL rule:

hasAge(?p, ?a) , hasAge(?q, ?a) -> SameAs(?p, ?q)

If Manuel and Pedro are declared to be different individuals and both has age of 10, you’ll get an inconsistent ontology.

With best regards,
Samson



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

smime.p7s (1K) Download Attachment