Andy Seaborne created JENA-1069:
-----------------------------------

             Summary: Simpify the internal naming of the default graph (Quad 
constants)
                 Key: JENA-1069
                 URL: https://issues.apache.org/jira/browse/JENA-1069
             Project: Apache Jena
          Issue Type: Improvement
          Components: ARQ
    Affects Versions: Jena 3.0.0
            Reporter: Andy Seaborne
            Assignee: Andy Seaborne


There are two different constants for the default graph for what seemed at the 
time, slightly different situations. The idea was that quads from the default 
graph of a dataset would be {{Quad.defaultGraphIRI}} and quads created by 
parsers, would be {{Quad.defaultGraphNodeGenerated}}. The idea was that the 
output of the parser was "default graph" but it was being redirected into a 
named graph. This does not now seem useful.

{{Quad.defaultGraphIRI}} = {{<urn:x-arq:DefaultGraph>}}

{{Quad.defaultGraphNodeGenerated}} = {{<urn:x-arq:DefaultGraphNode>}}

In SPARQL, the application is using {{GRAPH <urn:x-arq:DefaultGraph>}}. Using 
{{<urn:x-arq:DefaultGraphNode>}} wil not work consistently.

The proposal is to combine these two as {{Quad.defaultGraphIRI}}, possible 
migrate to {{Quad.defaultGraph}}, or even a class or enum for the graph naming 
constants.

These constants should never have been written to disk in database, certainly 
not {{<urn:x-arq:DefaultGraphNode>}}, but just to make sure, the operation 
{{Quad.isDefaultGraph(Node)}} can take the old name into account for a release 
cycle.

Nearly all the changes are in tests where the expected output has been 
explicitly written into test results.

There is another, little used, constant -- {{Quad.tripleInQuad}} -- for when a 
triple is in a quad just to be transported around, meaning "meaningless", 
"unknown" or "doesn't matter".  This would not change. It exists to be 
different from {{Quad.defaultGraphIRI}}.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to