Interface ConstraintComponent

All Superinterfaces:
org.eclipse.rdf4j.sail.shacl.ast.Exportable, org.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface
All Known Implementing Classes:
AbstractConstraintComponent, AndConstraintComponent, ClassConstraintComponent, ClosedConstraintComponent, DashHasValueInConstraintComponent, DatatypeConstraintComponent, DisjointConstraintComponent, EqualsConstraintComponent, HasValueConstraintComponent, InConstraintComponent, LanguageInConstraintComponent, LessThanConstraintComponent, LessThanOrEqualsConstraintComponent, LogicalOperatorConstraintComponent, MaxCountConstraintComponent, MaxExclusiveConstraintComponent, MaxInclusiveConstraintComponent, MaxLengthConstraintComponent, MinCountConstraintComponent, MinExclusiveConstraintComponent, MinInclusiveConstraintComponent, MinLengthConstraintComponent, NodeKindConstraintComponent, NotConstraintComponent, OrConstraintComponent, PatternConstraintComponent, QualifiedMaxCountConstraintComponent, QualifiedMinCountConstraintComponent, SimpleAbstractConstraintComponent, SparqlConstraintComponent, UniqueLangConstraintComponent, VoidConstraintComponent, XoneConstraintComponent

public interface ConstraintComponent extends org.eclipse.rdf4j.sail.shacl.ast.Exportable, org.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface
  • Method Details

    • generateSparqlValidationQuery

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

      PlanNode generateTransactionalValidationPlan(ConnectionsGroup connectionsGroup, ValidationSettings validationSettings, PlanNodeProvider overrideTargetNode, ConstraintComponent.Scope scope)
    • getPreferredValidationApproach

      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.
    • getOptimalBulkValidationApproach

      org.eclipse.rdf4j.sail.shacl.ast.ValidationApproach getOptimalBulkValidationApproach()
      Should return the fastest validation approach for bulk validation. When aggregating multiple constraint components the most compatible should be chosen.
    • requiresEvaluation

      boolean requiresEvaluation(ConnectionsGroup connectionsGroup, ConstraintComponent.Scope scope, Resource[] dataGraph, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
      Parameters:
      connectionsGroup -
      scope -
      dataGraph -
      stableRandomVariableProvider -
      Returns:
      true if the constraint component should be evaluated, eg. if validation is needed.
    • getConstraintComponent

      SourceConstraintComponent getConstraintComponent()
    • getAllTargetsPlan

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

      org.eclipse.rdf4j.sail.shacl.ast.SparqlFragment buildSparqlValidNodes_rsx_targetShape(org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.Variable<Value> subject, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.Variable<Value> object, RdfsSubClassOfReasoner rdfsSubClassOfReasoner, ConstraintComponent.Scope scope, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
    • deepClone

      ConstraintComponent deepClone()
    • getDefaultMessage

      List<Literal> getDefaultMessage()