External references in Protege 4

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

External references in Protege 4

Santiago Timón
Hello.

I am having problems with external references.
Simple things like indicating a class defined in my ontology is a subclass of a term of another ontology I do with the "Refactor-Change Entity URI" tool and inserting the external reference URI. But when I try to add restrictions like MyClass hasSomeProperty ExternalClass the class expression editor gives an error. Am I doing something wrong? Or the only way to do this is directly in XML?

I am trying to do this because I am working in my MS thesis with very large biological ontologies and importing them directly seems to be inefficient or impossible. Also I would like to know how can I make efficient reasoning with this approach.

Thanks in advance,

Santi

_______________________________________________
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: External references in Protege 4

Timothy Redmond
On 11/06/2011 03:33 AM, Santiago Timón wrote:
Hello.

I am having problems with external references.
Simple things like indicating a class defined in my ontology is a subclass of a term of another ontology I do with the "Refactor-Change Entity URI" tool and inserting the external reference URI. But when I try to add restrictions like MyClass hasSomeProperty ExternalClass the class expression editor gives an error. Am I doing something wrong? Or the only way to do this is directly in XML?

There are two issues - how to create and use entities with names outside your namespace and how to import and work with ontologies that are too large to import in their entirety.  The second may make the first irrelevant so I will start there.


I am trying to do this because I am working in my MS thesis with very large biological ontologies and importing them directly seems to be inefficient or impossible. Also I would like to know how can I make efficient reasoning with this approach.

You could create modules out of the large biological ontologies and work with these much smaller modules.  I haven't done this but I have read several of the papers and it seems like the right solution to your problem.  The important fact about modules is that an ontology is a conservative extension of its modules.  That is to say that anything that is entailed by the larger ontology and only uses the signature of the module is also entailed by the module.

I did a google search and found a module extractor at http://code.google.com/p/owlme/.  It appears to be relatively active - there are updates as of May, 2011.

The other issue is how you can create entities with names outside your namespace.  The answer is to use the "Ignore entity creation preferences" button when you are creating the entity.  You can at that point enter the full IRI for the entity.  But an easier method is to add a prefix to the ontology prefixes and then use the qualified name notation for the entity.

To do this you will use the ontology prefixes view.  It may appear in your Active Ontologies tab but if it doesn't you can add it with Window->Views->Ontology Views->Ontology Prefixes.  Then you can use the prefix to name the entity when you add the class.

-Timothy




Thanks in advance,

Santi


_______________________________________________
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

OntologyPrefixes.png (31K) Download Attachment
AddClass.png (57K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: External references in Protege 4

Santiago Timón
Thanks a lot Timothy.

This leads me to another question about ontology IDs that may be totally noob, but before digging into literature, you or someone else could give me a quick answer.

Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?

Santi

2011/11/6 Timothy Redmond <[hidden email]>
On 11/06/2011 03:33 AM, Santiago Timón wrote:
Hello.

I am having problems with external references.
Simple things like indicating a class defined in my ontology is a subclass of a term of another ontology I do with the "Refactor-Change Entity URI" tool and inserting the external reference URI. But when I try to add restrictions like MyClass hasSomeProperty ExternalClass the class expression editor gives an error. Am I doing something wrong? Or the only way to do this is directly in XML?

There are two issues - how to create and use entities with names outside your namespace and how to import and work with ontologies that are too large to import in their entirety.  The second may make the first irrelevant so I will start there.



I am trying to do this because I am working in my MS thesis with very large biological ontologies and importing them directly seems to be inefficient or impossible. Also I would like to know how can I make efficient reasoning with this approach.

You could create modules out of the large biological ontologies and work with these much smaller modules.  I haven't done this but I have read several of the papers and it seems like the right solution to your problem.  The important fact about modules is that an ontology is a conservative extension of its modules.  That is to say that anything that is entailed by the larger ontology and only uses the signature of the module is also entailed by the module.

I did a google search and found a module extractor at http://code.google.com/p/owlme/.  It appears to be relatively active - there are updates as of May, 2011.

The other issue is how you can create entities with names outside your namespace.  The answer is to use the "Ignore entity creation preferences" button when you are creating the entity.  You can at that point enter the full IRI for the entity.  But an easier method is to add a prefix to the ontology prefixes and then use the qualified name notation for the entity.

To do this you will use the ontology prefixes view.  It may appear in your Active Ontologies tab but if it doesn't you can add it with Window->Views->Ontology Views->Ontology Prefixes.  Then you can use the prefix to name the entity when you add the class.

-Timothy




Thanks in advance,

Santi


_______________________________________________
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



_______________________________________________
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: External references in Protege 4

Timothy Redmond

Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?

The simple answer that usually works is to use the ontology ID followed with a # (but sometimes with a /).  This is not quite the right answer though.

The right answer is that you should use prefixes that help you write the names of the terms that appear in the ontology that you are referencing.  An entity in an ontology has a full name, e.g. (guessing) something like

http://www.ontology.com/ontologies/anatomy.owl#Leg

These are the names that you want to quote in your ontology.  Usually the full name starts with the ontology ID but this is not required.

-Timothy


On 11/09/2011 10:53 AM, Santiago Timón wrote:
Thanks a lot Timothy.

This leads me to another question about ontology IDs that may be totally noob, but before digging into literature, you or someone else could give me a quick answer.

Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?

Santi

2011/11/6 Timothy Redmond <[hidden email]>
On 11/06/2011 03:33 AM, Santiago Timón wrote:
Hello.

I am having problems with external references.
Simple things like indicating a class defined in my ontology is a subclass of a term of another ontology I do with the "Refactor-Change Entity URI" tool and inserting the external reference URI. But when I try to add restrictions like MyClass hasSomeProperty ExternalClass the class expression editor gives an error. Am I doing something wrong? Or the only way to do this is directly in XML?

There are two issues - how to create and use entities with names outside your namespace and how to import and work with ontologies that are too large to import in their entirety.  The second may make the first irrelevant so I will start there.



I am trying to do this because I am working in my MS thesis with very large biological ontologies and importing them directly seems to be inefficient or impossible. Also I would like to know how can I make efficient reasoning with this approach.

You could create modules out of the large biological ontologies and work with these much smaller modules.  I haven't done this but I have read several of the papers and it seems like the right solution to your problem.  The important fact about modules is that an ontology is a conservative extension of its modules.  That is to say that anything that is entailed by the larger ontology and only uses the signature of the module is also entailed by the module.

I did a google search and found a module extractor at http://code.google.com/p/owlme/.  It appears to be relatively active - there are updates as of May, 2011.

The other issue is how you can create entities with names outside your namespace.  The answer is to use the "Ignore entity creation preferences" button when you are creating the entity.  You can at that point enter the full IRI for the entity.  But an easier method is to add a prefix to the ontology prefixes and then use the qualified name notation for the entity.

To do this you will use the ontology prefixes view.  It may appear in your Active Ontologies tab but if it doesn't you can add it with Window->Views->Ontology Views->Ontology Prefixes.  Then you can use the prefix to name the entity when you add the class.

-Timothy




Thanks in advance,

Santi


_______________________________________________
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




_______________________________________________
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: External references in Protege 4

Santiago Timón
I understand that you are referring to the entities IRI, but my doubt is about the ontology prefix IRI. Maybe I haven't explained well.

I'll use an example. If the ontology I want to reference is stored in "/user/ontologies/anatomy.owl" and its ontology ID is http://www.ontology.com/ontologies/anatomy.owl which IRI should I specify as prefix? Depending on this the entities would be
/user/ontologies/anatomy.owl#Leg
or
http://www.ontology.com/ontologies/anatomy.owl#Leg

My doubt is because the ontology ID http://www.ontology.com/ontologies/anatomy.owl may not be a real location, so how could the reasoner resolve it to load the actual file containing the referenced ontology.

Santi

2011/11/9 Timothy Redmond <[hidden email]>

Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?

The simple answer that usually works is to use the ontology ID followed with a # (but sometimes with a /).  This is not quite the right answer though.

The right answer is that you should use prefixes that help you write the names of the terms that appear in the ontology that you are referencing.  An entity in an ontology has a full name, e.g. (guessing) something like

http://www.ontology.com/ontologies/anatomy.owl#Leg

These are the names that you want to quote in your ontology.  Usually the full name starts with the ontology ID but this is not required.

-Timothy



On 11/09/2011 10:53 AM, Santiago Timón wrote:
Thanks a lot Timothy.

This leads me to another question about ontology IDs that may be totally noob, but before digging into literature, you or someone else could give me a quick answer.

Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?

Santi

2011/11/6 Timothy Redmond <[hidden email]>
On 11/06/2011 03:33 AM, Santiago Timón wrote:
Hello.

I am having problems with external references.
Simple things like indicating a class defined in my ontology is a subclass of a term of another ontology I do with the "Refactor-Change Entity URI" tool and inserting the external reference URI. But when I try to add restrictions like MyClass hasSomeProperty ExternalClass the class expression editor gives an error. Am I doing something wrong? Or the only way to do this is directly in XML?

There are two issues - how to create and use entities with names outside your namespace and how to import and work with ontologies that are too large to import in their entirety.  The second may make the first irrelevant so I will start there.



I am trying to do this because I am working in my MS thesis with very large biological ontologies and importing them directly seems to be inefficient or impossible. Also I would like to know how can I make efficient reasoning with this approach.

You could create modules out of the large biological ontologies and work with these much smaller modules.  I haven't done this but I have read several of the papers and it seems like the right solution to your problem.  The important fact about modules is that an ontology is a conservative extension of its modules.  That is to say that anything that is entailed by the larger ontology and only uses the signature of the module is also entailed by the module.

I did a google search and found a module extractor at http://code.google.com/p/owlme/.  It appears to be relatively active - there are updates as of May, 2011.

The other issue is how you can create entities with names outside your namespace.  The answer is to use the "Ignore entity creation preferences" button when you are creating the entity.  You can at that point enter the full IRI for the entity.  But an easier method is to add a prefix to the ontology prefixes and then use the qualified name notation for the entity.

To do this you will use the ontology prefixes view.  It may appear in your Active Ontologies tab but if it doesn't you can add it with Window->Views->Ontology Views->Ontology Prefixes.  Then you can use the prefix to name the entity when you add the class.

-Timothy




Thanks in advance,

Santi


_______________________________________________
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




_______________________________________________
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



_______________________________________________
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: External references in Protege 4

Matthew Horridge-2
Administrator
Hi,

I think you have the wrong model of how things get loaded and how IRIs get used as names.  Ultimately, it's best *not* to think in terms of prefixes and namespaces.  Ontologies are named with IRIs, and entities (classes, properties etc.) are also named with IRIs, and that's it.  There is no connection between the name of an ontology and the names of entities in its signature.  If you have an ontology that defines <http://www.ontology.com/ontologies/anatomy.owl#Leg> then you need to explicitly import that ontology into the one that uses <http://www.ontology.com/ontologies/anatomy.owl#Leg>.  There is no requirement that the name of the ontology that defines <http://www.ontology.com/ontologies/anatomy.owl#Leg> bears any resemblance to <http://www.ontology.com/ontologies/anatomy.owl> at all. Hope that helps.

Cheers,

Matthew



On 9 Nov 2011, at 13:45, Santiago Timón wrote:

> I understand that you are referring to the entities IRI, but my doubt is about the ontology prefix IRI. Maybe I haven't explained well.
>
> I'll use an example. If the ontology I want to reference is stored in "/user/ontologies/anatomy.owl" and its ontology ID is http://www.ontology.com/ontologies/anatomy.owl which IRI should I specify as prefix? Depending on this the entities would be
> /user/ontologies/anatomy.owl#Leg
> or
> http://www.ontology.com/ontologies/anatomy.owl#Leg
>
> My doubt is because the ontology ID http://www.ontology.com/ontologies/anatomy.owl may not be a real location, so how could the reasoner resolve it to load the actual file containing the referenced ontology.
>
> Santi
>
> 2011/11/9 Timothy Redmond <[hidden email]>
>
>> Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?
>
> The simple answer that usually works is to use the ontology ID followed with a # (but sometimes with a /).  This is not quite the right answer though.
>
> The right answer is that you should use prefixes that help you write the names of the terms that appear in the ontology that you are referencing.  An entity in an ontology has a full name, e.g. (guessing) something like
>
> http://www.ontology.com/ontologies/anatomy.owl#Leg
>
> These are the names that you want to quote in your ontology.  Usually the full name starts with the ontology ID but this is not required.
>
> -Timothy
>
>
>
> On 11/09/2011 10:53 AM, Santiago Timón wrote:
>> Thanks a lot Timothy.
>>
>> This leads me to another question about ontology IDs that may be totally noob, but before digging into literature, you or someone else could give me a quick answer.
>>
>> Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?
>>
>> Santi
>>
>> 2011/11/6 Timothy Redmond <[hidden email]>
>> On 11/06/2011 03:33 AM, Santiago Timón wrote:
>>> Hello.
>>>
>>> I am having problems with external references.
>>> Simple things like indicating a class defined in my ontology is a subclass of a term of another ontology I do with the "Refactor-Change Entity URI" tool and inserting the external reference URI. But when I try to add restrictions like MyClass hasSomeProperty ExternalClass the class expression editor gives an error. Am I doing something wrong? Or the only way to do this is directly in XML?
>>
>> There are two issues - how to create and use entities with names outside your namespace and how to import and work with ontologies that are too large to import in their entirety.  The second may make the first irrelevant so I will start there.
>>
>>
>>>
>>> I am trying to do this because I am working in my MS thesis with very large biological ontologies and importing them directly seems to be inefficient or impossible. Also I would like to know how can I make efficient reasoning with this approach.
>>
>> You could create modules out of the large biological ontologies and work with these much smaller modules.  I haven't done this but I have read several of the papers and it seems like the right solution to your problem.  The important fact about modules is that an ontology is a conservative extension of its modules.  That is to say that anything that is entailed by the larger ontology and only uses the signature of the module is also entailed by the module.
>>
>> I did a google search and found a module extractor at http://code.google.com/p/owlme/.  It appears to be relatively active - there are updates as of May, 2011.
>>
>> The other issue is how you can create entities with names outside your namespace.  The answer is to use the "Ignore entity creation preferences" button when you are creating the entity.  You can at that point enter the full IRI for the entity.  But an easier method is to add a prefix to the ontology prefixes and then use the qualified name notation for the entity.
>>
>> To do this you will use the ontology prefixes view.  It may appear in your Active Ontologies tab but if it doesn't you can add it with Window->Views->Ontology Views->Ontology Prefixes.  Then you can use the prefix to name the entity when you add the class.
>>
>> -Timothy
>>
>>
>>
>>>
>>> Thanks in advance,
>>>
>>> Santi
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>>
>>
>> _______________________________________________
>> 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
>
>
> _______________________________________________
> 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: External references in Protege 4

Santiago Timón
Thanks Matthew, I think I get it,

So the short answer could be that if I want to run a reasoner I have to explicitly import the external ontologies where referenced terms are stored.
I guess I will have to work on how to extract relevant modules of them.

Thanks again for your time.

Santi

2011/11/9 Matthew Horridge <[hidden email]>
Hi,

I think you have the wrong model of how things get loaded and how IRIs get used as names.  Ultimately, it's best *not* to think in terms of prefixes and namespaces.  Ontologies are named with IRIs, and entities (classes, properties etc.) are also named with IRIs, and that's it.  There is no connection between the name of an ontology and the names of entities in its signature.  If you have an ontology that defines <http://www.ontology.com/ontologies/anatomy.owl#Leg> then you need to explicitly import that ontology into the one that uses <http://www.ontology.com/ontologies/anatomy.owl#Leg>.  There is no requirement that the name of the ontology that defines <http://www.ontology.com/ontologies/anatomy.owl#Leg> bears any resemblance to <http://www.ontology.com/ontologies/anatomy.owl> at all. Hope that helps.

Cheers,

Matthew



On 9 Nov 2011, at 13:45, Santiago Timón wrote:

> I understand that you are referring to the entities IRI, but my doubt is about the ontology prefix IRI. Maybe I haven't explained well.
>
> I'll use an example. If the ontology I want to reference is stored in "/user/ontologies/anatomy.owl" and its ontology ID is http://www.ontology.com/ontologies/anatomy.owl which IRI should I specify as prefix? Depending on this the entities would be
> /user/ontologies/anatomy.owl#Leg
> or
> http://www.ontology.com/ontologies/anatomy.owl#Leg
>
> My doubt is because the ontology ID http://www.ontology.com/ontologies/anatomy.owl may not be a real location, so how could the reasoner resolve it to load the actual file containing the referenced ontology.
>
> Santi
>
> 2011/11/9 Timothy Redmond <[hidden email]>
>
>> Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?
>
> The simple answer that usually works is to use the ontology ID followed with a # (but sometimes with a /).  This is not quite the right answer though.
>
> The right answer is that you should use prefixes that help you write the names of the terms that appear in the ontology that you are referencing.  An entity in an ontology has a full name, e.g. (guessing) something like
>
> http://www.ontology.com/ontologies/anatomy.owl#Leg
>
> These are the names that you want to quote in your ontology.  Usually the full name starts with the ontology ID but this is not required.
>
> -Timothy
>
>
>
> On 11/09/2011 10:53 AM, Santiago Timón wrote:
>> Thanks a lot Timothy.
>>
>> This leads me to another question about ontology IDs that may be totally noob, but before digging into literature, you or someone else could give me a quick answer.
>>
>> Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?
>>
>> Santi
>>
>> 2011/11/6 Timothy Redmond <[hidden email]>
>> On 11/06/2011 03:33 AM, Santiago Timón wrote:
>>> Hello.
>>>
>>> I am having problems with external references.
>>> Simple things like indicating a class defined in my ontology is a subclass of a term of another ontology I do with the "Refactor-Change Entity URI" tool and inserting the external reference URI. But when I try to add restrictions like MyClass hasSomeProperty ExternalClass the class expression editor gives an error. Am I doing something wrong? Or the only way to do this is directly in XML?
>>
>> There are two issues - how to create and use entities with names outside your namespace and how to import and work with ontologies that are too large to import in their entirety.  The second may make the first irrelevant so I will start there.
>>
>>
>>>
>>> I am trying to do this because I am working in my MS thesis with very large biological ontologies and importing them directly seems to be inefficient or impossible. Also I would like to know how can I make efficient reasoning with this approach.
>>
>> You could create modules out of the large biological ontologies and work with these much smaller modules.  I haven't done this but I have read several of the papers and it seems like the right solution to your problem.  The important fact about modules is that an ontology is a conservative extension of its modules.  That is to say that anything that is entailed by the larger ontology and only uses the signature of the module is also entailed by the module.
>>
>> I did a google search and found a module extractor at http://code.google.com/p/owlme/.  It appears to be relatively active - there are updates as of May, 2011.
>>
>> The other issue is how you can create entities with names outside your namespace.  The answer is to use the "Ignore entity creation preferences" button when you are creating the entity.  You can at that point enter the full IRI for the entity.  But an easier method is to add a prefix to the ontology prefixes and then use the qualified name notation for the entity.
>>
>> To do this you will use the ontology prefixes view.  It may appear in your Active Ontologies tab but if it doesn't you can add it with Window->Views->Ontology Views->Ontology Prefixes.  Then you can use the prefix to name the entity when you add the class.
>>
>> -Timothy
>>
>>
>>
>>>
>>> Thanks in advance,
>>>
>>> Santi
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>>
>>
>> _______________________________________________
>> 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
>
>
> _______________________________________________
> 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


_______________________________________________
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: External references in Protege 4

Matthew Horridge-2
Administrator
Hi Santi,

> Thanks Matthew, I think I get it,
>
> So the short answer could be that if I want to run a reasoner I have to explicitly import the external ontologies where referenced terms are stored.

Yes :)

> I guess I will have to work on how to extract relevant modules of them.

o.k.

>
> Thanks again for your time.

No problem!

Cheers,

Matthew



>
> Santi
>
> 2011/11/9 Matthew Horridge <[hidden email]>
> Hi,
>
> I think you have the wrong model of how things get loaded and how IRIs get used as names.  Ultimately, it's best *not* to think in terms of prefixes and namespaces.  Ontologies are named with IRIs, and entities (classes, properties etc.) are also named with IRIs, and that's it.  There is no connection between the name of an ontology and the names of entities in its signature.  If you have an ontology that defines <http://www.ontology.com/ontologies/anatomy.owl#Leg> then you need to explicitly import that ontology into the one that uses <http://www.ontology.com/ontologies/anatomy.owl#Leg>.  There is no requirement that the name of the ontology that defines <http://www.ontology.com/ontologies/anatomy.owl#Leg> bears any resemblance to <http://www.ontology.com/ontologies/anatomy.owl> at all. Hope that helps.
>
> Cheers,
>
> Matthew
>
>
>
> On 9 Nov 2011, at 13:45, Santiago Timón wrote:
>
> > I understand that you are referring to the entities IRI, but my doubt is about the ontology prefix IRI. Maybe I haven't explained well.
> >
> > I'll use an example. If the ontology I want to reference is stored in "/user/ontologies/anatomy.owl" and its ontology ID is http://www.ontology.com/ontologies/anatomy.owl which IRI should I specify as prefix? Depending on this the entities would be
> > /user/ontologies/anatomy.owl#Leg
> > or
> > http://www.ontology.com/ontologies/anatomy.owl#Leg
> >
> > My doubt is because the ontology ID http://www.ontology.com/ontologies/anatomy.owl may not be a real location, so how could the reasoner resolve it to load the actual file containing the referenced ontology.
> >
> > Santi
> >
> > 2011/11/9 Timothy Redmond <[hidden email]>
> >
> >> Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?
> >
> > The simple answer that usually works is to use the ontology ID followed with a # (but sometimes with a /).  This is not quite the right answer though.
> >
> > The right answer is that you should use prefixes that help you write the names of the terms that appear in the ontology that you are referencing.  An entity in an ontology has a full name, e.g. (guessing) something like
> >
> > http://www.ontology.com/ontologies/anatomy.owl#Leg
> >
> > These are the names that you want to quote in your ontology.  Usually the full name starts with the ontology ID but this is not required.
> >
> > -Timothy
> >
> >
> >
> > On 11/09/2011 10:53 AM, Santiago Timón wrote:
> >> Thanks a lot Timothy.
> >>
> >> This leads me to another question about ontology IDs that may be totally noob, but before digging into literature, you or someone else could give me a quick answer.
> >>
> >> Knowing I want to reason over these ontologies, which IRI should I put in the ontology prefixes entry? The absolute path of the referenced ontology or the ontology ID (such as http://www.ontology.com/ontologies/anatomy.owl)?
> >>
> >> Santi
> >>
> >> 2011/11/6 Timothy Redmond <[hidden email]>
> >> On 11/06/2011 03:33 AM, Santiago Timón wrote:
> >>> Hello.
> >>>
> >>> I am having problems with external references.
> >>> Simple things like indicating a class defined in my ontology is a subclass of a term of another ontology I do with the "Refactor-Change Entity URI" tool and inserting the external reference URI. But when I try to add restrictions like MyClass hasSomeProperty ExternalClass the class expression editor gives an error. Am I doing something wrong? Or the only way to do this is directly in XML?
> >>
> >> There are two issues - how to create and use entities with names outside your namespace and how to import and work with ontologies that are too large to import in their entirety.  The second may make the first irrelevant so I will start there.
> >>
> >>
> >>>
> >>> I am trying to do this because I am working in my MS thesis with very large biological ontologies and importing them directly seems to be inefficient or impossible. Also I would like to know how can I make efficient reasoning with this approach.
> >>
> >> You could create modules out of the large biological ontologies and work with these much smaller modules.  I haven't done this but I have read several of the papers and it seems like the right solution to your problem.  The important fact about modules is that an ontology is a conservative extension of its modules.  That is to say that anything that is entailed by the larger ontology and only uses the signature of the module is also entailed by the module.
> >>
> >> I did a google search and found a module extractor at http://code.google.com/p/owlme/.  It appears to be relatively active - there are updates as of May, 2011.
> >>
> >> The other issue is how you can create entities with names outside your namespace.  The answer is to use the "Ignore entity creation preferences" button when you are creating the entity.  You can at that point enter the full IRI for the entity.  But an easier method is to add a prefix to the ontology prefixes and then use the qualified name notation for the entity.
> >>
> >> To do this you will use the ontology prefixes view.  It may appear in your Active Ontologies tab but if it doesn't you can add it with Window->Views->Ontology Views->Ontology Prefixes.  Then you can use the prefix to name the entity when you add the class.
> >>
> >> -Timothy
> >>
> >>
> >>
> >>>
> >>> Thanks in advance,
> >>>
> >>> Santi
> >>>
> >>>
> >>> _______________________________________________
> >>> 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
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> 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
> >
> >
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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