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 class
ConstraintComponent.Scope
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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)
ConstraintComponent
deepClone()
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()
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.boolean
requiresEvaluation(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()
-
-