New requirement: disjunction

Following on from the general support (voiced by at least three members
of the group- Tucana, Network Inference, and Mindlab) for the inclusion
of an 'OR' operator in our query language, here is a vague stab at a
wording for that requirement:

The query language must include the capability to restrict matches on a
queried graph based on a disjunction of graph patterns, at least one of
which must be satisfied by the query.


This wording is intended primarily to play well with the 'Graph Pattern
Matching' requirement, which I believe is the way we currently require
conjunction. (If others feel that requirement does not require
conjunction, I think it's worth talking about sooner rather than later.)

I believe that the above words require support for disjunctive normal
form (an OR of ANDs), which implies the ability to deal with disjunction
of triples in general. Admittedly the 'pattern' language along with
top-level disjunction is a bit of a roundabout way to get to a
requirement for "tests for the existence of a triple, connected with AND
and OR", but my belief is that they amount to the same thing.

Note that this requirement does NOT necessarily require a simple syntax.
My interpretation is that the ability to write two queries and then join
the results with some kind of UNION operator could probably be made to
fulfill this objective (with the 'easily written by users' objective
mitigating against onerous syntax for commonly-used constructions).

I also believe that if we manage to support our "Non-existent Triples"
objective, the three come together to offer support for arbitrary
boolean combinations of triple-existence predicates.

Received on Thursday, 15 July 2004 11:28:01 UTC