minor technical on 5.4 Optional matching - formal definition

5.4 Optional matching - formal definition
The last paragraph in the box does not make sense.  Reducing the sentence
to its logical connectives, its form is "If P then Q if R otherwise if S",
which evidently should be grouped "If P then (Q if R otherwise if S)".
What does "otherwise if" mean?
Seemingly it only means "or", so that the structure of the sentence
would be "If P then (Q if (R or S))" which would be logically equivalent
to "If P then (if (R or S) then Q)" which is equivalent to
"If P and (R or S) then Q".  But then plugging the predicates for P, Q, R
and S back into the sentence, we have "If Opt(A,B) is an optional group
pattern, and ( (S is a pattern solution of A and of B),
or (S is a solution to A but not to A and B) ) then S is a solution
of the optional graph pattern."  And then this can be logically reduced
to just "If Opt(A,B) is an optional group pattern, and S is a
pattern solution of A, then S is a solution of the optional group
pattern."  But that does not make sense, because it seems that B has no
role in defining the result.

I think you mean the following: Let A and B be GraphPatterns.
Let V be the set of variables and blank nodes in A OPTIONAL { B }.
Let VA be the set of variables and blank nodes in A.
Let VB be the set of variables and blank nodes in B that are not in VA.
Let S be a partial map V to RDF-T, such that the following two conditions
hold:
a) for all v in VA, S(v) is defined (ie, S restricted to VA is a total
map)
b) for all v1, v2 in VB, if S(v1) is defined, then S(v2) is defined.
That is, S restricted to VB is either a total map, or an empty map
(or, put another way, the domain of S intersected with VB is either
the empty set or VB.)

Then S is a solution for A OPTIONAL { B } if S if the following two
conditions hold:
a) S is a solution for A and,
b) if the domain of S intersected with VB is VB, then S is a solution
for B.

Fred Zemke

Received on Thursday, 12 January 2006 17:32:12 UTC