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
,SparqlConstraintComponent
,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 String
VALUES_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.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)
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)
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()
boolean
requiresEvaluation(ConnectionsGroup connectionsGroup, ConstraintComponent.Scope scope, Resource[] dataGraph, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
void
setTargetChain(TargetChain targetChain)
String
stringRepresentationOfValue(Value value)
-
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, getDefaultMessage
-
-
-
-
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:
getTargetChain
in interfaceorg.eclipse.rdf4j.sail.shacl.ast.TargetChainInterface
-
setTargetChain
public void setTargetChain(TargetChain targetChain)
- Specified by:
setTargetChain
in 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:
generateSparqlValidationQuery
in interfaceConstraintComponent
-
generateTransactionalValidationPlan
public PlanNode generateTransactionalValidationPlan(ConnectionsGroup connectionsGroup, ValidationSettings validationSettings, PlanNodeProvider overrideTargetNode, ConstraintComponent.Scope scope)
- Specified by:
generateTransactionalValidationPlan
in interfaceConstraintComponent
-
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 interfaceConstraintComponent
-
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 interfaceConstraintComponent
-
requiresEvaluation
public boolean requiresEvaluation(ConnectionsGroup connectionsGroup, ConstraintComponent.Scope scope, Resource[] dataGraph, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
- Specified by:
requiresEvaluation
in 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, org.eclipse.rdf4j.sail.shacl.ast.StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
- Specified by:
getAllTargetsPlan
in interfaceConstraintComponent
-
buildSparqlValidNodes_rsx_targetShape
public 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)
- Specified by:
buildSparqlValidNodes_rsx_targetShape
in interfaceConstraintComponent
-
-