Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-789 BigdataSailRemoteRepositoryConnection should implement interface methods
  3. BLZG-753

Result of BigdataSailRemoteRepositoryConnection.getStatements() and export() do not preserve statement context.

    Details

    • Type: Sub-task
    • Status: Done
    • Priority: Highest
    • Resolution: Done
    • Affects Version/s: BIGDATA_RELEASE_1_2_0
    • Fix Version/s: None
    • Component/s: Bigdata SAIL
    • Labels:
      None

      Description

      In Sesame when you call RepositoryConnection#export it will produce statements with context. For example this method is used in openrdf workbench for poor man backups: https://bitbucket.org/openrdf/sesame/src/0aaebbb43753/core/http/workbench/src/main/java/org/openrdf/workbench/commands/ExportServlet.java?at=master#cl-64

      but bigdata BigdataSailRemoteRepositoryConnection#export don't keep context in the result data.

        Issue Links

          Activity

          Hide
          bryanthompson bryanthompson added a comment -

          Can you provide a unit test? That will reduce our time to replicate the problem and demonstrate a fix.
          Thanks,
          Bryan

          Show
          bryanthompson bryanthompson added a comment - Can you provide a unit test? That will reduce our time to replicate the problem and demonstrate a fix. Thanks, Bryan
          Hide
          bryanthompson bryanthompson added a comment - - edited

          I will take a look at this when increasing the test coverage for the BigdataSailRemoteRepositoryConnection. See BLZG-789

          Show
          bryanthompson bryanthompson added a comment - - edited I will take a look at this when increasing the test coverage for the BigdataSailRemoteRepositoryConnection. See BLZG-789
          Hide
          bryanthompson bryanthompson added a comment -

          The root cause is how RemoteRepository.getStatements() is implemented. The request is translated into a SPARQL CONSTRUCT query. For example, the following query is generated if the caller specifies a single named graph http://www.bigdata.com/

          CONSTRUCT {
          ?s <http://www.w3.org/2000/01/rdf-schema#label> <http://xmlns.com/foaf/0.1/XXX>
          }
          FROM <http://www.bigdata.com/>
          WHERE {
          ?s <http://www.w3.org/2000/01/rdf-schema#label> <http://xmlns.com/foaf/0.1/XXX>
          }
          

          The CONSTRUCT query is constructing triples, not quads. So the graph is not associated with the response.

          Show
          bryanthompson bryanthompson added a comment - The root cause is how RemoteRepository.getStatements() is implemented. The request is translated into a SPARQL CONSTRUCT query. For example, the following query is generated if the caller specifies a single named graph http://www.bigdata.com/ CONSTRUCT { ?s <http: //www.w3.org/2000/01/rdf-schema#label> <http://xmlns.com/foaf/0.1/XXX> } FROM <http: //www.bigdata.com/> WHERE { ?s <http: //www.w3.org/2000/01/rdf-schema#label> <http://xmlns.com/foaf/0.1/XXX> } The CONSTRUCT query is constructing triples, not quads. So the graph is not associated with the response.
          Hide
          bryanthompson bryanthompson added a comment -

          I suspect that we need to turn this into a SELECT query and project out (s,p,o,c).

          Show
          bryanthompson bryanthompson added a comment - I suspect that we need to turn this into a SELECT query and project out (s,p,o,c).

            People

            • Assignee:
              igorkim igorkim
              Reporter:
              aakozlov aakozlov
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: