OWL individuals

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

OWL individuals

Eugenio Tacchini
Hello,

I have a "car" class and I want to "link" each car individual to an URL.
I have used this code:

<owl:Class rdf:ID="cars"/>
<cars
rdf:resource="http://www.mysite.org/cars/index.php?parameter1=value1&amp;parameter2=value2"/>

The file is validated by
http://phoebus.cs.man.ac.uk:9999/OWL/Validator but protege 3.2.1
shows to me this errore message: "resource not allowed as attribute here."

I saw that protege uses "ID" and not "resource" for individuals, but
"resource" should be valid too, isn't it?

Thanks.

Regards,

Eugenio.

_______________________________________________
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: OWL individuals

Timothy Redmond

Herein is the big advantage of writing OWL with an editor rather than
mucking with the rdf syntax directly.

When you went to the validator, there was one anomaly that you did not
notice.  Yes, it did validate the ontology as owl lite but notice the
name of the individual in the abstract  syntax representation that it
displayed:

 Class(a:cars partial)

 Individual(_
  type(a:cars))

The name that you wanted for the individual has been lost.  Replace the
rdf:resource with rdf:ID and you get something much better:

 Class(a:cars partial)

 Individual(<http://www.owl-ontologies.com/Cars.owl#http://www.mysite.org/cars/index.php?parameter1=value1&parameter2=value2>
  type(a:cars))

Going back to the definitions of rdf
(http://www.w3.org/TR/rdf-syntax-grammar/) we see that you are not using
rdf:resource correctly.  So their first example shows

    <rdf:Description ex:fullName="Dave Beckett">
      <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
    </rdf:Description>

In this fragment the ex:homePage is the property  and the resource is
indicating the id of a value for this property.  So the triple
represented by this fragment has the form

   < Subject = Description resource whose full name is "Dave Beckett"
      Predicate = "ex:homePage"
      Object = Resource with id "http://purl.org/net/dajobe/" >

So the validator ignored the rdf:resource statement as meaningless but
Protege (probably because it used Jena) warned you about this.

-Timothy


Eugenio Tacchini wrote:

> Hello,
>
> I have a "car" class and I want to "link" each car individual to an URL.
> I have used this code:
>
> <owl:Class rdf:ID="cars"/>
> <cars
> rdf:resource="http://www.mysite.org/cars/index.php?parameter1=value1&amp;parameter2=value2"/>
>
> The file is validated by
> http://phoebus.cs.man.ac.uk:9999/OWL/Validator but protege 3.2.1
> shows to me this errore message: "resource not allowed as attribute here."
>
> I saw that protege uses "ID" and not "resource" for individuals, but
> "resource" should be valid too, isn't it?
>
> Thanks.
>
> Regards,
>
> Eugenio.
>
> _______________________________________________
> 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: OWL individuals

Timothy Redmond

Oops - there is of course another anomaly.  Use rdf:about and you will
get the name you really wanted.

-Timothy


Timothy Redmond wrote:

> Herein is the big advantage of writing OWL with an editor rather than
> mucking with the rdf syntax directly.
>
> When you went to the validator, there was one anomaly that you did not
> notice.  Yes, it did validate the ontology as owl lite but notice the
> name of the individual in the abstract  syntax representation that it
> displayed:
>
>  Class(a:cars partial)
>
>  Individual(_
>   type(a:cars))
>
> The name that you wanted for the individual has been lost.  Replace the
> rdf:resource with rdf:ID and you get something much better:
>
>  Class(a:cars partial)
>
>  Individual(<http://www.owl-ontologies.com/Cars.owl#http://www.mysite.org/cars/index.php?parameter1=value1&parameter2=value2>
>   type(a:cars))
>
> Going back to the definitions of rdf
> (http://www.w3.org/TR/rdf-syntax-grammar/) we see that you are not using
> rdf:resource correctly.  So their first example shows
>
>     <rdf:Description ex:fullName="Dave Beckett">
>       <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
>     </rdf:Description>
>
> In this fragment the ex:homePage is the property  and the resource is
> indicating the id of a value for this property.  So the triple
> represented by this fragment has the form
>
>    < Subject = Description resource whose full name is "Dave Beckett"
>       Predicate = "ex:homePage"
>       Object = Resource with id "http://purl.org/net/dajobe/" >
>
> So the validator ignored the rdf:resource statement as meaningless but
> Protege (probably because it used Jena) warned you about this.
>
> -Timothy
>
>
> Eugenio Tacchini wrote:
>  
>> Hello,
>>
>> I have a "car" class and I want to "link" each car individual to an URL.
>> I have used this code:
>>
>> <owl:Class rdf:ID="cars"/>
>> <cars
>> rdf:resource="http://www.mysite.org/cars/index.php?parameter1=value1&amp;parameter2=value2"/>
>>
>> The file is validated by
>> http://phoebus.cs.man.ac.uk:9999/OWL/Validator but protege 3.2.1
>> shows to me this errore message: "resource not allowed as attribute here."
>>
>> I saw that protege uses "ID" and not "resource" for individuals, but
>> "resource" should be valid too, isn't it?
>>
>> Thanks.
>>
>> Regards,
>>
>> Eugenio.
>>
>> _______________________________________________
>> 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: OWL individuals

Eugenio Tacchini
At 11.25 19/04/2007 -0700, you wrote:
 >
 >Oops - there is of course another anomaly.  Use rdf:about and you will
 >get the name you really wanted.
 >
 >-Timothy

Hello,
first of all, thanks for your reply.
I'm not sure I have got exactly what you mean:

1) rdf:resource can't be used for individuals but only for property
and restriction values (and maybe something else)? If yes, I don't
understand why that piece of code passes the validator test

2) I can't use ID, I don't want this absolute URI for the individual:
http://www.owl-ontologies.com/Cars.owl#http://www.mysite.org/cars/index.php?parameter1=value1&parameter2=value2
but this one:
http://www.mysite.org/cars/index.php?parameter1=value1&parameter2=value2
and I can't specify an absolute URI using ID if the URI doesn't
contain the # character

3) I have tried rdf:about and it works well, I thought that rdf:about
could be used just together with description but now I guess it's
different, so:
<cars
rdf:about="http://www.mysite.org/cars/index.php?parameter1=value1&amp;parameter2=value2"/>
is ok?

I can say that:

<owl:Class rdf:ID="cars"/>
<cars rdf:about="http://www.mysite.org/cars#1"/>

and:

xml:base="http://www.mysite.org/cars
<owl:Class rdf:ID="cars"/>
<cars rdf:ID="1"/>

are exactly the same thing?

Thanks in advance.

Regards,

Eugenio.

_______________________________________________
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: OWL individuals

Timothy Redmond

I would reiterate my suggestion that you use an OWL editor rather  
than edit rdf by hand.  Protege and Swoop are free but you can also  
buy OWL editors.

> Hello,
> first of all, thanks for your reply.
> I'm not sure I have got exactly what you mean:
>
> 1) rdf:resource can't be used for individuals but only for property
> and restriction values (and maybe something else)? If yes, I don't
> understand why that piece of code passes the validator test

I suspect that - if you really want to follow this path - what you  
are going to have to do is study the rdf specifications (http://
www.w3.org/RDF) and understand rdf:resource from them.  You are  
working directly with the rdf syntax for OWL.  I did this not too  
long ago (a year + some months)...


> 2) I can't use ID, I don't want this absolute URI for the individual:
> http://www.owl-ontologies.com/Cars.owl#http://www.mysite.org/cars/ 
> index.php?parameter1=value1&parameter2=value2
> but this one:
> http://www.mysite.org/cars/index.php?
> parameter1=value1&parameter2=value2
> and I can't specify an absolute URI using ID if the URI doesn't
> contain the # character

Yes - I noticed this.  That is why I suggested  rdf:about:

> At 11.25 19/04/2007 -0700, Timothy Redmond wrote:
>>
>> Oops - there is of course another anomaly.  Use rdf:about and you  
>> will
>> get the name you really wanted.




> 3) I have tried rdf:about and it works well, I thought that rdf:about
> could be used just together with description but now I guess it's
> different, so:
> <cars
> rdf:about="http://www.mysite.org/cars/index.php?
> parameter1=value1&amp;parameter2=value2"/>
> is ok?

The main difference between rdf:ID and rdf:about are how they  
influence naming.  So rdf:about is fine.

> I can say that:
>
> <owl:Class rdf:ID="cars"/>
> <cars rdf:about="http://www.mysite.org/cars#1"/>
>
> and:
>
> xml:base="http://www.mysite.org/cars
> <owl:Class rdf:ID="cars"/>
> <cars rdf:ID="1"/>
>
> are exactly the same thing?

There is some algorithm that combines the xmlns, the xmlbase and the  
string in the rdf:about or rdf:ID that determines the URI.  But I  
have never found a full description of this in the rdf standard.  It  
is easy to find things that are wrong (the w3.org xml namespace  
document does not apply).  Also there is a #'s vs /'s thing that you  
would need  to study.

My method if I want to be sure  about the names is run it through  
some standard parser (jena, the rdfapi, the owl validator, etc) to  
see if the names are what I expect.  They all seem to arrive at the  
same conclusion.

-Timothy

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

hello

Antonio Orsini
hello people

I have a lot of questions about protege and ontologies, and my english is
not so good. Does anybody know a group in spanish?

im trying to do an ontology about organizations for the goverment of water
here in mendoza, argentina and i have a lot of doubts.
Any sugestion will be welcome.

best regards

antonio


_______________________________________________
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: OWL individuals

Timothy Redmond
In reply to this post by Timothy Redmond

>> I can say that:
>>
>> <owl:Class rdf:ID="cars"/>
>> <cars rdf:about="http://www.mysite.org/cars#1"/>
>>
>> and:
>>
>> xml:base="http://www.mysite.org/cars
>> <owl:Class rdf:ID="cars"/>
>> <cars rdf:ID="1"/>
>>
>> are exactly the same thing?
>
> There is some algorithm that combines the xmlns, the xmlbase and the
> string in the rdf:about or rdf:ID that determines the URI.  But I
> have never found a full description of this in the rdf standard.  It
> is easy to find things that are wrong (the w3.org xml namespace
> document does not apply).  Also there is a #'s vs /'s thing that you
> would need  to study.

The #'s vs. /'s thing is explained in  http://www.w3.org/TR/swbp- 
vocab-pub/#naming.

-Timothy

_______________________________________________
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: OWL individuals

Eugenio Tacchini
In reply to this post by Timothy Redmond
At 08.11 20/04/2007 -0700, you wrote:
 >
 >I would reiterate my suggestion that you use an OWL editor rather
 >than edit rdf by hand.  Protege and Swoop are free but you can also
 >buy OWL editors.

[...]

Hi Timothy,
thanks for both your replies.
The reason I'm editing rdf by hand is that I'm developing a PHP
application which is supposed to produce an OWL ontology in output.
As far as I know at the moment there aren't any PHP library that
provides OWL APIs for PHP (please let me know if something is
actually available) so I have to write OWL code "by hand".

Regards,

Eugenio.

_______________________________________________
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: OWL individuals

Alan March
Hi.

Sometime ago I posted a message inquiring as to the intended use of multiple
Necessary and Sufficient blocks. I did receive some answers, but they were
mostly examples, and did not quite answer my question.

So again, when should multiple N&S blocks be used? As far as I have
reasoned, they should be used when different groups of axioms, each of them
by themselves or together, allow for a complete definition of a class.
Horridge et al's Owl Tutorial carries an example of *how* to establish
multiple N&S blocks, but, at least to the best of my undestanding, not
*when* to use them. As far as I can gather, it would seem that they must be
used in the manner I explained above. Thus, an individual may be considered
a member of the "triangle" class when it *either* "has three angles and is a
subclass of shape" **or** "has three sides and is a subclass of shape", or
*both*. When I emphasize "both", I mean to say that if such individual
fullfilled both N&S blocks, it would also be a member of the triangle class.
So, my conclusion is that multiple N&S blocks would seem to boil down to a
sort of "and/or" situation, where a class may be defined as such if it
carries either block or both blocks. Am I right in this assumption?

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

java on protege

Victor Manuel-2
In reply to this post by Eugenio Tacchini
Hi All,  which is the java version with which  protege 3.2.1 (build 365) was compiled? I am currently developing a plug in for protege, I was using java 1.5, and it works on my windows computer, but as soon as I try it on my mac it does not recognizes the java version. In other words it works fine on windows, but not on mac computers. Any hints on this? cheers.

PS there is no java 1.6 for protege, is there?




Ahhh...imagining that irresistible "new car" smell?
Check out new cars at Yahoo! Autos.
_______________________________________________
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: java on protege

Timothy Redmond

Hi All,  which is the java version with which  protege 3.2.1 (build 365) was compiled? I am currently developing a plug in for protege,

Java 1.5.

I was using java 1.5, and it works on my windows computer, but as soon as I try it on my mac it does not recognizes the java version.

First of all, the mac must be running Tiger (OS x version 10.4) or better.  Once this is true you need to ensure that the Mac has Java 1.5 installed   To check the version, open a command line window and type "/usr/bin/java -version".  There are three possibilities:

1. you get something like "command not found".  Actually I am not sure if this is possible but if it happens it means that you need to install Java 1.5.

2. It will report an earlier version of Java.  In this case you need to install and/or configure the computer to use Java 1.5.  You can find infomration about getting Java 1.5 on the apple site (http://developer.apple.com/java/).

3. It will report Java version 1.5 in which case you are using the right version of Java.

In other words it works fine on windows, but not on mac computers. Any hints on this? cheers. 

It does work fine on a Mac.  I use the Mac as my main development machine.

PS there is no java 1.6 for protege, is there? 

We don't support Java 1.6 yet because - unless you pay up to be an apple developer - there is no Java 1.6 for os x.  I have already heard some reports that Protege doesn't work properly with Java 1.6.   We will move to Java 1.6 sometime after the apple makes java 1.6 available for os x.

-Timothy


_______________________________________________
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: java on protege

Gary Schiltz
Just a couple of minor points: I run Protege 3.2.1 with no problems using Java 1.6 on Windows. Since I don't use a Macintosh at work, I haven't tried 1.6 and so can't comment on using it on a Mac. But even though I work on a Windows machine, I do dabble in OS X a bit at home. Even the free Apple Developer Connection account that I signed up for allowed me to download Java 1.6, so you don't have to pay to get it.

// Gary Schiltz

On 4/23/2007 8:39 AM, Timothy Redmond wrote:
PS there is no java 1.6 for protege, is there? 

We don't support Java 1.6 yet because - unless you pay up to be an apple developer - there is no Java 1.6 for os x.  I have already heard some reports that Protege doesn't work properly with Java 1.6.   We will move to Java 1.6 sometime after the apple makes java 1.6 available for os x.

-Timothy

_______________________________________________
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: OWL individuals

Thomas Russ
In reply to this post by Alan March

On Apr 21, 2007, at 10:02 AM, Alan March wrote:

> Hi.
>
> Sometime ago I posted a message inquiring as to the intended use of  
> multiple
> Necessary and Sufficient blocks. I did receive some answers, but  
> they were
> mostly examples, and did not quite answer my question.
>
> So again, when should multiple N&S blocks be used? As far as I have
> reasoned, they should be used when different groups of axioms, each  
> of them
> by themselves or together, allow for a complete definition of a class.
> Horridge et al's Owl Tutorial carries an example of *how* to establish
> multiple N&S blocks, but, at least to the best of my undestanding, not
> *when* to use them. As far as I can gather, it would seem that they  
> must be
> used in the manner I explained above. Thus, an individual may be  
> considered
> a member of the "triangle" class when it *either* "has three angles  
> and is a
> subclass of shape" **or** "has three sides and is a subclass of  
> shape", or
> *both*. When I emphasize "both", I mean to say that if such individual
> fullfilled both N&S blocks, it would also be a member of the  
> triangle class.
> So, my conclusion is that multiple N&S blocks would seem to boil  
> down to a
> sort of "and/or" situation, where a class may be defined as such if it
> carries either block or both blocks. Am I right in this assumption?

Yes.

Conceptually, I like to think of the necessary and sufficient  
conditions separately.
There are some examples one can come up with where sufficient, but  
not necessary conditions apply.

By separating the necessary and sufficient, one can then make a bit  
more sense of things like the triangle case.

A triangle has 3 sides and 3 angles as necessary conditions.
In other words, every triangle must have both 3 sides and 3 angles.

Having 3 sides is a sufficient condition for being a triangle.

Having 3 angles is a (separate) sufficient condition for being a  
triangle.

The reason I like to separate such concerns has to do with the way  
inference works.  If all that you know about a polygon is that it has  
3 sides, then that is SUFFICIENT information to conclude it is a  
triangle.  At that point, the necessary condition that it also have 3  
angles comes into play.

As an example of sufficient but not necessary conditions, consider  
the following conditions for being a Student:
    enrolled-in some University
    enrolled-in some Technical-Institute
    enrolled-in some Community-College

The modeling of sufficient, but not necessary conditions in OWL (and  
Protégé) can be done by subclassing and putting both necessary and  
sufficient conditions on the subclass.  Proper subclasses are  
sufficient but not necessary conditions for membership in their  
parent class.

That generally means that most such issues in description logics are  
solved using the class/subclass system.  In the student example, a  
common modeling method would be to have an umbrella concept like  
Institution-of-Higher-Education that subsumes all of the types  
listed, and then have a single N&S condition for that instead.

But one can imagine situations where the individual conditions do not  
warrant having their own class definition, in which case, separate  
sufficient conditions may be justified.

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

Use of multiple necessary and sufficient blocks....and tree representation of equivalents

Alan March
OK. Got it.

My confusion arose from the fact that, on detecting equivalences, Protégé
not only places them alonside the original class (as greyed classes) but
also -graphically- subclasses them. I wrote about this behaviour some time
ago, as I cannot quite understand why Protégé designers did this. Is there
a reason for this, or am I again out on a limb? It seems somehow
counterintuitive to have a class resulting both as an equivalent and a
subclass after running a classification. The problem arises when after
classification both real subclasses and equivalents are rendered as
(graphical) subclasses. They get mixed up and the final graphical
representation is difficult to read. Wouldn't it be more convenient, for
user's sake, to just leave equivalents greyed and on the same line as the
"main" class and linked by the Ξ sign?

Regarding Thomas' answer seconds ago, my case was something on the lines of
what he exemplifies in the last paragraph.

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]] On Behalf Of
> Thomas Russ
> Sent: Monday, April 23, 2007 3:48 PM
> To: User support for the Protege-OWL editor
> Subject: Re: [protege-owl] OWL individuals
>
>
> On Apr 21, 2007, at 10:02 AM, Alan March wrote:
>
> > Hi.
> >
> > Sometime ago I posted a message inquiring as to the intended use of
> > multiple Necessary and Sufficient blocks. I did receive
> some answers,
> > but they were mostly examples, and did not quite answer my question.
> >
> > So again, when should multiple N&S blocks be used? As far as I have
> > reasoned, they should be used when different groups of
> axioms, each of
> > them by themselves or together, allow for a complete
> definition of a
> > class.
> > Horridge et al's Owl Tutorial carries an example of *how*
> to establish
> > multiple N&S blocks, but, at least to the best of my
> undestanding, not
> > *when* to use them. As far as I can gather, it would seem that they
> > must be used in the manner I explained above. Thus, an
> individual may
> > be considered a member of the "triangle" class when it
> *either* "has
> > three angles and is a subclass of shape" **or** "has three
> sides and
> > is a subclass of shape", or *both*. When I emphasize
> "both", I mean to
> > say that if such individual fullfilled both N&S blocks, it
> would also
> > be a member of the triangle class.
> > So, my conclusion is that multiple N&S blocks would seem to
> boil down
> > to a sort of "and/or" situation, where a class may be
> defined as such
> > if it carries either block or both blocks. Am I right in this
> > assumption?
>
> Yes.
>
> Conceptually, I like to think of the necessary and sufficient
> conditions separately.
> There are some examples one can come up with where
> sufficient, but not necessary conditions apply.
>
> By separating the necessary and sufficient, one can then make
> a bit more sense of things like the triangle case.
>
> A triangle has 3 sides and 3 angles as necessary conditions.
> In other words, every triangle must have both 3 sides and 3 angles.
>
> Having 3 sides is a sufficient condition for being a triangle.
>
> Having 3 angles is a (separate) sufficient condition for
> being a triangle.
>
> The reason I like to separate such concerns has to do with
> the way inference works.  If all that you know about a
> polygon is that it has
> 3 sides, then that is SUFFICIENT information to conclude it
> is a triangle.  At that point, the necessary condition that
> it also have 3 angles comes into play.
>
> As an example of sufficient but not necessary conditions,
> consider the following conditions for being a Student:
>     enrolled-in some University
>     enrolled-in some Technical-Institute
>     enrolled-in some Community-College
>
> The modeling of sufficient, but not necessary conditions in OWL (and
> Protégé) can be done by subclassing and putting both
> necessary and sufficient conditions on the subclass.  Proper
> subclasses are sufficient but not necessary conditions for
> membership in their parent class.
>
> That generally means that most such issues in description
> logics are solved using the class/subclass system.  In the
> student example, a common modeling method would be to have an
> umbrella concept like Institution-of-Higher-Education that
> subsumes all of the types listed, and then have a single N&S
> condition for that instead.
>
> But one can imagine situations where the individual
> conditions do not warrant having their own class definition,
> in which case, separate sufficient conditions may be justified.
>
> _______________________________________________
> 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