Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-1209

Resource... contexts not encoded/decoded according to openrdf semantics (REST API)



      This issues shows up with the following REST API methods. It is also present for the new HASSTMT REST API method.

      - http://wiki.blazegraph.com/wiki/index.php/NanoSparqlServer#FAST_RANGE_COUNTS
      - http://wiki.blazegraph.com/wiki/index.php/NanoSparqlServer#DELETE_with_Access_Path

      The correct semantics for the openrdf API are as follows (and are documented at BD.NULL_GRAPH in our code base).

          * Given
          * <pre>
          * void foo(Resource s, final URI p, final Value o, final Resource... contexts)
          * </pre>
          * <dl>
          * <dt>foo(s,p,o)</dt>
          * <dd>All named graphs are addressed. The <i>contexts</i> parameter will be
          * a Resource[0] reference.</dd>
          * <dt>foo(s,p,o,(Resource[]) null)</dt>
          * <dd>
          * <em>Note: openrdf does not allow this invocation pattern - the Resource[] MUST NOT be a <code>null</code> reference.</em>
          * </dd>
          * <dt>foo(s,p,o,(Resource) null)</dt>
          * <dd>The openrdf "nullGraph" is addressed. The <i>contexts</i> parameter
          * will be Resource[]{null}. Java will autobox the Resource reference as a
          * Resource[]{null} array.</dd>
          * <dt>foo(s,p,o,x,y,z)</dt>
          * <dd>The openrdf named graphs (x,y,z) are addressed. The <i>contexts</i>
          * parameter will be Resource[]{x,y,z}.</dd>
          * <dt>foo(s,p,o,x,null,z)</dt>
          * <dd>The openrdf named graphs (x,nullGraph,z) are addressed. The
          * <i>contexts</i> parameter will be Resource[]{x,null,z}</dd>
          * </dd>
          * </dl>

      Note: This problem showed up when trying to integrate HASSTMT into our RemoteRepository.

      TODO Revisit the ESTCARD and DELETE_BY_ACCESS path APIs on the client and the server and ensure test coverage for compliance. Also add test coverage for HASSTMT.

      TODO Document the interpretation of &c more completely on the NSS wiki page per this ticket.

      See BLZG-1143 Extension REST API does not support multiple context values


        No work has yet been logged on this issue.


          • Assignee:
            bryanthompson bryanthompson
            bryanthompson bryanthompson
          • Votes:
            0 Vote for this issue
            2 Start watching this issue


            • Created: