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

BigdataSailRemoteRepositoryConnection should implement interface methods

    Details

      Description

      prepare*Query methods from BigdataSailRemoteRepositoryConnection return query objects that support only evaluate() method, other methods throw UnsupportedOperationException. There are TODOs about implementing that:

       * TODO Implement buffering of adds and removes so that we can turn off
       * 		auto-commit. 
       * TODO Fix all the Query objects (TupleQuery, GraphQuery,
       * 		BooleanQuery) to support the various possible operations on them, such as
       * 		setting a binding. 
      

      I found this when I tried to use evaluate(RDFHandler/TupleQueryResultHandler) and setBinding() methods.
      Why I need them:
      - setBinding() is just convenient to use
      - e.g. you don't have to worry about escaping while manually constructing bindings in SPARQL. And our exising code uses this method a lot.
      - evaluate() with callback can be more efficient because it can avoid using additional thread from executor to parse result and use calling thread to do that at the same time handling the results.

      Also we will probably need setMaxQueryTime().

      This is about READ_CACHE branch rev 7217.

        Issue Links

          Activity

          Hide
          bryanthompson bryanthompson added a comment -

          Modified the logic to determine the query timeout to test for >= 0 rather than != -1

          Show
          bryanthompson bryanthompson added a comment - Modified the logic to determine the query timeout to test for >= 0 rather than != -1
          Hide
          bryanthompson bryanthompson added a comment -

          CI is green on REMOTE_INTERFACE_METHODS after merging in master.

          I have merged REMOTE_INTERFACE_METHODS back to master.

          Note: BLZG-789 is still in progress (test cases are being written) but we are ready for QA on the 1.5.2 release.

          @igorkim please make sure that the new tests are in a new branch. You can branch from the current master. It has everything from REMOTE_INTERFACE_METHODS.

          Show
          bryanthompson bryanthompson added a comment - CI is green on REMOTE_INTERFACE_METHODS after merging in master. I have merged REMOTE_INTERFACE_METHODS back to master. Note: BLZG-789 is still in progress (test cases are being written) but we are ready for QA on the 1.5.2 release. @igorkim please make sure that the new tests are in a new branch. You can branch from the current master. It has everything from REMOTE_INTERFACE_METHODS.
          Hide
          bryanthompson bryanthompson added a comment -

          Igor, what is the status on the expanded test suite for the new REST API interface methods? Can this ticket be closed yet?

          Show
          bryanthompson bryanthompson added a comment - Igor, what is the status on the expanded test suite for the new REST API interface methods? Can this ticket be closed yet?
          Hide
          igorkim igorkim added a comment -

          I've updated client-side tests com.bigdata.rdf.sail.remote.BigdataSailRemoteRepositoryConnectionTest
          and added server-side test suite com.bigdata.rdf.sail.webapp.Test_Ticket_789.

          Note that com.bigdata.rdf.sail.webapp.client.AbstractConnectOptions.getRequestParam(String) returns only first value for the specified name, thus only one default graph and only one named graph could be tested.

          PR: https://github.com/SYSTAP/bigdata/pull/117

          Show
          igorkim igorkim added a comment - I've updated client-side tests com.bigdata.rdf.sail.remote.BigdataSailRemoteRepositoryConnectionTest and added server-side test suite com.bigdata.rdf.sail.webapp.Test_Ticket_789. Note that com.bigdata.rdf.sail.webapp.client.AbstractConnectOptions.getRequestParam(String) returns only first value for the specified name, thus only one default graph and only one named graph could be tested. PR: https://github.com/SYSTAP/bigdata/pull/117
          Hide
          bryanthompson bryanthompson added a comment -

          The requestParams map is public. You can directly resolve all values. The helper method is there to get just the first one.

              /**
               * Request parameters to be formatted as URL query parameters.
               */
              public Map<String, String[]> requestParams;
          
          
          Show
          bryanthompson bryanthompson added a comment - The requestParams map is public. You can directly resolve all values. The helper method is there to get just the first one. /** * Request parameters to be formatted as URL query parameters. */ public Map< String , String []> requestParams;

            People

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

              Dates

              • Created:
                Updated:
                Resolved: