Class AbstractConstraintComponent
- java.lang.Object
-
- org.eclipse.rdf4j.sail.shacl.ast.constraintcomponents.AbstractConstraintComponent
-
- All Implemented Interfaces:
ConstraintComponent
,Exportable
,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 java.lang.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 private Resource
id
private static org.slf4j.Logger
logger
private TargetChain
targetChain
static java.lang.String
VALUES_INJECTION_POINT
-
Constructor Summary
Constructors Constructor Description AbstractConstraintComponent()
AbstractConstraintComponent(Resource id)
-
Method Summary
-
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
-
Methods inherited from interface org.eclipse.rdf4j.sail.shacl.ast.Exportable
toModel
-
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
VALUES_INJECTION_POINT
public static final java.lang.String VALUES_INJECTION_POINT
- See Also:
- Constant Field Values
-
id
private Resource id
-
targetChain
private TargetChain targetChain
-
-
Constructor Detail
-
AbstractConstraintComponent
public AbstractConstraintComponent(Resource id)
-
AbstractConstraintComponent
public AbstractConstraintComponent()
-
-
Method Detail
-
getId
public Resource getId()
-
getTargetChain
public TargetChain getTargetChain()
- Specified by:
getTargetChain
in interfaceTargetChainInterface
-
setTargetChain
public void setTargetChain(TargetChain targetChain)
- Specified by:
setTargetChain
in interfaceTargetChainInterface
-
generateSparqlValidationQuery
public 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 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 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, 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, StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
- Specified by:
getAllTargetsPlan
in interfaceConstraintComponent
-
buildSparqlValidNodes_rsx_targetShape
public SparqlFragment buildSparqlValidNodes_rsx_targetShape(StatementMatcher.Variable<Value> subject, StatementMatcher.Variable<Value> object, RdfsSubClassOfReasoner rdfsSubClassOfReasoner, ConstraintComponent.Scope scope, StatementMatcher.StableRandomVariableProvider stableRandomVariableProvider)
- Specified by:
buildSparqlValidNodes_rsx_targetShape
in interfaceConstraintComponent
-
trim
static java.lang.CharSequence[] trim(java.lang.String... s)
-
stringRepresentationOfValue
public java.lang.String stringRepresentationOfValue(Value value)
-
-