[protege-owl] URIs, limitations and problems.

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

[protege-owl] URIs, limitations and problems.

Kostas Vavliakis
Hello,

I am using Protégé to develop an ontology and the Jena API to create a custom
application. I have some general questions about ontologies and owl.

From what I understand every resource such as class, individual or propery is a
URI. This means that two different individuals must have different URIs too.

What happens when two instances have the same name? For example in an ontology,
Apple could represent both the known fruit and the company Apple. Since the URI
<http://namespace#Apple> will have two rdf:type, it will be a member of both
classes <http://namespace#Fruit> and http://namespace#Company, right? But as you
can see there is no connection between the two classes.

Shouldn't there be a way to distinguish two concurrent concepts? I cannot change
the name, or the namespace, since the data already exist in a legacy database. I
don't even know if and which data will have the same URI.

Another reason I don't like URIs is because they introduce a lot of limitations,
for example I cannot create an instance named Vavliakis Kostas, it has to be
Vavliakis_Kostas. Is there any way to create instances with spaces, and other
illegal characters?
I guess an answer is to use datatype properties and xsd:String, so that there
will be no need to define everything as instances, but this isn’t possible
always, let alone the fact that creating an instance, give you much more power
and expressiveness, than creating a xsd:String.

I'm not even sure my speculations are correct, but I would like to hear your
comments.

Happy new year!

Kostas.


_______________________________________________
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: [protege-owl] URIs, limitations and problems.

Roger Brittain

Здравствуйте,

Welcome to the EU. J

 

Dr. Roger Brittain

The Old Rectory

Brinklow

Warwickshire

CV23 0NE

Great Britain

Telephone (44) 01788 832 660

Mobile 077 17 00 00 57

Email      [hidden email]

Website  www.brittain.cc

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Vavliakis Konstantinos
Sent: 03 January 2007 00:28
To: [hidden email]
Subject: [protege-owl] URIs, limitations and problems.

 

Hello,

 

I am using Protégé to develop an ontology and the Jena API to create a custom

application. I have some general questions about ontologies and owl.

 

From what I understand every resource such as class, individual or propery is a

URI. This means that two different individuals must have different URIs too.

 

What happens when two instances have the same name? For example in an ontology,

Apple could represent both the known fruit and the company Apple. Since the URI

<http://namespace#Apple> will have two rdf:type, it will be a member of both

classes <http://namespace#Fruit> and http://namespace#Company, right? But as you

can see there is no connection between the two classes.

 

Shouldn't there be a way to distinguish two concurrent concepts? I cannot change

the name, or the namespace, since the data already exist in a legacy database. I

don't even know if and which data will have the same URI.

 

Another reason I don't like URIs is because they introduce a lot of limitations,

for example I cannot create an instance named Vavliakis Kostas, it has to be

Vavliakis_Kostas. Is there any way to create instances with spaces, and other

illegal characters?

I guess an answer is to use datatype properties and xsd:String, so that there

will be no need to define everything as instances, but this isn’t possible

always, let alone the fact that creating an instance, give you much more power

and expressiveness, than creating a xsd:String.

 

I'm not even sure my speculations are correct, but I would like to hear your

comments.

 

Happy new year!

 

Kostas.

 

 

_______________________________________________

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: [protege-owl] URIs, limitations and problems.

Roger Brittain

Thank you.

 

The coat of arms of Brittany3Dr. Roger Brittain

The Old Rectory

Brinklow

Warwickshire

CV23 0NE

Great Britain

Telephone         (44) (0)1788 832 660

Mobile              077 17 00 00 57

Email                [hidden email]

Website            www.brittain.cc

Mobile Website www.brittain.mobi

Skype               roger.brittain

From: [hidden email] [mailto:[hidden email]] On Behalf Of Roger Brittain
Sent: 03 January 2007 00:50
To: User support for the Protege-OWL editor
Subject: Re: [protege-owl] URIs, limitations and problems.

 

Здравствуйте,

Welcome to the EU. J

 

Dr. Roger Brittain

The Old Rectory

Brinklow

Warwickshire

CV23 0NE

Great Britain

Telephone (44) 01788 832 660

Mobile 077 17 00 00 57

Email      [hidden email]

Website  www.brittain.cc

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Vavliakis Konstantinos
Sent: 03 January 2007 00:28
To: [hidden email]
Subject: [protege-owl] URIs, limitations and problems.

 

Hello,

 

I am using Protégé to develop an ontology and the Jena API to create a custom

application. I have some general questions about ontologies and owl.

 

From what I understand every resource such as class, individual or propery is a

URI. This means that two different individuals must have different URIs too.

 

What happens when two instances have the same name? For example in an ontology,

Apple could represent both the known fruit and the company Apple. Since the URI

<http://namespace#Apple> will have two rdf:type, it will be a member of both

classes <http://namespace#Fruit> and http://namespace#Company, right? But as you

can see there is no connection between the two classes.

 

Shouldn't there be a way to distinguish two concurrent concepts? I cannot change

the name, or the namespace, since the data already exist in a legacy database. I

don't even know if and which data will have the same URI.

 

Another reason I don't like URIs is because they introduce a lot of limitations,

for example I cannot create an instance named Vavliakis Kostas, it has to be

Vavliakis_Kostas. Is there any way to create instances with spaces, and other

illegal characters?

I guess an answer is to use datatype properties and xsd:String, so that there

will be no need to define everything as instances, but this isn’t possible

always, let alone the fact that creating an instance, give you much more power

and expressiveness, than creating a xsd:String.

 

I'm not even sure my speculations are correct, but I would like to hear your

comments.

 

Happy new year!

 

Kostas.

 

 

_______________________________________________

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 

image001.jpg (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [protege-owl] URIs, limitations and problems.

Thomas Russ
In reply to this post by Kostas Vavliakis

On Jan 2, 2007, at 4:28 PM, Vavliakis Konstantinos wrote:

> Hello,
>
> I am using Protégé to develop an ontology and the Jena API to  
> create a custom
> application. I have some general questions about ontologies and owl.
>
>> From what I understand every resource such as class, individual or  
>> propery is a
> URI. This means that two different individuals must have different  
> URIs too.
>
> What happens when two instances have the same name? For example in  
> an ontology,
> Apple could represent both the known fruit and the company Apple.  
> Since the URI
> <http://namespace#Apple> will have two rdf:type, it will be a  
> member of both
> classes <http://namespace#Fruit> and http://namespace#Company,  
> right? But as you
> can see there is no connection between the two classes.

Well, that is an error in your ontology.  The problem is that you are  
referring to two different objects using the same unique name.  You  
can't do that.

The whole point of a URI is that it be UNIVERSAL, in other words,  
that it uniquely identify an individual resource universally.  That  
means that you will either have to introduce separate namespaces for  
the two names or else choose different names for the entities, such  
as Apple_the_Company or Apple_the_Fruit.

>
> Shouldn't there be a way to distinguish two concurrent concepts?

Yes.  You give them different URIs.  The URIs are intended to be  
unique IDs.

Other names you can give with rdf:label or any other property of your  
choosing.  Those can be repeated or shared, since they do not impinge  
on the

In fact, there was recently someone on this board who suggested using  
generated URIs to name concepts just to avoid running into pitfalls  
like the one you find yourself in.


> I cannot change
> the name, or the namespace, since the data already exist in a  
> legacy database.

Then I assume that the legacy database has the same problem  
distinguishing between companies and fruit?

Perhaps what you need to do is find out what the database uses as a  
key and select that as the URI in your namespace, and add the name  
via rdf:label instead.

> I
> don't even know if and which data will have the same URI.
>
> Another reason I don't like URIs is because they introduce a lot of  
> limitations,
> for example I cannot create an instance named Vavliakis Kostas, it  
> has to be
> Vavliakis_Kostas. Is there any way to create instances with spaces,  
> and other
> illegal characters?

Any character can be encoded into a URI.  It may just need to be  
escaped.  Take a look at
<http://www.w3.org/Addressing/URL/URI_Overview.html> for the gory  
details.

As for your specific question, the URI would be Vavliakis%20Kostas

But it would generally be more convenient to put the name into a  
string-valued property like rdf:label or one or your own choosing  
instead.  Remember that URIs are supposed to be machine readable, and  
not necessarily human-readable.  Human readable content should go  
into strings.

> I guess an answer is to use datatype properties and xsd:String, so  
> that there
> will be no need to define everything as instances, but this isn’t  
> possible
> always, let alone the fact that creating an instance, give you much  
> more power
> and expressiveness, than creating a xsd:String.

That's part of the answer.  You use such a property on an instance  
with a unique name.

>
> I'm not even sure my speculations are correct, but I would like to  
> hear your
> comments.
>
> Happy new year!
>
> Kostas.
>
>
> _______________________________________________
> 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: [protege-owl] URIs, limitations and problems.

Kostas Vavliakis
Thomas Russ <tar <at> ISI.EDU> writes:

>
>
> On Jan 2, 2007, at 4:28 PM, Vavliakis Konstantinos wrote:
>
> > Hello,
> >
> > I am using Protégé to develop an ontology and the Jena API to  
> > create a custom
> > application. I have some general questions about ontologies and owl.
> >
> >> From what I understand every resource such as class, individual or  
> >> propery is a
> > URI. This means that two different individuals must have different  
> > URIs too.
> >
> > What happens when two instances have the same name? For example in  
> > an ontology,
> > Apple could represent both the known fruit and the company Apple.  
> > Since the URI
> > <http://namespace#Apple> will have two rdf:type, it will be a  
> > member of both
> > classes <http://namespace#Fruit> and http://namespace#Company,  
> > right? But as you
> > can see there is no connection between the two classes.
>
> Well, that is an error in your ontology.  The problem is that you are  
> referring to two different objects using the same unique name.  You  
> can't do that.
>
> The whole point of a URI is that it be UNIVERSAL, in other words,  
> that it uniquely identify an individual resource universally.  That  
> means that you will either have to introduce separate namespaces for  
> the two names or else choose different names for the entities, such  
> as Apple_the_Company or Apple_the_Fruit.
>
> >
> > Shouldn't there be a way to distinguish two concurrent concepts?
>
> Yes.  You give them different URIs.  The URIs are intended to be  
> unique IDs.
>
> Other names you can give with rdf:label or any other property of your  
> choosing.  Those can be repeated or shared, since they do not impinge  
> on the
>
> In fact, there was recently someone on this board who suggested using  
> generated URIs to name concepts just to avoid running into pitfalls  
> like the one you find yourself in.
>
> > I cannot change
> > the name, or the namespace, since the data already exist in a  
> > legacy database.
>
> Then I assume that the legacy database has the same problem  
> distinguishing between companies and fruit?


There is no such problem, since they belong to different columns, even to
different tables.


 
> Perhaps what you need to do is find out what the database uses as a  
> key and select that as the URI in your namespace, and add the name  
> via rdf:label instead.


Each table has an ascending number as primary key, so there isn't any unique
key for the whole database.


I am thinking of creating instances with URIs of unique ascending numbers,
and to give the real name of the instance via a rdf:label as you propose. In
this way the URIs will be machine-readable and unique and the information
that will be appeared in the GUI of my application will be the rdf:labels,
so it will be human readable too.
I suppose this is an acceptable solution.

Thank you Thomas!

Kostas.



_______________________________________________
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: [protege-owl] URIs, limitations and problems.

Leonard Levering
Intersting discussion in my view, technical it is quite clear how it is  
defined and how it works, but from an user point of view it is probably  
confusing or not to well defined.

>>  Shouldn't there be a way to distinguish two concurrent concepts?
>Yes.  You give them different URIs.  The URIs are intended to be unique  
> IDs.
>Other names you can give with rdf:label or any other property of your  
> choosing.  Those can be repeated or shared, since they do not impinge on  
> the
>In fact, there was recently someone on this board who suggested using  
> generated URIs to name concepts just to avoid running into pitfalls like  
> the one you find yourself in.

Unique URIs are clearly needed in ontologies, otherwise it would be  
impossible to use them, but sometimes they are more a burden than a help.  
That is because the URI is used on the one side as the machine-readable  
indentifier, but on the other side for the user as the (human-readable)  
name of a resource. Therefore it would probably be better to seperate  
these two kind of users (i.e. the computer and the humans), by making a  
special property or label, where a human readable (meaningful) name to a  
resource could be added. Of course you can do this now with the help of a  
label or (sometimes) a property, but this has a major drawback as most  
people will name this property 'name', but not everyone will do so and in  
the case of labels, which label declares the name, and what will the other  
labels declare, or if it are all names which one is preferred? This would  
be a big problem for interoperatability of ontologies when using them in  
GUIs.

So in my view it would be a good addition to OWL if a new option would be  
added to store a human-readable name that could be used in GUIs so users  
can identify the different resources.

Leonard

On Wed, 03 Jan 2007 04:03:42 +0100, Vavliakis Kostas <[hidden email]>  
wrote:

> Thomas Russ <tar <at> ISI.EDU> writes:
>
>>
>>
>> On Jan 2, 2007, at 4:28 PM, Vavliakis Konstantinos wrote:
>>
>> > Hello,
>> >
>> > I am using Protégé to develop an ontology and the Jena API to
>> > create a custom
>> > application. I have some general questions about ontologies and owl.
>> >
>> >> From what I understand every resource such as class, individual or
>> >> propery is a
>> > URI. This means that two different individuals must have different
>> > URIs too.
>> >
>> > What happens when two instances have the same name? For example in
>> > an ontology,
>> > Apple could represent both the known fruit and the company Apple.
>> > Since the URI
>> > <http://namespace#Apple> will have two rdf:type, it will be a
>> > member of both
>> > classes <http://namespace#Fruit> and http://namespace#Company,
>> > right? But as you
>> > can see there is no connection between the two classes.
>>
>> Well, that is an error in your ontology.  The problem is that you are
>> referring to two different objects using the same unique name.  You
>> can't do that.
>>
>> The whole point of a URI is that it be UNIVERSAL, in other words,
>> that it uniquely identify an individual resource universally.  That
>> means that you will either have to introduce separate namespaces for
>> the two names or else choose different names for the entities, such
>> as Apple_the_Company or Apple_the_Fruit.
>>
>> >
>> > Shouldn't there be a way to distinguish two concurrent concepts?
>>
>> Yes.  You give them different URIs.  The URIs are intended to be
>> unique IDs.
>>
>> Other names you can give with rdf:label or any other property of your
>> choosing.  Those can be repeated or shared, since they do not impinge
>> on the
>>
>> In fact, there was recently someone on this board who suggested using
>> generated URIs to name concepts just to avoid running into pitfalls
>> like the one you find yourself in.
>>
>> > I cannot change
>> > the name, or the namespace, since the data already exist in a
>> > legacy database.
>>
>> Then I assume that the legacy database has the same problem
>> distinguishing between companies and fruit?
>
>
> There is no such problem, since they belong to different columns, even to
> different tables.
>
>
>
>> Perhaps what you need to do is find out what the database uses as a
>> key and select that as the URI in your namespace, and add the name
>> via rdf:label instead.
>
>
> Each table has an ascending number as primary key, so there isn't any  
> unique
> key for the whole database.
>
>
> I am thinking of creating instances with URIs of unique ascending  
> numbers,
> and to give the real name of the instance via a rdf:label as you  
> propose. In
> this way the URIs will be machine-readable and unique and the information
> that will be appeared in the GUI of my application will be the  
> rdf:labels,
> so it will be human readable too.
> I suppose this is an acceptable solution.
>
> Thank you Thomas!
>
> Kostas.
>
>
>
> _______________________________________________
> 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: [protege-owl] URIs, limitations and problems.

Thomas Russ
In reply to this post by Kostas Vavliakis

On Jan 2, 2007, at 7:03 PM, Vavliakis Kostas wrote:

> Thomas Russ <tar <at> ISI.EDU> writes:
>
>> Perhaps what you need to do is find out what the database uses as a
>> key and select that as the URI in your namespace, and add the name
>> via rdf:label instead.
>
>
> Each table has an ascending number as primary key, so there isn't  
> any unique
> key for the whole database.
>
>
> I am thinking of creating instances with URIs of unique ascending  
> numbers,
> and to give the real name of the instance via a rdf:label as you  
> propose.

This sounds reasonable.  You could also generate the URI as a string  
created from TableName + KeyNumber, which would be unique across all  
of the database instances.

> In
> this way the URIs will be machine-readable and unique and the  
> information
> that will be appeared in the GUI of my application will be the  
> rdf:labels,
> so it will be human readable too.
> I suppose this is an acceptable solution.

_______________________________________________
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: [protege-owl] URIs, limitations and problems.

Thomas Russ
In reply to this post by Leonard Levering

On Jan 3, 2007, at 2:24 AM, Leonard Levering wrote:

> Intersting discussion in my view, technical it is quite clear how  
> it is
> defined and how it works, but from an user point of view it is  
> probably
> confusing or not to well defined.
>
>>>  Shouldn't there be a way to distinguish two concurrent concepts?
>> Yes.  You give them different URIs.  The URIs are intended to be  
>> unique
>> IDs.
>> Other names you can give with rdf:label or any other property of your
>> choosing.  Those can be repeated or shared, since they do not  
>> impinge on
>> the
>> In fact, there was recently someone on this board who suggested using
>> generated URIs to name concepts just to avoid running into  
>> pitfalls like
>> the one you find yourself in.
>
> Unique URIs are clearly needed in ontologies, otherwise it would be
> impossible to use them, but sometimes they are more a burden than a  
> help.
> That is because the URI is used on the one side as the machine-
> readable
> indentifier, but on the other side for the user as the (human-
> readable)
> name of a resource. Therefore it would probably be better to seperate
> these two kind of users (i.e. the computer and the humans), by  
> making a
> special property or label, where a human readable (meaningful) name  
> to a
> resource could be added. Of course you can do this now with the  
> help of a
> label or (sometimes) a property, but this has a major drawback as most
> people will name this property 'name', but not everyone will do so  
> and in
> the case of labels, which label declares the name, and what will  
> the other
> labels declare, or if it are all names which one is preferred? This  
> would
> be a big problem for interoperatability of ontologies when using  
> them in
> GUIs.
>
> So in my view it would be a good addition to OWL if a new option  
> would be
> added to store a human-readable name that could be used in GUIs so  
> users
> can identify the different resources.

This all sounds like a reasonable proposal.

If you want to enforce a single "preferred" name, then it would seem  
that making this a Functional Datatype property would be the way to go.

Taking this a step further, perhaps there should be the option of  
including language differentiation for the human readable name, to  
facilitate cross-language names.  This might make it a little  
trickier to have the property be functional, though.  I'm not sure  
what the interaction between the language attribute and functional  
properties is.  (Anyone know?).

One could even have a (short) hierarchy of such name properties,  
which would allow for synonyms as well as having a preferred or  
canonical name.

One open question is whether one should impose a good design  
requirement that the preferred names be unique.  I'm not sure if this  
would be good thing or not.

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

[protege-owl] Trouble loading an ontology

Paolo Di Pietro
 
Hi all,

I'm experiencing some trouble when loading an ontology into protege.

I'm not sure it's my fault (about owl sintax) or an incorrect behavior:
Protege suggest me to validate the ontology and it validates!

Enclose there is a short file failing to load: Protege doesn't correctly
decode the following statement:

                                <tech:hasStereotype
rdf:resource="tech:ModuloForm"/>

because it doesn't recognize the namespace prefix tech: in
"tech:ModuloForm".

The following version loads correctly:

                                <tech:hasStereotype
rdf:resource="http://arianna.diviana.net/ontology/technical#ModuloForm"/
>

My opinion is that Protege should understand both cases! Of course, the
Namespace has been previously declared as:

       
xmlns:tech="http://arianna.diviana.net/ontology/technical#"

Anyone can help?

Thank you

Paolo

_______________________________________________
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 

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

Re: [protege-owl] Trouble loading an ontology

Thomas Russ

On Jan 3, 2007, at 4:14 PM, Paolo Di Pietro wrote:

>
> Hi all,
>
> I'm experiencing some trouble when loading an ontology into protege.
>
> I'm not sure it's my fault (about owl sintax) or an incorrect  
> behavior:
> Protege suggest me to validate the ontology and it validates!
>
> Enclose there is a short file failing to load: Protege doesn't  
> correctly
> decode the following statement:
>
> <tech:hasStereotype
> rdf:resource="tech:ModuloForm"/>
>
> because it doesn't recognize the namespace prefix tech: in
> "tech:ModuloForm".
>
> The following version loads correctly:
>
> <tech:hasStereotype
> rdf:resource="http://arianna.diviana.net/ontology/ 
> technical#ModuloForm"/
>>
>
> My opinion is that Protege should understand both cases! Of course,  
> the
> Namespace has been previously declared as:

Unfortunately for you, this is behavior that is specified by the W3C  
committee, and Protege's parser conforms to that standard.  Namespace  
prefixes are not expanded in the value position of XML attributes.

This really isn't anything that Protege can change.  You will have to  
either use the fully qualified name in the resource position, or else  
you will need to arrange to also setup "tech" as a DOCTYPE ENTITY  
definition in the XML header of the file and then use something like

   <!DOCTYPE rdf:RDF [<!ENTITY tech "http://arianna.diviana.net/ 
ontology/technical#"]>

   ....
      <tech:hasStereotype rdf:resource="&tech;ModuloForm"/>


_______________________________________________
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: [protege-owl] URIs, limitations and problems.

Leonard Levering
In reply to this post by Thomas Russ
> If you want to enforce a single "preferred" name, then it would seem
> that making this a Functional Datatype property would be the way to go.
>
> Taking this a step further, perhaps there should be the option of
> including language differentiation for the human readable name, to
> facilitate cross-language names.  This might make it a little
> trickier to have the property be functional, though.  I'm not sure
> what the interaction between the language attribute and functional
> properties is.  (Anyone know?).

Because of the OWL standard multi-language support it should definitely be  
done in a way like you propose. Only for as far as I can find it in the  
documentation of OWL it is not possible to define multiple values for a  
functional property, even while being unique per language. For as far as I  
know this implementation is not yet possible with the OWL spec as it  
currently is. Maybe this will change with OWL 1.1 or further. I think this  
is really a very well idea!

> One could even have a (short) hierarchy of such name properties,
> which would allow for synonyms as well as having a preferred or
> canonical name.

 From one side this is a good idea and I like it very much, but I am afraid  
it will make it a bit too difficult for people to implement (and populate  
this lists) and you might need some (more) changes in thw OWL spec to  
achieve this. Although I very often use a property 'synonym' to define  
synonyms for classes and individuals, this could be replaced by the  
already available option equivalentClass and sameAs in OWL. Although the  
trouble with this is that more resources than needed have to show up in an  
ontology editor. I am in doubt if and/or how this could be avoided, maybe  
it should be possible to define for one class/individual in a  
sameAs/equivalentClass group that it is the preferred class/individual  
(being the first among equals).

> One open question is whether one should impose a good design
> requirement that the preferred names be unique.  I'm not sure if this
> would be good thing or not.

I think you cannot make the use of a separate name property obligatory and  
for people who wouldn't use it nothing would change. The localname part of  
the URI could still be used to identify classes/individuals by humans,  
probably many people will have examples of (parts of) ontologies that are  
used, but do not have to be human-readable. However it would be good to  
define a standard that people can use, if they want to define a  
human-readable way, in order to be able to interchange ontologies among  
GUIs. Probably people will argue that this can be achieved by using a  
widely used upper-level ontology, partly it can be done, but for as far as  
I can see the functional property as it currently is cannot be used for  
what we want to achieve. Furthermore, I don't think it is realistic to  
expect (at least for the moment of being) that a broad (world-wide)  
agreement will be reached to use a foundational ontology and if this is  
agreed to use a common one as foundation for all ontologies. Only if  
Protege would push the use of a specific ontology it would maybe help (I  
think you shouldn't want to), but in my view this should be in the OWL  
standard itself (maybe as a special property or like a label as  
owl:versionInfo) as it could be almost as important as the  
owl:versionInfo, it is not obligatory to use, but it will aid the  
development of ontologies quite much.

On Wed, 03 Jan 2007 19:14:47 +0100, Thomas Russ <[hidden email]> wrote:

>
> On Jan 3, 2007, at 2:24 AM, Leonard Levering wrote:
>
>> Intersting discussion in my view, technical it is quite clear how
>> it is
>> defined and how it works, but from an user point of view it is
>> probably
>> confusing or not to well defined.
>>
>>>>  Shouldn't there be a way to distinguish two concurrent concepts?
>>> Yes.  You give them different URIs.  The URIs are intended to be
>>> unique
>>> IDs.
>>> Other names you can give with rdf:label or any other property of your
>>> choosing.  Those can be repeated or shared, since they do not
>>> impinge on
>>> the
>>> In fact, there was recently someone on this board who suggested using
>>> generated URIs to name concepts just to avoid running into
>>> pitfalls like
>>> the one you find yourself in.
>>
>> Unique URIs are clearly needed in ontologies, otherwise it would be
>> impossible to use them, but sometimes they are more a burden than a
>> help.
>> That is because the URI is used on the one side as the machine-
>> readable
>> indentifier, but on the other side for the user as the (human-
>> readable)
>> name of a resource. Therefore it would probably be better to seperate
>> these two kind of users (i.e. the computer and the humans), by
>> making a
>> special property or label, where a human readable (meaningful) name
>> to a
>> resource could be added. Of course you can do this now with the
>> help of a
>> label or (sometimes) a property, but this has a major drawback as most
>> people will name this property 'name', but not everyone will do so
>> and in
>> the case of labels, which label declares the name, and what will
>> the other
>> labels declare, or if it are all names which one is preferred? This
>> would
>> be a big problem for interoperatability of ontologies when using
>> them in
>> GUIs.
>>
>> So in my view it would be a good addition to OWL if a new option
>> would be
>> added to store a human-readable name that could be used in GUIs so
>> users
>> can identify the different resources.
>
> This all sounds like a reasonable proposal.
>
> If you want to enforce a single "preferred" name, then it would seem
> that making this a Functional Datatype property would be the way to go.
>
> Taking this a step further, perhaps there should be the option of
> including language differentiation for the human readable name, to
> facilitate cross-language names.  This might make it a little
> trickier to have the property be functional, though.  I'm not sure
> what the interaction between the language attribute and functional
> properties is.  (Anyone know?).
>
> One could even have a (short) hierarchy of such name properties,
> which would allow for synonyms as well as having a preferred or
> canonical name.
>
> One open question is whether one should impose a good design
> requirement that the preferred names be unique.  I'm not sure if this
> would be good thing or not.
>
> _______________________________________________
> 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
>


--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
_______________________________________________
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
|

[protege-owl] Quick restriction editor

Alan March
Hi all.

According to the info in the wizard, only necessary and sufficient
restrictions are created. Nevetheless, once done, the restrictions I get are
placed in the necessary box. Is this a mistake in the description of the
wizard's function?

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

[protege-owl] Using string without language

Paolo Di Pietro
In reply to this post by Paolo Di Pietro
 
Hi all,

I'd like to specify a string property for a class.

BUT, there are cases when I don't need to specify the xml:lang because
the content must represent just a sequence of chars, without a language
reference.

I was not able to find any solution.

Can anyone suggest me a way to accomplish it?

Thank you

Paolo
_______________________________________________
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: [protege-owl] Quick restriction editor

Tania Tudorache
In reply to this post by Alan March
Hi Alan,

Thank you for the bug report. I have added it to our bug database:
http://smi-protege.stanford.edu/bugzilla/show_bug.cgi?id=321

Tania

Alan March wrote:

> Hi all.
>
> According to the info in the wizard, only necessary and sufficient
> restrictions are created. Nevetheless, once done, the restrictions I get are
> placed in the necessary box. Is this a mistake in the description of the
> wizard's function?
>
> _______________________________________________
> 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: [protege-owl] Using string without language

Tania Tudorache
In reply to this post by Paolo Di Pietro
Paolo,

I suppose you are referring to the IndividualsTab and the
MultiLiteralWidget. After setting a string value for a property, you can
select as the language the empty string (the first element in the
language combo box).

Tania


Paolo Di Pietro wrote:

>  
> Hi all,
>
> I'd like to specify a string property for a class.
>
> BUT, there are cases when I don't need to specify the xml:lang because
> the content must represent just a sequence of chars, without a language
> reference.
>
> I was not able to find any solution.
>
> Can anyone suggest me a way to accomplish it?
>
> Thank you
>
> Paolo
> _______________________________________________
> 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: [protege-owl] Quick restriction editor

Alan March
In reply to this post by Tania Tudorache
It's probably more of a mixup than a bug. Probably the best way around is to
allow the user to select the manner of edition he prefers: N or N&S. I think
that would be most useful.

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of
> Tania Tudorache
> Sent: Monday, January 08, 2007 5:33 PM
> To: User support for the Protege-OWL editor
> Subject: Re: [protege-owl] Quick restriction editor
>
> Hi Alan,
>
> Thank you for the bug report. I have added it to our bug database:
> http://smi-protege.stanford.edu/bugzilla/show_bug.cgi?id=321
>
> Tania
>
> Alan March wrote:
> > Hi all.
> >
> > According to the info in the wizard, only necessary and sufficient
> > restrictions are created. Nevetheless, once done, the
> restrictions I
> > get are placed in the necessary box. Is this a mistake in the
> > description of the wizard's function?
> >
> > _______________________________________________
> > 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
|

[protege-owl] R: Using string without language

Paolo Di Pietro
In reply to this post by Tania Tudorache
Tania,

Thank you for your reply.

Yes, this is a practical solution, but I  feel it's not semantically correct. What I need is the ability to communicate that a value property must be language independent, so a 'generic' user doesn't try to fill with wrong data.

Paolo

-----Messaggio originale-----
Da: [hidden email] [mailto:[hidden email]] Per conto di Tania Tudorache
Inviato: lunedì 8 gennaio 2007 21.37
A: User support for the Protege-OWL editor
Oggetto: Re: [protege-owl] Using string without language

Paolo,

I suppose you are referring to the IndividualsTab and the MultiLiteralWidget. After setting a string value for a property, you can select as the language the empty string (the first element in the language combo box).

Tania


Paolo Di Pietro wrote:

>  
> Hi all,
>
> I'd like to specify a string property for a class.
>
> BUT, there are cases when I don't need to specify the xml:lang because
> the content must represent just a sequence of chars, without a
> language reference.
>
> I was not able to find any solution.
>
> Can anyone suggest me a way to accomplish it?
>
> Thank you
>
> Paolo
> _______________________________________________
> 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