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,UniqueLangConstraintComponent,XoneConstraintComponent
public interface ConstraintComponent extends org.eclipse.rdf4j.sail.shacl.ast.Exportable, org.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classConstraintComponent.Scope
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description org.eclipse.rdf4j.sail.shacl.ast.SparqlFragmentbuildSparqlValidNodes_rsx_targetShape(org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.Variable subject, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.Variable object, RdfsSubClassOfReasoner rdfsSubClassOfReasoner, ConstraintComponent.Scope scope, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)ConstraintComponentdeepClone()org.eclipse.rdf4j.sail.shacl.ast.ValidationQuerygenerateSparqlValidationQuery(ConnectionsGroup connectionsGroup, ValidationSettings validationSettings, boolean negatePlan, boolean negateChildren, ConstraintComponent.Scope scope)PlanNodegenerateTransactionalValidationPlan(ConnectionsGroup connectionsGroup, ValidationSettings validationSettings, PlanNodeProvider overrideTargetNode, ConstraintComponent.Scope scope)PlanNodegetAllTargetsPlan(ConnectionsGroup connectionsGroup, Resource[] dataGraph, ConstraintComponent.Scope scope, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)SourceConstraintComponentgetConstraintComponent()org.eclipse.rdf4j.sail.shacl.ast.ValidationApproachgetOptimalBulkValidationApproach()Should return the fastest validation approach for bulk validation.org.eclipse.rdf4j.sail.shacl.ast.ValidationApproachgetPreferredValidationApproach(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.booleanrequiresEvaluation(ConnectionsGroup connectionsGroup, ConstraintComponent.Scope scope, Resource[] dataGraph, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
-
-
-
Method Detail
-
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 subject, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.Variable object, RdfsSubClassOfReasoner rdfsSubClassOfReasoner, ConstraintComponent.Scope scope, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
-
deepClone
ConstraintComponent deepClone()
-
-