the counterpart of primary key in relational db for owl?

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

the counterpart of primary key in relational db for owl?

adu-2
Hello everyone,

I'd like to know whether it is possible to restrict a property in owl, so that it could be used to uniquely identify its domain concepts, similar like what primary key in relational database does. What I want to state in owl is for example:
No two products should have the same serial number. Could I do it in owl or is there some other way to express this? Thanks a lot in advance.

Best Regards,
Jun

_______________________________________________
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: the counterpart of primary key in relational db forowl?

Martin.Georg.Skjaeveland

> Hello everyone,
>
> I'd like to know whether it is possible to restrict a
> property in owl, so that it could be used to uniquely
> identify its domain concepts, similar like what primary key
> in relational database does. What I want to state in owl is
> for example:
> No two products should have the same serial number. Could I
> do it in owl or is there some other way to express this?
> Thanks a lot in advance.

Hi Jun,

You could use InverseFunctionalProperty [1]. However, note that "OWL DL does not permit InverseFunctional to be applied to DatatypeProperty".

[1] http://www.w3.org/TR/owl-guide/#owl_InverseFunctionalProperty

Regards,
Martin.
**************************************************************
The contents of this e-mail message and any attachments are confidential and are intended solely for the addressee. If you have received this transmission in error, please immediately notify the sender by return e-mail and delete this message and its attachments. Any unauthorized use, copying or dissemination of this transmission is prohibited. Neither the confidentiality nor the integrity of this message can be vouched for following transmission on the Internet.
**************************************************************
_______________________________________________
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: the counterpart of primary key in relational db forowl?

C. Forbes Dewey, Jr.
Jun,

The biological community that uses tools of the World Wide Web has adopted an ID called the LSID, or Life Sciences IDentifier.  See the 2004 paper by Tim Clark et al. that is enclosed.  It is a very successful method and is easy to use.

Forbes Dewey

[hidden email] wrote:
Hello everyone,

I'd like to know whether it is possible to restrict a 
property in owl, so that it could be used to uniquely 
identify its domain concepts, similar like what primary key 
in relational database does. What I want to state in owl is 
for example:
No two products should have the same serial number. Could I 
do it in owl or is there some other way to express this? 
Thanks a lot in advance.
    

Hi Jun, 

You could use InverseFunctionalProperty [1]. However, note that "OWL DL does not permit InverseFunctional to be applied to DatatypeProperty".

[1] http://www.w3.org/TR/owl-guide/#owl_InverseFunctionalProperty

Regards,
Martin.
**************************************************************
The contents of this e-mail message and any attachments are confidential and are intended solely for the addressee. If you have received this transmission in error, please immediately notify the sender by return e-mail and delete this message and its attachments. Any unauthorized use, copying or dissemination of this transmission is prohibited. Neither the confidentiality nor the integrity of this message can be vouched for following transmission on the Internet. 
**************************************************************
_______________________________________________
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 
  

--


C. Forbes Dewey, Jr.                                            [hidden email] [hidden email]
Professor of Mechanical Engineering                      Phone: 617-253-2235
           and Bioengineering                                   Fax: 617-258-8559
Co-Director, International Consortium
             for Medical Imaging Technology               Room 3-254
Massachusetts Institute of Technology
Cambridge, MA 02139 USA

http://web.mit.edu/cfdewey/www/index.html


_______________________________________________
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 

Clark-LSID-2004.pdf (615K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: the counterpart of primary key in relational db forowl?

Alan Ruttenberg-2
While some of the biological community uses LSIDs, there is some difference of opinion in the community about whether this should be the practice going forward. The alternative that is offered, and which can serve your purpose as well, is to us a URI as the "key". In fact, the URI (http://....) was designed as a way to uniquely identify web resources, and in later proposals, as way to identify anything at all.

Since URI's are intended to denote things, and things, in the sense of OWL, are instances, there is no need to use a string as an identifier and use inverse functional dataype properties. You can, instead use a regular inverse functional (object) property. As an example of how we have done this in the case of some work of integrating metabolic pathway databases, which is done in part by having compounds in each of the separate databases "smushed" by having the same identifier (e.g. KEGG) see http://bio.freelogy.org/wiki/Debugging_the_bug

In the working group that is discussing OWL 1.1, there is also a proposal on the table for "Easy keys" which is a restricted form of using inverse functional datatype properties. The proposal is at http://www.w3.org/2007/OWL/wiki/Easy_Keys Note, however, that we have not yet determined whether it will be incorporated for OWL 1.1

Regards,
Alan

On Jan 30, 2008, at 4:10 AM, C. Forbes Dewey, Jr. wrote:

Jun,

The biological community that uses tools of the World Wide Web has adopted an ID called the LSID, or Life Sciences IDentifier.  See the 2004 paper by Tim Clark et al. that is enclosed.  It is a very successful method and is easy to use.

Forbes Dewey

[hidden email] wrote:
Hello everyone,

I'd like to know whether it is possible to restrict a 
property in owl, so that it could be used to uniquely 
identify its domain concepts, similar like what primary key 
in relational database does. What I want to state in owl is 
for example:
No two products should have the same serial number. Could I 
do it in owl or is there some other way to express this? 
Thanks a lot in advance.
    
Hi Jun, 

You could use InverseFunctionalProperty [1]. However, note that "OWL DL does not permit InverseFunctional to be applied to DatatypeProperty".

[1] http://www.w3.org/TR/owl-guide/#owl_InverseFunctionalProperty

Regards,
Martin.
**************************************************************
The contents of this e-mail message and any attachments are confidential and are intended solely for the addressee. If you have received this transmission in error, please immediately notify the sender by return e-mail and delete this message and its attachments. Any unauthorized use, copying or dissemination of this transmission is prohibited. Neither the confidentiality nor the integrity of this message can be vouched for following transmission on the Internet. 
**************************************************************
_______________________________________________
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 
  

--


C. Forbes Dewey, Jr.                                            [hidden email] [hidden email]
Professor of Mechanical Engineering                      Phone: 617-253-2235
           and Bioengineering                                   Fax: 617-258-8559
Co-Director, International Consortium
             for Medical Imaging Technology               Room 3-254
Massachusetts Institute of Technology
Cambridge, MA 02139 USA

http://web.mit.edu/cfdewey/www/index.html

<Clark-LSID-2004.pdf>
_______________________________________________
protege-owl mailing list

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

Re: the counterpart of primary key in relational db for owl?

Thomas Russ
In reply to this post by adu-2

On Jan 29, 2008, at 8:08 PM, shangrun du wrote:

> Hello everyone,
>
> I'd like to know whether it is possible to restrict a property in  
> owl, so that it could be used to uniquely identify its domain  
> concepts, similar like what primary key in relational database does.  
> What I want to state in owl is for example:
> No two products should have the same serial number. Could I do it in  
> owl or is there some other way to express this? Thanks a lot in  
> advance.

Well, for starters it is the case that each OWL class, property or  
individual has a name (URI) that is distinct from all other such  
names.  In other words, no two different OWL objects will have the  
same URI.  It is important to note that this is somewhat different  
from a primary key in a DB in that you could, in fact, have multiple  
URIs that refer to the same OWL object.  In other words, the mapping  
from URI => Object is unique, but not the reverse mapping.  Since  
additional references and equality assertions can be made, it is  
possible to prohibit the addition of other URI names for objects.  The  
best you could do is to make all known URIs be distinct with an  
allDifferent assertion.  But newly created URIs could still point to  
existing objects and provide synonyms.

As for the serial number case, you can't express that in OWL because  
you can't put restrictions on datatype values, since they are not OWL  
objects.  The closest you could come would be to use the serial number  
in the URI naming the OWL object.
_______________________________________________
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: the counterpart of primary key in relational db for owl?

Alan Ruttenberg-2
Yes, this is the approach we took. Works fine.
-Alan

On Jan 30, 2008, at 10:59 AM, Thomas Russ wrote:

As for the serial number case, you can't express that in OWL because  

you can't put restrictions on datatype values, since they are not OWL  

objects.  The closest you could come would be to use the serial number  

in the URI naming the OWL object.



_______________________________________________
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
|

DisJoint in Properties

Jibbi
In reply to this post by C. Forbes Dewey, Jr.

Hi,

I would like to know whether it is possible to restrict a property in owl,
so that it can be used like disjoint in OWL classes or one property is the
complement of other property.

e.g. individual's list in hasFriend property, should not be in the list of
notHasFriend property systematically.

Cheers
Najeeb Elahi


_______________________________________________
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: DisJoint in Properties

Matthew Horridge
Hi Najeeb,

OWL 1.1 has disjoint property axioms - you can use Protege 4 to edit  
OWL 1.1 ontologies.

Cheers,

Matthew



On 31 Jan 2008, at 11:52, Najeeb Elahi wrote:

>
> Hi,
>
> I would like to know whether it is possible to restrict a property  
> in owl,
> so that it can be used like disjoint in OWL classes or one property  
> is the
> complement of other property.
>
> e.g. individual's list in hasFriend property, should not be in the  
> list of
> notHasFriend property systematically.
>
> Cheers
> Najeeb Elahi
>
>
> _______________________________________________
> 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 
Reply | Threaded
Open this post in threaded view
|

Re: the counterpart of primary key in relational db for owl?

adu-2
In reply to this post by Alan Ruttenberg-2
Hi all,

It was really very nice of you to give me so much helpful advice, thanks again for the kindly help :-)
If I have correctly understood the answer, it means we could name our product individuals in our knowledge base by using their serial number value as part of  the uris, however I think the uris could still semantically represent the same individual because of the none UNA although they have now different syntax form and even if they identify different products, the products could still have the same serial number value. Is it possible to restrict this aspect without making the ontology OWL Full?

Best Regards,
Jun

2008/1/30, Alan Ruttenberg <[hidden email]>:
Yes, this is the approach we took. Works fine.
-Alan

On Jan 30, 2008, at 10:59 AM, Thomas Russ wrote:

As for the serial number case, you can't express that in OWL because  

you can't put restrictions on datatype values, since they are not OWL  

objects.  The closest you could come would be to use the serial number  

in the URI naming the OWL object.



_______________________________________________
protege-owl mailing list
[hidden email]
<a href="https://mailman.stanford.edu/mailman/listinfo/protege-owl" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: <a href="http://protege.stanford.edu/doc/faq.html#01a.03" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">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