RE: use case: finding employees by type (disjunction and OWL)

>>> Note that this use case is *not* subsumed by any other we are
>>> considering. The use of disjunction makes the OWL ontology 
>>> incompatible
>>> with the naive "inferred triples" model.
>> 
>> I don't believe so. It's straightforward to infer
>>               Bob rdf:type ManagementOrSupport
>> from
>>               Bob rdf:type Management
>> and
>>               ManagementOrSupport owl:unionOf (Management Support).
>> 
>> Using hasGroup rather than rdf:type is slightly more tedious,
>> but just as doable.
>
> I'm afraid I don't entirely understand your technique. How can such an
> approach be used to solve the use case?
>
> I was thinking that the user should be able to query for employees in
> the Management or Support groups with a simple query on the RDF.
> Ideally, the OWL ontology shouldn't require them to completely
> reformulate their query. (An approach that uses owl constructs even for
> plain RDF queries is one solution.)

trying to test that, I queried
:Bob a :Management.

with
:Bob a [ owl:unionOf (:Management :Support)].

and got back
_:27_3 owl:unionOf _:28_3. 
_:28_3 rdf:first :Management. 
_:28_3 rdf:rest _:29_3. 
_:29_3 rdf:first :Support. 
_:29_3 rdf:rest> rdf:nil. 
:Bob a _:27_3. 

so that succeeded (*)


-- 
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/


(*)the latter triple was in detail inferred as

 {
  <http://www.agfa.com/w3c/euler/owl-rules#owl9u1>. 
  _:27_3 owl:unionOf _:28_3. 
   {
    <http://www.agfa.com/w3c/euler/owl-rules#owl42s1>. 
    _:28_3 rdf:first :Management. 
    :Bob a :Management} =>
  {:Bob ns0:inSomeOf _:28_3}} =>
{:Bob a _:27_3}.

Received on Monday, 12 April 2004 12:39:40 UTC