All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bigdata.rdf.changesets.ChangeAction Maven / Gradle / Ivy

package com.bigdata.rdf.changesets;

import com.bigdata.rdf.model.StatementEnum;

/**
     * Attempting to add or remove statements can have a number of different 
     * effects.  This enum captures the different actions that can take place as 
     * a result of trying to add or remove a statement from the database.
     */
    public enum ChangeAction {
        
        /**
         * The focus statement was not in the database before and will be 
         * in the database after the commit.  This can be the result of either
         * explicit addStatement() operations on the SAIL connection, or from
         * new inferences being generated via truth maintenance when the 
         * database has inference enabled.  If the focus statement has a
         * statement type of explicit then it was added via an addStatement()
         * operation.  If the focus statement has a statement type of inferred
         * then it was added via truth maintenance.
         */
        INSERTED,
        
        /**
         * The focus statement was in the database before and will not 
         * be in the database after the commit. When the database has inference 
         * and truth maintenance enabled, the statement that is the focus of 
         * this change record was either an explicit statement that was the 
         * subject of a removeStatements() operation on the connection, or it 
         * was an inferred statement that was removed as a result of truth 
         * maintenance.  Either way, the statement is no longer provable as an 
         * inference using other statements still in the database after the 
         * commit.  If it were still provable, the explicit statement would have 
         * had its type changed to inferred, and the inferred statement would 
         * have remained untouched by truth maintenance.  If an inferred 
         * statement was the subject of a removeStatement() operation on the 
         * connection it would have resulted in a no-op, since inferences can 
         * only be removed via truth maintenance.
         */
        REMOVED,
        
        /**
         * This change action can only occur when inference and truth 
         * maintenance are enabled on the database.  Sometimes an attempt at 
         * statement addition or removal via an addStatement() or 
         * removeStatements() operation on the connection will result in a type 
         * change rather than an actual assertion or deletion.  When in 
         * inference mode, statements can have one of three statement types: 
         * explicit, inferred, or axiom (see {@link StatementEnum}).  There are 
         * several reasons why a statement will change type rather than be 
         * asserted or deleted:
         * 

*

    *
  • A statement is asserted, but already exists in the database as * an inference or an axiom. The existing statement will have its type * changed from inference or axiom to explicit.
  • *
  • An explicit statement is retracted, but is still provable by * other means. It will have its type changed from explicit to * inference.
  • *
  • An explicit statement is retracted, but is one of the axioms * needed for inference. It will have its type changed from explicit to * axiom.
  • *
*/ UPDATED, // /** // * This change action can occur for one of two reasons: // *

// *

    // *
  • A statement is asserted, but already exists in the database as // * an explicit statement.
  • // *
  • An inferred statement or an axiom is retracted. Only explicit // * statements can be retracted via removeStatements() operations.
  • // *
// */ // NO_OP }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy