Package org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents

## Class SimpleAbstractConstraintComponent

- java.lang.Object
- - org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.AbstractConstraintComponent
  - - org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.SimpleAbstractConstraintComponent

- All Implemented Interfaces:
    `ConstraintComponent`, `org.eclipse.rdf4j.sail.shacl.ast.Exportable`, `org.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface`
  Direct Known Subclasses:
    `DatatypeConstraintComponent`, `InConstraintComponent`, `LanguageInConstraintComponent`, `MaxExclusiveConstraintComponent`, `MaxInclusiveConstraintComponent`, `MaxLengthConstraintComponent`, `MinExclusiveConstraintComponent`, `MinInclusiveConstraintComponent`, `MinLengthConstraintComponent`, `NodeKindConstraintComponent`, `PatternConstraintComponent`

      public abstract class SimpleAbstractConstraintComponent
      extends AbstractConstraintComponent

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.ConstraintComponent

      `ConstraintComponent.Scope`

  - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.AbstractConstraintComponent

      `VALUES_INJECTION_POINT`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SimpleAbstractConstraintComponent()` |
    `SimpleAbstractConstraintComponent​(Resource id)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.eclipse.rdf4j.sail.shacl.ast.ValidationQuery` | `generateSparqlValidationQuery​(ConnectionsGroup connectionsGroup, ValidationSettings validationSettings, boolean negatePlan, boolean negateChildren, ConstraintComponent.Scope scope)` |
    `PlanNode` | `generateTransactionalValidationPlan​(ConnectionsGroup connectionsGroup, ValidationSettings validationSettings, PlanNodeProvider overrideTargetNode, ConstraintComponent.Scope scope)` |
    `PlanNode` | `getAllTargetsPlan​(ConnectionsGroup connectionsGroup, Resource[] dataGraph, ConstraintComponent.Scope scope, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)` |
    `SourceConstraintComponent` | `getConstraintComponent()` |
    `Resource` | `getId()` |
    `org.eclipse.rdf4j.sail.shacl.ast.ValidationApproach` | `getOptimalBulkValidationApproach()` | Should return the fastest validation approach for bulk validation.
    `org.eclipse.rdf4j.sail.shacl.ast.ValidationApproach` | `getPreferredValidationApproach​(ConnectionsGroup connectionsGroup)` | A constraint component should decide which validation approach is going to be the optimal performance wise based on the state of the transaction and base sail.
    `TargetChain` | `getTargetChain()` |
    `void` | `setTargetChain​(TargetChain targetChain)` |

    - ### Methods inherited from class org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.AbstractConstraintComponent

      `buildSparqlValidNodes_rsx_targetShape, requiresEvaluation`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.ConstraintComponent

      `deepClone`

    - ### Methods inherited from interface org.eclipse.rdf4j.sail.shacl.ast.Exportable

      `toModel`

- - ### Constructor Detail

    - #### SimpleAbstractConstraintComponent

          public SimpleAbstractConstraintComponent​(Resource id)

    - #### SimpleAbstractConstraintComponent

          public SimpleAbstractConstraintComponent()

  - ### Method Detail

    - #### getId

          public Resource getId()

      Overrides:
        `getId` in class `AbstractConstraintComponent`

    - #### getTargetChain

          public TargetChain getTargetChain()

      Specified by:
        `getTargetChain` in interface `org.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface`
      Overrides:
        `getTargetChain` in class `AbstractConstraintComponent`

    - #### setTargetChain

          public void setTargetChain​(TargetChain targetChain)

      Specified by:
        `setTargetChain` in interface `org.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface`
      Overrides:
        `setTargetChain` in class `AbstractConstraintComponent`

    - #### generateTransactionalValidationPlan

          public PlanNode generateTransactionalValidationPlan​(ConnectionsGroup connectionsGroup,
                                                              ValidationSettings validationSettings,
                                                              PlanNodeProvider overrideTargetNode,
                                                              ConstraintComponent.Scope scope)

      Specified by:
        `generateTransactionalValidationPlan` in interface `ConstraintComponent`
      Overrides:
        `generateTransactionalValidationPlan` in class `AbstractConstraintComponent`

    - #### generateSparqlValidationQuery

          public org.eclipse.rdf4j.sail.shacl.ast.ValidationQuery generateSparqlValidationQuery​(ConnectionsGroup connectionsGroup,
                                                                                                ValidationSettings validationSettings,
                                                                                                boolean negatePlan,
                                                                                                boolean negateChildren,
                                                                                                ConstraintComponent.Scope scope)

      Specified by:
        `generateSparqlValidationQuery` in interface `ConstraintComponent`
      Overrides:
        `generateSparqlValidationQuery` in class `AbstractConstraintComponent`

    - #### getPreferredValidationApproach

          public org.eclipse.rdf4j.sail.shacl.ast.ValidationApproach getPreferredValidationApproach​(ConnectionsGroup connectionsGroup)

      Description copied from interface: `ConstraintComponent`
      A constraint component should decide which validation approach is going to be the optimal performance wise based on the state of the transaction and base sail.
      Specified by:
        `getPreferredValidationApproach` in interface `ConstraintComponent`
      Overrides:
        `getPreferredValidationApproach` in class `AbstractConstraintComponent`

    - #### getOptimalBulkValidationApproach

          public org.eclipse.rdf4j.sail.shacl.ast.ValidationApproach getOptimalBulkValidationApproach()

      Description copied from interface: `ConstraintComponent`
      Should return the fastest validation approach for bulk validation. When aggregating multiple constraint components the most compatible should be chosen.
      Specified by:
        `getOptimalBulkValidationApproach` in interface `ConstraintComponent`
      Overrides:
        `getOptimalBulkValidationApproach` in class `AbstractConstraintComponent`

    - #### getConstraintComponent

          public SourceConstraintComponent getConstraintComponent()

    - #### getAllTargetsPlan

          public PlanNode getAllTargetsPlan​(ConnectionsGroup connectionsGroup,
                                            Resource[] dataGraph,
                                            ConstraintComponent.Scope scope,
                                            org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)

      Specified by:
        `getAllTargetsPlan` in interface `ConstraintComponent`
      Overrides:
        `getAllTargetsPlan` in class `AbstractConstraintComponent`