Gershon,

You defined drink as a parent class for alcoholic and caffein classes. This
means that every member of these classes is also a member of the drink
class. You then said that healthy is an equivalent class to drink which
means that every member of the drink class is a member of the healthy class
(and vice versa). With this, beer, as a member of the alcoholic class, is a
member of the drink class and a member of the healthy class.

You then said that healthy is disjoint with alcoholic and caffein. Since it
contradicts definitions described above, for the model to stay consistent,
it can only mean that alcoholic and caffein must have no members ­ they can
only be empty sets.

You also defined unhealthy as an intersection, so only those drinks that are
both alcoholic and have caffein would be inferred as unhealthy and you don¹t
have any of those.

You could say that unhealthy is a union of alcoholic and caffein and drink
is a union of healthy and unhealthy. And healthy is a complement of
unhealthy. This would mean that any drink that is known to be a member of
the healthy class, can't be a member of the unhealthy class (and vice
versa).

But the open world assumption used in OWL will not allow you to infer that a
drink that is not explicitly specified to be a member of the unhealthy
class, must be a member of the healthy class. This is because in the open
world, the fact that we only know about {:milk a :drink} triple and do not
have {:milk a :unhealthy} triple doesn¹t mean that such triple may not be
discovered in the future. In other words, open world doesn¹t support
negation as failure. As a result, cardinalities, complements and a few other
things are not as useful in OWL as one may expect.

I would recommend looking into SPIN
(http://www.topquadrant.com/technology/sparql-rules-spin/ and
http://spinrdf.org/spinstack.html) where inferences can use closed world
assumptions.

Hope this helps,

Irene Polikoff

From:  Gershon Pollatschek <gersh...@gmail.com>
Reply-To:  <topbraid-users@googlegroups.com>
Date:  Wednesday, May 13, 2015 at 7:41 AM
To:  <topbraid-users@googlegroups.com>
Subject:  [topbraid-users] Newbie question

Hello all,

I am trying to create a sub-class, which includes all instances that are NOT
included in a sibling class. I tried ComplementOf and using "no
NameOfSibling and no NameOfSibling". Both did not perform as expected. In
the example attached, healty drinks are to be defined as drinks which have
no caffeine or alcohol.

I checked all the messages in this group but could not find a solution.

Could you please point me in the right direction? I am standing on the hosa,
as they say in german...:-)

Thank you for your help.
Gershon

-- 
You received this message because you are subscribed to the Google Group
"TopBraid Suite Users", the topics of which include Enterprise Vocabulary
Network (EVN), Reference Data Manager (RDM), TopBraid Composer, TopBraid
Live, TopBraid Insight, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to topbraid-users@googlegroups.com
--- 
You received this message because you are subscribed to the Google Groups
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to topbraid-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google Group 
"TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), Reference Data Manager (RDM), TopBraid Composer, TopBraid Live, 
TopBraid Insight, SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to topbraid-users@googlegroups.com
--- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to topbraid-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to