• Type: New Feature
    • Status: Open
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: BLAZEGRAPH_RELEASE_1_5_1
    • Fix Version/s: None
    • Component/s: Bigdata SAIL
    • Labels:


      I have implemented hasStatement() with optimized code paths for fast range counts (where legal) on BigdataSailConnection. This passes for all test suite except blueprints embedded, which is very strange since the same code path should be involved for both blueprints embedded and blueprints remote. The blueprints test suite is using triples w/o sids, w/o truth maintenance, and without isolatable indices. It should therefore be hitting the fast code path that uses fast range counts to answer the hasStatement() request. This should be happening for both embedded and remote access. It is possible that there is somehow an issue with API semantics but I have not been able to track this down.

      The optimized code path is disabled in the following method:

          * {@inheritDoc}
          * <p>
          * This code path is optimized for cases where isolatable indices are not in
          * use and where inferences can not appear.
         public boolean hasStatement(final Resource s, final URI p, final Value o,
               final boolean includeInferred, final Resource... contexts)
               throws RepositoryException {
            return super.hasStatement(s,p,o, includeInferred, contexts);
      //      try {
      //         return getSailConnection().hasStatement(s, p, o, includeInferred, contexts);
      //      } catch (SailException e) {
      //         throw new RepositoryException(e);
      //      }

        Issue Links


          There are no comments yet on this issue.


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


              • Created: