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)

    XMLWordPrintable

    Details

      Description

      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

        Attachments

          Activity

            People

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

              Dates

              Created:
              Updated:
              Resolved: