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

Suppress truth maintenance in the REST API (non-SPARQL UPDATE)

    Details

    • Type: New Feature
    • Status: Done
    • Priority: Medium
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: BLAZEGRAPH_2_2_0
    • Component/s: None
    • Labels:
      None

      Description

      Mike and I also discussed some options to support this throught the NanoSparqlServer's REST API. The main concept was to add the following to the NanoSparqlServer API for methods that perform mutations.

      ````
      ?suppressTruthMaintenance
      `````

      Assuming that truth maintenance is enabled for the endpoint, then the operation is carried out without truth maintenance when this flag is specified.

      This may result in an inconsistent state for the database (in the sense that inferences might not have been added or removed). The user is responsible for dealing with that inconsistent state. Users can restore the database to a consistent state after applying a series of mutations with truth maintenance supposed by issuing the "CREATE ENTAILMENTS" UPDATE REQUEST afterwards to update the entailments for the KB. This is sufficient to compute any missing entailments if nothing has been deleted out of the database. If you have also retracted statements, then you would need to issue "DROP ENTAILMENTS; CREATE ENTAILMENTS;" to remove the old entailments before (re-)computing the entailments for the KB.

      See BLZG-697

        Issue Links

          Activity

          Hide
          bryanthompson bryanthompson added a comment -

          There is a PR for this, but it hangs in CI.

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

          Show
          bryanthompson bryanthompson added a comment - There is a PR for this, but it hangs in CI. PR https://github.com/SYSTAP/bigdata/pull/187
          Hide
          bryanthompson bryanthompson added a comment -

          The PR is now passing in CI. However, it looks like the PR assumes that the database must be consistent after each operation. This is not the goal. I have updated the ticket documentation to clarify this. I have also added another task to capture a point that was not addressed in the PR (the Java client should be able to indicate that truth maintenance is supposed for mutation operation using the REST API).

          Show
          bryanthompson bryanthompson added a comment - The PR is now passing in CI. However, it looks like the PR assumes that the database must be consistent after each operation. This is not the goal. I have updated the ticket documentation to clarify this. I have also added another task to capture a point that was not addressed in the PR (the Java client should be able to indicate that truth maintenance is supposed for mutation operation using the REST API).
          Hide
          igorkim igorkim added a comment -
          Show
          igorkim igorkim added a comment - PR https://github.com/SYSTAP/bigdata/pull/212 auto-closure on REST API operations was removed in commit https://github.com/SYSTAP/bigdata/commit/17cb31c273b22da3c421453eb6921dab312d9c03
          Hide
          beebs Brad Bebee added a comment -

          Merged down PR after clean CI.

          Show
          beebs Brad Bebee added a comment - Merged down PR after clean CI.
          Hide
          bryanthompson bryanthompson added a comment -

          Is the web-site up to date for this capability? I suspect not.

          Show
          bryanthompson bryanthompson added a comment - Is the web-site up to date for this capability? I suspect not.
          Hide
          beebs Brad Bebee added a comment -
          Show
          beebs Brad Bebee added a comment - thompsonbry Please see https://jira.blazegraph.com/browse/BLZG-1628 and recommend any changes. maria.krokhaleva
          Hide
          maria.krokhaleva maria.krokhaleva added a comment -

          Added 'suppressTruthMaintenance' parameter to the list of request parameters. https://wiki.blazegraph.com/wiki/index.php/REST_API#QUERY
          And a section https://wiki.blazegraph.com/wiki/index.php/InferenceAndTruthMaintenance#Suppress_Truth_Maintenance_Using_NanoSparqlServer.27s_REST_API to the 'InferenceAndTruthMaintenance' page.

          Show
          maria.krokhaleva maria.krokhaleva added a comment - Added 'suppressTruthMaintenance' parameter to the list of request parameters. https://wiki.blazegraph.com/wiki/index.php/REST_API#QUERY And a section https://wiki.blazegraph.com/wiki/index.php/InferenceAndTruthMaintenance#Suppress_Truth_Maintenance_Using_NanoSparqlServer.27s_REST_API to the 'InferenceAndTruthMaintenance' page.

            People

            • Assignee:
              maria.krokhaleva maria.krokhaleva
              Reporter:
              bryanthompson bryanthompson
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: