[
https://issues.apache.org/jira/browse/JENA-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15005987#comment-15005987
]
Andy Seaborne commented on JENA-1064:
-------------------------------------
The union graph is a graph in usage so the relationship of quads to union graph
is only weakly defined. We could leave the graph slot defined as "as found".
The repeatability is more of one natural expectation for a read operation; so
is "returned quads exist in the graph"
It needs decision for:
{noformat}
Iterator<Quad> iter = datasetGraph.find(Quad.unionGraph, s,p,o) ;
{noformat}
and I think we should define this to return quads with a fixed named graph just
like {{find(<http://grpah>, s,p,o)}} even if the quad is not strictly (i.e.
dump graph to a set of quads and look) in the dataset. The union graph can't
be perfect (no {{delete}} for example).
TDB gets this wrong as well but this is all changeable - my argument would be
that since the app can't rely on the graph slot, so fixing it to a defined
value is reasonable even though it breaks the idea that quads are in the
dataset. A union graph quad should pass "contains" but won't pass dump quads to
set then test the set.
The code {{findInUnionGraph}} etc at least improves the current situation for
{{find(Quad.unionGraph,...)}} (it wil return duplicates currently - plain bug)
so if that goes it, it's step in the right direction and breaks down the
changes in small steps. Then adding tests for the precise details, we can find
what breaks.
i.e. add the code so we can experiment with it and leave this JIRA open for
discussion.
> Add DatasetGraphBaseFind.findInUnionGraph
> -----------------------------------------
>
> Key: JENA-1064
> URL: https://issues.apache.org/jira/browse/JENA-1064
> Project: Apache Jena
> Issue Type: Improvement
> Components: ARQ
> Reporter: Andy Seaborne
> Assignee: Andy Seaborne
>
> Add operation {{DatasetGraphBaseFind.findInUnionGraph}} so that
> implementations can be told explicitly when a union graph access is being
> done. This maybe the computed default graph or an explicit name of
> {{Quad.unionGraph}} i.e. {{<urn:x-arq:UnionGraph>}}. By the time it gets to
> this level, it is with a graph node name.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)