use case: Accountants, companies, and customers.

(Just realized we don't yet have use cases demonstrated complex graphs
or disjunction.)

There exists an RDF repository containing accounting firms, companies,
and their customers, related via properties "accountsFor" and
"hasCustomer" (let's ignore any inheritance relations for the moment):

_:pwc hasName "PriceWaterhouseCoopers"^^xsd:string
_:boe hasName "Boeing"^^xsd:string
_:mil hasName "US Military"^^xsd:string
_:pwd accountsFor _:boe
_:boe hasCustomer _:mil

a) The user wants to retrieve the names of all firms which do accounts
for suppliers of the military.

b) The user wants to retrieve the names of all the firms which either do
accounts for suppliers of the military, or do accounts for the military
itself.


I'm sure there are much better demonstrations of the point, but the
situation of users interested in more than just properties within one
hop of a query node is very very common. (A use case demonstrating more
sophisticated graph constructs might be useful.)
The ability to use disjunction or union is also a pretty big deal;
requiring users to join their own results pretty much guarantees that
our query language is confined to programmatic interfaces as parts of
large systems. Real users will want to be able to do this kind of thing
(and get easily-interpretable results) without writing any custom code.

Received on Thursday, 25 March 2004 10:09:12 UTC