Convert triples into OWL in Protege

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

Convert triples into OWL in Protege

Ling
Hi, All:

If I have lots of triples like the following and want to model them in Protege:

Obama   fullName   Barack Obama
Obama   spouse       Michelle Robinson
Obama   bornOn       August 4, 1961
Obama   bornIn         Honolulu, Hawaii
Obama   party            Democratic Party
Obama   children        Malia; Sasha
Obama   awards        Nobel Peace Prize (2009)
Obama   website        https://barackobama.com/

...

Democratic    chairperson   Tom Perez
Democratic    secretary J     Jason Rae
...
 

I am thinking of this, to represent everything as classes:
1) Create various classes to represent entities:
     * Person
        * Barack Obama
        * Michelle Robinson
        *  Tom Perez
        *   Jason Rae 
     * Organizaation
         * DEmocratic Party
          ...
     * Time
     * Location
     * Awards
       ...

2)  Another single Object property as root node and subnodes to represent various relations:
      * PersonProperty
           * fullName
           * spouse
            * bornOn
            * bornIn
             ...;
3) Then I can assert relations between classes. Examples:
           fullName(Obama, Barack Obama)
           spouse(Obama, Robinson)
           bornOn(August4, 1961)

My question is, entities like "Barack Obama" and "August 4, 1961" are individuals. Should I model them as individuals? If they are created as individuals,  I can't assert object properties between two individuals. Right?

What's the best way to load this into Protege, so that it can answer questions like "What's Obama's name"?
        
          
 

         

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

Re: Convert triples into OWL in Protege

Lorenz Buehmann

Cooments inline:


On 15.12.2017 01:02, Ling wrote:
Hi, All:

If I have lots of triples like the following and want to model them in Protege:

Obama   fullName   Barack Obama
Obama   spouse       Michelle Robinson
Obama   bornOn       August 4, 1961
Obama   bornIn         Honolulu, Hawaii
Obama   party            Democratic Party
Obama   children        Malia; Sasha
Obama   awards        Nobel Peace Prize (2009)
Obama   website        https://barackobama.com/

...

Democratic    chairperson   Tom Perez
Democratic    secretary J     Jason Rae
...
 

I am thinking of this, to represent everything as classes:
1) Create various classes to represent entities:
     * Person
        * Barack Obama
        * Michelle Robinson
        *  Tom Perez
        *   Jason Rae 
     * Organizaation
         * DEmocratic Party
          ...
     * Time
     * Location
     * Awards
       ...
Why shoud Barack Obama be a class?! It is an instance of the class Person, thus, it should be an individual.

2)  Another single Object property as root node and subnodes to represent various relations:
      * PersonProperty
           * fullName
           * spouse
            * bornOn
            * bornIn
             ...;
3) Then I can assert relations between classes. Examples:
           fullName(Obama, Barack Obama)
           spouse(Obama, Robinson)
           bornOn(August4, 1961)
You're not asserting relations "between classes" but between individuals (object property) resp. an individual and a literal (data property).
And it should be bornOn(Barack, August4, 1961)

My question is, entities like "Barack Obama" and "August 4, 1961" are individuals. Should I model them as individuals? If they are created as individuals,  I can't assert object properties between two individuals. Right?
Why should "August 4, 1961" be an individual? It is a date and there are literals in OWL, e.g. with the built-in OWL 2 datatype xsd:dateTime. In addition, this would allow for more powerful reasoning resp. querying.

What's the best way to load this into Protege, so that it can answer questions like "What's Obama's name"?
What means "load"? And how do you want to answer the questions later on?
        
          
 

         


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


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

Re: Convert triples into OWL in Protege

Ling
Hi, Lorenz:

Yes, I got the idea. So terms like "Obama" should be modeled as individual, not class. However, since I can potentially have millions of individuals of different types, such as Obama, iPhone, Tesla, John, California, etc. If I create them as individuals, they all will stay together under "individuals" tab. Ideally, I would want to separate Obama from iPhone and others, so each type of individuals are organized in one place, instead of all mixing together.  Is there a way to do this? and what's the best practice in Protege?

Regards,
Ling

On Thu, Dec 14, 2017 at 8:27 PM, Lorenz Buehmann <[hidden email]> wrote:

Cooments inline:


On 15.12.2017 01:02, Ling wrote:
Hi, All:

If I have lots of triples like the following and want to model them in Protege:

Obama   fullName   Barack Obama
Obama   spouse       Michelle Robinson
Obama   bornOn       August 4, 1961
Obama   bornIn         Honolulu, Hawaii
Obama   party            Democratic Party
Obama   children        Malia; Sasha
Obama   awards        Nobel Peace Prize (2009)
Obama   website        https://barackobama.com/

...

Democratic    chairperson   Tom Perez
Democratic    secretary J     Jason Rae
...
 

I am thinking of this, to represent everything as classes:
1) Create various classes to represent entities:
     * Person
        * Barack Obama
        * Michelle Robinson
        *  Tom Perez
        *   Jason Rae 
     * Organizaation
         * DEmocratic Party
          ...
     * Time
     * Location
     * Awards
       ...
Why shoud Barack Obama be a class?! It is an instance of the class Person, thus, it should be an individual.

2)  Another single Object property as root node and subnodes to represent various relations:
      * PersonProperty
           * fullName
           * spouse
            * bornOn
            * bornIn
             ...;
3) Then I can assert relations between classes. Examples:
           fullName(Obama, Barack Obama)
           spouse(Obama, Robinson)
           bornOn(August4, 1961)
You're not asserting relations "between classes" but between individuals (object property) resp. an individual and a literal (data property).
And it should be bornOn(Barack, August4, 1961)

My question is, entities like "Barack Obama" and "August 4, 1961" are individuals. Should I model them as individuals? If they are created as individuals,  I can't assert object properties between two individuals. Right?
Why should "August 4, 1961" be an individual? It is a date and there are literals in OWL, e.g. with the built-in OWL 2 datatype xsd:dateTime. In addition, this would allow for more powerful reasoning resp. querying.

What's the best way to load this into Protege, so that it can answer questions like "What's Obama's name"?
What means "load"? And how do you want to answer the questions later on?
        
          
 

         


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


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



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

Re: Convert triples into OWL in Protege

Lorenz Buehmann

Individuals are "organized" by classes. The rest is just the UI but that's not the problem of the OWL modelling. Ideally, the GUI is doing what you want and not the other way around.

If you click on a class you can see the individuals.

One comment: Protege is for sure not designed to manage and display millions of individuals - it's a Java Swing GUI...


On 15.12.2017 07:33, Ling wrote:
Hi, Lorenz:

Yes, I got the idea. So terms like "Obama" should be modeled as individual, not class. However, since I can potentially have millions of individuals of different types, such as Obama, iPhone, Tesla, John, California, etc. If I create them as individuals, they all will stay together under "individuals" tab. Ideally, I would want to separate Obama from iPhone and others, so each type of individuals are organized in one place, instead of all mixing together.  Is there a way to do this? and what's the best practice in Protege?

Regards,
Ling

On Thu, Dec 14, 2017 at 8:27 PM, Lorenz Buehmann <[hidden email]> wrote:

Cooments inline:


On 15.12.2017 01:02, Ling wrote:
Hi, All:

If I have lots of triples like the following and want to model them in Protege:

Obama   fullName   Barack Obama
Obama   spouse       Michelle Robinson
Obama   bornOn       August 4, 1961
Obama   bornIn         Honolulu, Hawaii
Obama   party            Democratic Party
Obama   children        Malia; Sasha
Obama   awards        Nobel Peace Prize (2009)
Obama   website        https://barackobama.com/

...

Democratic    chairperson   Tom Perez
Democratic    secretary J     Jason Rae
...
 

I am thinking of this, to represent everything as classes:
1) Create various classes to represent entities:
     * Person
        * Barack Obama
        * Michelle Robinson
        *  Tom Perez
        *   Jason Rae 
     * Organizaation
         * DEmocratic Party
          ...
     * Time
     * Location
     * Awards
       ...
Why shoud Barack Obama be a class?! It is an instance of the class Person, thus, it should be an individual.

2)  Another single Object property as root node and subnodes to represent various relations:
      * PersonProperty
           * fullName
           * spouse
            * bornOn
            * bornIn
             ...;
3) Then I can assert relations between classes. Examples:
           fullName(Obama, Barack Obama)
           spouse(Obama, Robinson)
           bornOn(August4, 1961)
You're not asserting relations "between classes" but between individuals (object property) resp. an individual and a literal (data property).
And it should be bornOn(Barack, August4, 1961)

My question is, entities like "Barack Obama" and "August 4, 1961" are individuals. Should I model them as individuals? If they are created as individuals,  I can't assert object properties between two individuals. Right?
Why should "August 4, 1961" be an individual? It is a date and there are literals in OWL, e.g. with the built-in OWL 2 datatype xsd:dateTime. In addition, this would allow for more powerful reasoning resp. querying.

What's the best way to load this into Protege, so that it can answer questions like "What's Obama's name"?
What means "load"? And how do you want to answer the questions later on?
        
          
 

         


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


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




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


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

Re: Convert triples into OWL in Protege

Ling
So, it's only an organization issue, not a real issue. When you say "not designed manage and display millions of individuals", do you mean Protege is good for tiny ontology? In practice, having millions of classes or individuals is quite possible in ontology, so what's your recommendation to create and manage big ontology?

Regards
Ling

On Dec 15, 2017 12:42 AM, "Lorenz Buehmann" <[hidden email]> wrote:

Individuals are "organized" by classes. The rest is just the UI but that's not the problem of the OWL modelling. Ideally, the GUI is doing what you want and not the other way around.

If you click on a class you can see the individuals.

One comment: Protege is for sure not designed to manage and display millions of individuals - it's a Java Swing GUI...


On 15.12.2017 07:33, Ling wrote:
Hi, Lorenz:

Yes, I got the idea. So terms like "Obama" should be modeled as individual, not class. However, since I can potentially have millions of individuals of different types, such as Obama, iPhone, Tesla, John, California, etc. If I create them as individuals, they all will stay together under "individuals" tab. Ideally, I would want to separate Obama from iPhone and others, so each type of individuals are organized in one place, instead of all mixing together.  Is there a way to do this? and what's the best practice in Protege?

Regards,
Ling

On Thu, Dec 14, 2017 at 8:27 PM, Lorenz Buehmann <[hidden email]> wrote:

Cooments inline:


On 15.12.2017 01:02, Ling wrote:
Hi, All:

If I have lots of triples like the following and want to model them in Protege:

Obama   fullName   Barack Obama
Obama   spouse       Michelle Robinson
Obama   bornOn       August 4, 1961
Obama   bornIn         Honolulu, Hawaii
Obama   party            Democratic Party
Obama   children        Malia; Sasha
Obama   awards        Nobel Peace Prize (2009)
Obama   website        https://barackobama.com/

...

Democratic    chairperson   Tom Perez
Democratic    secretary J     Jason Rae
...
 

I am thinking of this, to represent everything as classes:
1) Create various classes to represent entities:
     * Person
        * Barack Obama
        * Michelle Robinson
        *  Tom Perez
        *   Jason Rae 
     * Organizaation
         * DEmocratic Party
          ...
     * Time
     * Location
     * Awards
       ...
Why shoud Barack Obama be a class?! It is an instance of the class Person, thus, it should be an individual.

2)  Another single Object property as root node and subnodes to represent various relations:
      * PersonProperty
           * fullName
           * spouse
            * bornOn
            * bornIn
             ...;
3) Then I can assert relations between classes. Examples:
           fullName(Obama, Barack Obama)
           spouse(Obama, Robinson)
           bornOn(August4, 1961)
You're not asserting relations "between classes" but between individuals (object property) resp. an individual and a literal (data property).
And it should be bornOn(Barack, August4, 1961)

My question is, entities like "Barack Obama" and "August 4, 1961" are individuals. Should I model them as individuals? If they are created as individuals,  I can't assert object properties between two individuals. Right?
Why should "August 4, 1961" be an individual? It is a date and there are literals in OWL, e.g. with the built-in OWL 2 datatype xsd:dateTime. In addition, this would allow for more powerful reasoning resp. querying.

What's the best way to load this into Protege, so that it can answer questions like "What's Obama's name"?
What means "load"? And how do you want to answer the questions later on?
        
          
 

         


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


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




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


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



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

Re: Convert triples into OWL in Protege

Bohms, H.M. (Michel)
In reply to this post by Ling

 

Dear Ling

 

Your list:

Obama, iPhone, Tesla, John, California,

 

Has elements that are not neccesaraly in the same league.

 

Obama is clear, as far as I know there is only one, so individual. (well at least in case you intended the former president not just any-obama 😊)

But iPhonewhat do mean exactly, the iPhone as type or more like yourIphone. In case of myIphone/yourIphone, again, clearly an individuals.

Iphone in general can also be an individual but than the class is more like PhoneType than just Phone.

 

Many things are possible and there is no truth just handiness so, the main question is, as indicated earlier, what is your purpose of modelling.

 

We often see a pattern involving both interpretations, involving owl-pruning so:

 

PhoneType a owl:Class ;

iPhone a PhoneType ;

iPhone a owl:class ;

myIphone a IPhone .

 

(so iphone is both class and instance).

Theoretically ok, tool-wise (incl. webprotege btw) not always.

 

More on this individual versus class in attachment (part of a LD/SW Modelling Guide we recently made). The ppt is exactly on the issue of combining knowledge modelling (where iphone is an individual) and data modelling where iphone is a class).

 

Hope that helps or at least gives some more background or ideas..

Greetings Michel

 

 

 

 

 

 

 

Dr. ir. H.M. (Michel) Böhms
Senior Data Scientist

T +31888663107
M +31630381220
[hidden email]

<a href="https://www.google.com/maps/place/TNO&#43;-&#43;Locatie&#43;Delft&#43;-&#43;Stieltjesweg/@52.000788,4.3745183,17z/data=!3m1!4b1!4m5!3m4!1s0x47c5b58c52869997:0x56681566be3b8c88!8m2!3d52.000788!4d4.376707">Location

 

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.

 

 

 

 

Van: protege-user [mailto:[hidden email]] Namens Ling
Verzonden: vrijdag 15 december 2017 07:33
Aan: User support for WebProtege and Protege Desktop <[hidden email]>
CC: [hidden email]
Onderwerp: Re: [protege-user] Convert triples into OWL in Protege

 

Hi, Lorenz:

 

Yes, I got the idea. So terms like "Obama" should be modeled as individual, not class. However, since I can potentially have millions of individuals of different types, such as Obama, iPhone, Tesla, John, California, etc. If I create them as individuals, they all will stay together under "individuals" tab. Ideally, I would want to separate Obama from iPhone and others, so each type of individuals are organized in one place, instead of all mixing together.  Is there a way to do this? and what's the best practice in Protege?

 

Regards,

Ling

 

On Thu, Dec 14, 2017 at 8:27 PM, Lorenz Buehmann <[hidden email]> wrote:

Cooments inline:

 

On 15.12.2017 01:02, Ling wrote:

Hi, All:

 

If I have lots of triples like the following and want to model them in Protege:

 

Obama   fullName   Barack Obama

Obama   spouse       Michelle Robinson

Obama   bornOn       August 4, 1961

Obama   bornIn         Honolulu, Hawaii

Obama   party            Democratic Party

Obama   children        Malia; Sasha

Obama   awards        Nobel Peace Prize (2009)

Obama   website        https://barackobama.com/

 

...

 

Democratic    chairperson   Tom Perez

Democratic    secretary J     Jason Rae

...

 

 

I am thinking of this, to represent everything as classes:

1) Create various classes to represent entities:

     * Person

        * Barack Obama

        * Michelle Robinson

        *  Tom Perez

        *   Jason Rae 

     * Organizaation

         * DEmocratic Party

          ...

     * Time

     * Location

     * Awards

       ...

Why shoud Barack Obama be a class?! It is an instance of the class Person, thus, it should be an individual.

 

2)  Another single Object property as root node and subnodes to represent various relations:

      * PersonProperty

           * fullName

           * spouse

            * bornOn

            * bornIn

             ...;

3) Then I can assert relations between classes. Examples:

           fullName(Obama, Barack Obama)

           spouse(Obama, Robinson)

           bornOn(August4, 1961)

You're not asserting relations "between classes" but between individuals (object property) resp. an individual and a literal (data property).
And it should be bornOn(Barack, August4, 1961)

 

My question is, entities like "Barack Obama" and "August 4, 1961" are individuals. Should I model them as individuals? If they are created as individuals,  I can't assert object properties between two individuals. Right?

Why should "August 4, 1961" be an individual? It is a date and there are literals in OWL, e.g. with the built-in OWL 2 datatype xsd:dateTime. In addition, this would allow for more powerful reasoning resp. querying.

 

What's the best way to load this into Protege, so that it can answer questions like "What's Obama's name"?

What means "load"? And how do you want to answer the questions later on?

        

          

 

 

         

 

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

 


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

 


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

Appendix5-IntegratedKnowledgeAndDataManagement.pptx (533K) Download Attachment