Class AbstractConstraintComponent
- java.lang.Object
-
- org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.AbstractConstraintComponent
-
- All Implemented Interfaces:
ConstraintComponent,org.eclipse.rdf4j.sail.shacl.ast.Exportable,org.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface
- Direct Known Subclasses:
ClassConstraintComponent,ClosedConstraintComponent,DashHasValueInConstraintComponent,DisjointConstraintComponent,EqualsConstraintComponent,HasValueConstraintComponent,LessThanConstraintComponent,LessThanOrEqualsConstraintComponent,LogicalOperatorConstraintComponent,MaxCountConstraintComponent,MinCountConstraintComponent,NotConstraintComponent,QualifiedMaxCountConstraintComponent,QualifiedMinCountConstraintComponent,SimpleAbstractConstraintComponent,UniqueLangConstraintComponent,XoneConstraintComponent
public abstract class AbstractConstraintComponent extends Object implements ConstraintComponent
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.ConstraintComponent
ConstraintComponent.Scope
-
-
Field Summary
Fields Modifier and Type Field Description static StringVALUES_INJECTION_POINT
-
Constructor Summary
Constructors Constructor Description AbstractConstraintComponent()AbstractConstraintComponent(Resource id)
-
Method Summary
All Methods Instance Methods Concrete 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)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)ResourcegetId()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.TargetChaingetTargetChain()booleanrequiresEvaluation(ConnectionsGroup connectionsGroup, ConstraintComponent.Scope scope, Resource[] dataGraph)voidsetTargetChain(TargetChain targetChain)-
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, getConstraintComponent
-
-
-
-
Field Detail
-
VALUES_INJECTION_POINT
public static final String VALUES_INJECTION_POINT
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AbstractConstraintComponent
public AbstractConstraintComponent(Resource id)
-
AbstractConstraintComponent
public AbstractConstraintComponent()
-
-
Method Detail
-
getId
public Resource getId()
-
getTargetChain
public TargetChain getTargetChain()
- Specified by:
getTargetChainin interfaceorg.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface
-
setTargetChain
public void setTargetChain(TargetChain targetChain)
- Specified by:
setTargetChainin interfaceorg.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface
-
generateSparqlValidationQuery
public org.eclipse.rdf4j.sail.shacl.ast.ValidationQuery generateSparqlValidationQuery(ConnectionsGroup connectionsGroup, ValidationSettings validationSettings, boolean negatePlan, boolean negateChildren, ConstraintComponent.Scope scope)
- Specified by:
generateSparqlValidationQueryin interfaceConstraintComponent
-
generateTransactionalValidationPlan
public PlanNode generateTransactionalValidationPlan(ConnectionsGroup connectionsGroup, ValidationSettings validationSettings, PlanNodeProvider overrideTargetNode, ConstraintComponent.Scope scope)
- Specified by:
generateTransactionalValidationPlanin interfaceConstraintComponent
-
getPreferredValidationApproach
public org.eclipse.rdf4j.sail.shacl.ast.ValidationApproach getPreferredValidationApproach(ConnectionsGroup connectionsGroup)
Description copied from interface:ConstraintComponentA 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:
getPreferredValidationApproachin interfaceConstraintComponent
-
getOptimalBulkValidationApproach
public org.eclipse.rdf4j.sail.shacl.ast.ValidationApproach getOptimalBulkValidationApproach()
Description copied from interface:ConstraintComponentShould return the fastest validation approach for bulk validation. When aggregating multiple constraint components the most compatible should be chosen.- Specified by:
getOptimalBulkValidationApproachin interfaceConstraintComponent
-
requiresEvaluation
public boolean requiresEvaluation(ConnectionsGroup connectionsGroup, ConstraintComponent.Scope scope, Resource[] dataGraph)
- Specified by:
requiresEvaluationin interfaceConstraintComponent- Returns:
- true if the constraint component should be evaluated, eg. if validation is needed.
-
getAllTargetsPlan
public PlanNode getAllTargetsPlan(ConnectionsGroup connectionsGroup, Resource[] dataGraph, ConstraintComponent.Scope scope)
- Specified by:
getAllTargetsPlanin interfaceConstraintComponent
-
buildSparqlValidNodes_rsx_targetShape
public 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)- Specified by:
buildSparqlValidNodes_rsx_targetShapein interfaceConstraintComponent
-
-