abstract

Can be set to true to indicate that this module shall not be instantiated. Abstract modules are only there to organize other modules into hierarchies.

Comment
Can be set to true to indicate that this module shall not be instantiated. Abstract modules are only there to organize other modules into hierarchies.
Domain
Module
Label
abstract
Range
boolean
SubPropertyOf
system property

ask

Executes a given ASK query and returns its boolean result. The first argument must point to an sp:Ask or a SPIN template call that has an ASK query as its body. All subsequent argument can come in pairs, with the first one being a variable name and the second its binding. Example: BIND (spin:ask(?query, "this", owl:Thing) AS ?result) . will execute the sp:Ask behind ?query with the variable ?this pre-bound to owl:Thing.

Comment
Executes a given ASK query and returns its boolean result. The first argument must point to an sp:Ask or a SPIN template call that has an ASK query as its body. All subsequent argument can come in pairs, with the first one being a variable name and the second its binding. Example: BIND (spin:ask(?query, "this", owl:Thing) AS ?result) . will execute the sp:Ask behind ?query with the variable ?this pre-bound to owl:Thing.
Label
ask
SubClassOf
Functions

Ask template

A SPIN template that wraps an ASK query.

Comment
A SPIN template that wraps an ASK query.
Constraint

A8

The ASK query wrapped by this template.

Comment
The ASK query wrapped by this template.
MaxCount
1
MinCount
0
Predicate
body
Value type
ASK
Label
Ask template
SubClassOf
Template

Ask templates

Suggested abstract base class for all AskTemplates.

Abstract
true
Comment
Suggested abstract base class for all AskTemplates.
Label
Ask templates
SubClassOf
Templates

body

The body of a Function or Template. This points to a Query instance. For Functions, this is limited to either ASK or SELECT type queries. If the body is the ASK function then the return value is xsd:boolean. Otherwise, the SELECT query must have a single return variable. The first binding of this SELECT query will be returned as result of the function call.

Comment
The body of a Function or Template. This points to a Query instance. For Functions, this is limited to either ASK or SELECT type queries. If the body is the ASK function then the return value is xsd:boolean. Otherwise, the SELECT query must have a single return variable. The first binding of this SELECT query will be returned as result of the function call.
Label
body
Range
Command
SubPropertyOf
system property

SubClassOf
Rule

cachable

Can be set to true to instruct the SPIN engine that it may cache the results of all calls to the associated function. Functions should only be marked as cachable if the same combination of input arguments always returns the same result. Functions that query a graph or other background data that may change over time should not be cached. Caching can significantly improve performance of frequently needed functions.

Comment
Can be set to true to instruct the SPIN engine that it may cache the results of all calls to the associated function. Functions should only be marked as cachable if the same combination of input arguments always returns the same result. Functions that query a graph or other background data that may change over time should not be cached. Caching can significantly improve performance of frequently needed functions.
Domain
Function
Label
cachable
Range
boolean
SubPropertyOf
system property

cachable for ontologies

Can be set to true to instruct the SPIN engine that the outcome of the function does not depend on any instances/indivuduals in the current query graph, but only on the definitions of classes, properties and shapes. Engines may cache the results of all calls to the associated function. Functions should only be marked as cachable if the same combination of input arguments always returns the same result.

Comment
Can be set to true to instruct the SPIN engine that the outcome of the function does not depend on any instances/indivuduals in the current query graph, but only on the definitions of classes, properties and shapes. Engines may cache the results of all calls to the associated function. Functions should only be marked as cachable if the same combination of input arguments always returns the same result.
Domain
Function
Label
cachable for ontologies
Range
boolean
SubPropertyOf
system property

Column

Provides metadata about a column in the result set of a (SPARQL) query, for example of the body queries of SPIN templates. Columns can define human-readable labels that serve as column titles, using rdfs:label.

Comment
Provides metadata about a column in the result set of a (SPARQL) query, for example of the body queries of SPIN templates. Columns can define human-readable labels that serve as column titles, using rdfs:label.
Label
Column
SubClassOf
Resource

column

Can link a TableDataProvider (esp. SelectTemplate) with one or more columns that provide metadata for rendering purposes. Columns can be sorted by their spin:columnIndex (which must align with the ordering of variables in the SELECT query starting with 0). Not all result variables of the underlying query need to have a matching spin:Column.

Comment
Can link a TableDataProvider (esp. SelectTemplate) with one or more columns that provide metadata for rendering purposes. Columns can be sorted by their spin:columnIndex (which must align with the ordering of variables in the SELECT query starting with 0). Not all result variables of the underlying query need to have a matching spin:Column.
Domain
Table data provider
Label
column
Range
Column
SubPropertyOf
system property

column index

The index of a column (from left to right) starting at 0.

Comment
The index of a column (from left to right) starting at 0.
Domain
Column
Label
column index
Range
integer
SubPropertyOf
system property

column type

The datatype or resource type of a spin:Column. For example this is useful as metadata to inform a rendering engine that numeric columns (e.g. xsd:float) need to be right-aligned.

Comment
The datatype or resource type of a spin:Column. For example this is useful as metadata to inform a rendering engine that numeric columns (e.g. xsd:float) need to be right-aligned.
Domain
Column
Label
column type
Range
Class
SubPropertyOf
system property

column width

The preferred width of the associated Column, for display purposes. Values in pixels (rendering engines may multiply the values depending on resolution).

Comment
The preferred width of the associated Column, for display purposes. Values in pixels (rendering engines may multiply the values depending on resolution).
Domain
Column
Label
column width
Range
integer
SubPropertyOf
system property

command

Can be used to link a resource with a SPARQL query or update request (sp:Command).

Comment
Can be used to link a resource with a SPARQL query or update request (sp:Command).
Label
command
Range
Command

constraint

Links a class with constraints on its instances. The values of this property are "axioms" expressed as CONSTRUCT or ASK queries where the variable ?this refers to the instances of the surrounding class. ASK queries must evaluate to false for each member of this class - returning true means that the instance ?this violates the constraint. CONSTRUCT queries must create instances of spin:ConstraintViolation to provide details on the reason for the violation.

Comment
Links a class with constraints on its instances. The values of this property are "axioms" expressed as CONSTRUCT or ASK queries where the variable ?this refers to the instances of the surrounding class. ASK queries must evaluate to false for each member of this class - returning true means that the instance ?this violates the constraint. CONSTRUCT queries must create instances of spin:ConstraintViolation to provide details on the reason for the violation.
Domain
Class
Label
constraint

Constraint violation

An object that can be created by spin:constraints to provide information about a constraint violation.

Comment
An object that can be created by spin:constraints to provide information about a constraint violation.
Label
Constraint violation
SubClassOf
Resource

Constraint violation level

The type of the supported levels of constraint violations, including spin:Error and spin:Warning.

Comment
The type of the supported levels of constraint violations, including spin:Error and spin:Warning.
Label
Constraint violation level
SubClassOf
Resource

construct

Evaluates a given sp:Construct or SPIN template call (first argument on the left hand side) and binds the resulting triples to the variables on the right hand side. Example: (?query "this" owl:Thing) spin:construct (?s ?p ?o) will execute the sp:Construct ?query using the binding of owl:Thing to ?this. The resulting triples will be bound to ?s, ?p and ?o. If any of ?s ?p ?o are bound, it will only return the matching triples.

Comment
Evaluates a given sp:Construct or SPIN template call (first argument on the left hand side) and binds the resulting triples to the variables on the right hand side. Example: (?query "this" owl:Thing) spin:construct (?s ?p ?o) will execute the sp:Construct ?query using the binding of owl:Thing to ?this. The resulting triples will be bound to ?s, ?p and ?o. If any of ?s ?p ?o are bound, it will only return the matching triples.
Label
construct
SubClassOf
Magic properties
Constraint

A1

The CONSTRUCT query wrapped by this template.

Comment
The CONSTRUCT query wrapped by this template.
MaxCount
1
MinCount
0
Predicate
body
Value type
CONSTRUCT
Label
Construct template
SubClassOf
Template

Construct templates

Suggested abstract base class for all ConstructTemplates.

Abstract
true
Comment
Suggested abstract base class for all ConstructTemplates.
Label
Construct templates
SubClassOf
Templates

construct violations

Takes an instance (?arg1) and a class definition (?arg2) and returns all constraint violations for that instance as triples. This magic property basically runs its own constraint checker for defining meta-constraints, and can also be used to classify instances. Example: CONSTRUCT { ?s ?p ?o . } WHERE { (my:Person my:OldPerson) spin:constructViolations (?s ?p ?o) . }

Comment
Takes an instance (?arg1) and a class definition (?arg2) and returns all constraint violations for that instance as triples. This magic property basically runs its own constraint checker for defining meta-constraints, and can also be used to classify instances. Example: CONSTRUCT { ?s ?p ?o . } WHERE { (my:Person my:OldPerson) spin:constructViolations (?s ?p ?o) . }
Constraint

A0

The class that this type is validated against.

Comment
The class that this type is validated against.
Predicate
arg2
Value type
Class

A4

The instance to check.

Comment
The instance to check.
Predicate
arg1
Value type
Resource
Label
construct violations
SubClassOf
Magic properties

constructor

Can be used to attach a "constructor" to a class. A constructor is a SPARQL CONSTRUCT query or INSERT/DELETE Update operation that can add initial values to the current instance. At execution time, the variable ?this is bound to the current instance. Tools can call constructors of a class and its superclasses when an instance of a class has been created. Constructors will also be used to initialize resources that have received a new rdf:type triple as a result of spin:rules firing.

Comment
Can be used to attach a "constructor" to a class. A constructor is a SPARQL CONSTRUCT query or INSERT/DELETE Update operation that can add initial values to the current instance. At execution time, the variable ?this is bound to the current instance. Tools can call constructors of a class and its superclasses when an instance of a class has been created. Constructors will also be used to initialize resources that have received a new rdf:type triple as a result of spin:rules firing.
Domain
Class
Label
constructor
Range
Rule
SubPropertyOf
command

DeleteWhere

SubClassOf
Rule

Error

Indicates that the associated constraint violation is an error that should be fixed.

Comment
Indicates that the associated constraint violation is an error that should be fixed.
Label
Error

eval

Evaluates a given SPIN expression or SELECT or ASK query, and returns its result. The first argument must be the expression in SPIN RDF syntax. All other arguments must come in pairs: first a property name, and then a value. These name/value pairs will be pre-bound variables for the execution of the expression.

Comment
Evaluates a given SPIN expression or SELECT or ASK query, and returns its result. The first argument must be the expression in SPIN RDF syntax. All other arguments must come in pairs: first a property name, and then a value. These name/value pairs will be pre-bound variables for the execution of the expression.
Label
eval
SubClassOf
Functions

eval in graph

Evaluates a given SPIN expression or SELECT or ASK query, and returns its result. The first argument must be the expression in SPIN RDF syntax. This RDF representation of this expression is expected to be in the currently active query graph. The second argument is the URI of a graph that the actual query shall be evaluated against. All other arguments must come in pairs: first a property name, and then a value. These name/value pairs will be pre-bound variables for the execution of the expression.

Comment
Evaluates a given SPIN expression or SELECT or ASK query, and returns its result. The first argument must be the expression in SPIN RDF syntax. This RDF representation of this expression is expected to be in the currently active query graph. The second argument is the URI of a graph that the actual query shall be evaluated against. All other arguments must come in pairs: first a property name, and then a value. These name/value pairs will be pre-bound variables for the execution of the expression.
Label
eval in graph
SubClassOf
Functions

Fatal

Indicates that the associated constraint violation is a severe error that must be fixed. Constraint checking engines may decide to stop further evaluation once a fatal error has been detected.

Comment
Indicates that the associated constraint violation is a severe error that must be fixed. Constraint checking engines may decide to stop further evaluation once a fatal error has been detected.
Label
Fatal

fix

Can be used to link a ConstraintViolation with one or more UPDATE Templates that would help fix the violation.

Comment
Can be used to link a ConstraintViolation with one or more UPDATE Templates that would help fix the violation.
Domain
Constraint violation
Label
fix
Range
Update template
SubPropertyOf
system property

Function

Metaclass for functions that can be used in SPARQL expressions (e.g. FILTER or BIND). The function themselves are classes that are instances of this metaclass. Function calls are instances of the function classes, with property values for the arguments.

Comment
Metaclass for functions that can be used in SPARQL expressions (e.g. FILTER or BIND). The function themselves are classes that are instances of this metaclass. Function calls are instances of the function classes, with property values for the arguments.
Constraint

A6

the body of the function

Comment
the body of the function
MaxCount
1
MinCount
0
Predicate
body
Label
Function
SubClassOf
Module

Functions

An abstract base class for all defined functions. This class mainly serves as a shared root so that the various instances of the Function metaclass are grouped together.

Abstract
true
Comment
An abstract base class for all defined functions. This class mainly serves as a shared root so that the various instances of the Function metaclass are grouped together.
Label
Functions
SubClassOf
Modules

imports

Can be used to link an RDF graph (usually the instance of owl:Ontology) with a SPIN library to define constraints. SPIN-aware tools should include the definitions from those libraries for constraint checking. Using such libraries is a simpler alternative than explicitly importing them using owl:imports, because it does not force all the SPIN triples into the RDF model.

Comment
Can be used to link an RDF graph (usually the instance of owl:Ontology) with a SPIN library to define constraints. SPIN-aware tools should include the definitions from those libraries for constraint checking. Using such libraries is a simpler alternative than explicitly importing them using owl:imports, because it does not force all the SPIN triples into the RDF model.
Domain
Ontology
Label
imports
Range
Ontology
SubPropertyOf
system property

Info

Indicates that the associated constraint violation is a not a problem. This level can be used for diagnostic and debugging purposes.

Comment
Indicates that the associated constraint violation is a not a problem. This level can be used for diagnostic and debugging purposes.
Label
Info

inverse body

The inverse body of a magic property - used to provide a more optimized query if there is one result variable (on the right). The values must be instances of Select and must return SELECT ?arg1 etc. The WHERE clause can access the variable ?object to refer to the provided value on the right hand side of the magic property.

Comment
The inverse body of a magic property - used to provide a more optimized query if there is one result variable (on the right). The values must be instances of Select and must return SELECT ?arg1 etc. The WHERE clause can access the variable ?object to refer to the provided value on the right hand side of the magic property.
Domain
Magic property
Label
inverse body
Range
SELECT
SubPropertyOf
system property

label template

A template string for displaying instantiations of a module in human-readable form. The template may contain the argument variable names in curly braces to support substitution. For example, "The number of values of the {?arg1} property."

Comment
A template string for displaying instantiations of a module in human-readable form. The template may contain the argument variable names in curly braces to support substitution. For example, "The number of values of the {?arg1} property."
Domain
Template
Label
label template
Range
string
SubPropertyOf
system property

Library ontology

A marker class that can be attached to base URIs (ontologies) to instruct SPIN engines that this ontology only contains a library of SPIN declarations. Library Ontologies should be ignored by SPIN inference engines even if they have been imported by a domain model. For example, a SPIN version of OWL RL may contain all the OWL RL axioms, attached to owl:Thing, but nothing else. However, when executed, these axioms should not be executed over themselves, because we don't want the system to reason about the SPIN triples to speed up things.

Comment
A marker class that can be attached to base URIs (ontologies) to instruct SPIN engines that this ontology only contains a library of SPIN declarations. Library Ontologies should be ignored by SPIN inference engines even if they have been imported by a domain model. For example, a SPIN version of OWL RL may contain all the OWL RL axioms, attached to owl:Thing, but nothing else. However, when executed, these axioms should not be executed over themselves, because we don't want the system to reason about the SPIN triples to speed up things.
Label
Library ontology
SubClassOf
Ontology

Magic properties

An abstract superclass that can be used to group all spin:MagicProperty instances under a single parent class.

Abstract
true
Comment
An abstract superclass that can be used to group all spin:MagicProperty instances under a single parent class.
Label
Magic properties
SubClassOf
Functions
SubPropertyOf
system property
Label
Magic property
SubClassOf
Function
Property

Modify

SubClassOf
Rule

Module

An abstract building block of a SPARQL system. A Module can take Arguments as input and applies them on an input RDF Graph. The Arguments should be declared as spin:constraints.

Comment
An abstract building block of a SPARQL system. A Module can take Arguments as input and applies them on an input RDF Graph. The Arguments should be declared as spin:constraints.
Label
Module
SubClassOf
Class

Modules

An "artificial" parent class for all Functions and Templates.

Comment
An "artificial" parent class for all Functions and Templates.
Constructor
Label
Modules
SubClassOf
Resource

next rule property

Can be used to link two sub-properties of spin:rule (or spin:rule itself) to instruct the SPIN engine to execute one set of rules before another one. The values of the subject property will be executed before those of the object property.

Comment
Can be used to link two sub-properties of spin:rule (or spin:rule itself) to instruct the SPIN engine to execute one set of rules before another one. The values of the subject property will be executed before those of the object property.
Domain
Rule property
Label
next rule property
Range
Rule property
SubPropertyOf
system property

private

Can be set to true to indicate that a SPIN function or template is only meant to be used as a helper of other modules, but not directly. Among others, this allows user interfaces to filter out private modules. Furthermore, it tells potential users of this module that they should avoid using this module, as it may not be stable.

Comment
Can be set to true to indicate that a SPIN function or template is only meant to be used as a helper of other modules, but not directly. Among others, this allows user interfaces to filter out private modules. Furthermore, it tells potential users of this module that they should avoid using this module, as it may not be stable.
Domain
Module
Label
private
Range
boolean
SubPropertyOf
system property

query

Can be used to point from any resource to a Query.

Comment
Can be used to point from any resource to a Query.
Label
query
Range
Query
SubPropertyOf
command

return type

The return type of a Function, e.g. xsd:string.

Comment
The return type of a Function, e.g. xsd:string.
Domain
Function
Label
return type
Range
Class
SubPropertyOf
system property

Rule

Groups together the kinds of SPARQL commands that can appear as SPIN rules and constructors: CONSTRUCT, DELETE WHERE and DELETE/INSERT. This class is never to be instantiated directly.

Comment
Groups together the kinds of SPARQL commands that can appear as SPIN rules and constructors: CONSTRUCT, DELETE WHERE and DELETE/INSERT. This class is never to be instantiated directly.
Label
Rule
SubClassOf
Command

rule

An inferencing rule attached to a class. Rules are expressed as CONSTRUCT queries or INSERT/DELETE operations where the variable ?this will be bound to the current instance of the class. These inferences can be used to derive new values from existing values at the instance.

Comment
An inferencing rule attached to a class. Rules are expressed as CONSTRUCT queries or INSERT/DELETE operations where the variable ?this will be bound to the current instance of the class. These inferences can be used to derive new values from existing values at the instance.
Domain
Class
Label
rule
Range
Rule
SubPropertyOf
command

Rule property

The metaclass of spin:rule and its subproperties. spin:RuleProperties can have additional metadata attached to them.

Comment
The metaclass of spin:rule and its subproperties. spin:RuleProperties can have additional metadata attached to them.
Label
Rule property
SubClassOf
Property

rule property max iteration count

Can be attached to spin:rule (or subclasses thereof) to instruct a SPIN rules engine that it shall only execute the rules max times. If no value is specified, then the rules will be executed with no specific limit.

Comment
Can be attached to spin:rule (or subclasses thereof) to instruct a SPIN rules engine that it shall only execute the rules max times. If no value is specified, then the rules will be executed with no specific limit.
Domain
Rule property
Label
rule property max iteration count
Range
integer
SubPropertyOf
system property

SPIN Modeling Vocabulary

An RDF Schema that can be used to attach constraints and rules to RDFS classes, and to encapsulate reusable SPARQL queries into functions and templates.

Comment
An RDF Schema that can be used to attach constraints and rules to RDFS classes, and to encapsulate reusable SPARQL queries into functions and templates.
Imports
SPIN SPARQL Syntax
Label
SPIN Modeling Vocabulary
VersionInfo
1.4

select

Executes a given SELECT or ASK query (or a corresponding SPIN template call) and binds its result rows to the variables specified on the right hand side. May also pre-bind variables for the query execution, using name-value pairs on the left hand side. Example: (?query "this" owl:Thing) spin:select (?a ?b) will execute the sp:Select or sp:Ask that ?query points to and pre-bind ?this with the value of owl:Thing for the execution of the query. The first result variable of the query's result set will be bound to ?a, the second to ?b etc. If the nodes on the right are bound (or constants) then it will match with the values from the result set. Note that the first argument on the left hand side can be an instance of a SPIN template (but not the template itself). If you need to execute a template, retrieve its spin:body first.

Comment
Executes a given SELECT or ASK query (or a corresponding SPIN template call) and binds its result rows to the variables specified on the right hand side. May also pre-bind variables for the query execution, using name-value pairs on the left hand side. Example: (?query "this" owl:Thing) spin:select (?a ?b) will execute the sp:Select or sp:Ask that ?query points to and pre-bind ?this with the value of owl:Thing for the execution of the query. The first result variable of the query's result set will be bound to ?a, the second to ?b etc. If the nodes on the right are bound (or constants) then it will match with the values from the result set. Note that the first argument on the left hand side can be an instance of a SPIN template (but not the template itself). If you need to execute a template, retrieve its spin:body first.
Label
select
SubClassOf
Magic properties

Select template

A SPIN template that wraps a SELECT query.

Comment
A SPIN template that wraps a SELECT query.
Constraint

A3

The SELECT query wrapped by this template.

Comment
The SELECT query wrapped by this template.
MaxCount
1
MinCount
0
Predicate
body
Value type
SELECT
Label
Select template
SubClassOf
Table data provider
Template

Select templates

Suggested abstract base class for all SelectTemplates.

Abstract
true
Comment
Suggested abstract base class for all SelectTemplates.
Label
Select templates
SubClassOf
Templates

symbol

The symbol of a function, e.g. "=" for the eq function.

Comment
The symbol of a function, e.g. "=" for the eq function.
Domain
Function
Label
symbol
Range
string
SubPropertyOf
system property

system property

An "abstract" base property that groups together those system properties that the user will hardly ever need to see in property trees. This property may be dropped in future versions of this ontology - right now it's mainly here for convenience.

Comment
An "abstract" base property that groups together those system properties that the user will hardly ever need to see in property trees. This property may be dropped in future versions of this ontology - right now it's mainly here for convenience.
Label
system property

Table data provider

An abstraction of objects that can produce tabular data. This serves as a base class of spin:SelectTemplate, because SELECT queries can produce tables with columns for each result variable. However, other types of TableDataProviders are conceivable by other frameworks, and this class may prove as a useful shared foundation. TableDataProviders can link to definitions of columns via spin:column, and these definitions can inform rendering engines.

Comment
An abstraction of objects that can produce tabular data. This serves as a base class of spin:SelectTemplate, because SELECT queries can produce tables with columns for each result variable. However, other types of TableDataProviders are conceivable by other frameworks, and this class may prove as a useful shared foundation. TableDataProviders can link to definitions of columns via spin:column, and these definitions can inform rendering engines.
Label
Table data provider
SubClassOf
Class

Template

The metaclass of SPIN templates. Templates are classes that are instances of this class. A template represents a reusable SPARQL query or update request that can be parameterized with arguments. Templates can be instantiated in places where normally a SPARQL query or update request is used, in particular as spin:rules and spin:constraints.

Comment
The metaclass of SPIN templates. Templates are classes that are instances of this class. A template represents a reusable SPARQL query or update request that can be parameterized with arguments. Templates can be instantiated in places where normally a SPARQL query or update request is used, in particular as spin:rules and spin:constraints.
Constraint

A7

the body of the Template

Comment
the body of the Template
MaxCount
1
MinCount
0
Predicate
body
Label
Template
SubClassOf
Module

Templates

Suggested abstract base class for all Templates.

Abstract
true
Comment
Suggested abstract base class for all Templates.
Label
Templates
SubClassOf
Modules

this unbound

Can be set to true for SPIN rules and constraints that do not require pre-binding the variable ?this with all members of the associated class. This flag should only be set to true if the WHERE clause is sufficiently strong to only bind instances of the associated class, or its subclasses. In those cases, the engine can greatly improve performance of query execution, because it does not need to add clauses to narrow down the WHERE clause.

Comment
Can be set to true for SPIN rules and constraints that do not require pre-binding the variable ?this with all members of the associated class. This flag should only be set to true if the WHERE clause is sufficiently strong to only bind instances of the associated class, or its subclasses. In those cases, the engine can greatly improve performance of query execution, because it does not need to add clauses to narrow down the WHERE clause.
Domain
CONSTRUCT
Label
this unbound
Range
boolean
SubPropertyOf
system property

update

Can be used to point from any resource to an Update.

Comment
Can be used to point from any resource to an Update.
Label
update
Range
Update
SubPropertyOf
command

Update template

A SPIN template that has an UPDATE command as its body.

Comment
A SPIN template that has an UPDATE command as its body.
Constraint

A2

The UPDATE command wrapped by this template.

Comment
The UPDATE command wrapped by this template.
MaxCount
1
MinCount
0
Predicate
body
Value type
Update
Label
Update template
SubClassOf
Template

Update templates

Suggested abstract base class for all UpdateTemplates.

Abstract
true
Comment
Suggested abstract base class for all UpdateTemplates.
Label
Update templates
SubClassOf
Templates

violates constraints

Checks whether a given instance (?arg1) violates any of the constraints defined for a given class (?arg2).

Comment
Checks whether a given instance (?arg1) violates any of the constraints defined for a given class (?arg2).
Label
violates constraints
Return type
boolean
SubClassOf
Functions

violation detail

Links a (parent) spin:ConstraintViolation with one or more (child) spin:ConstraintViolations that provide details on the parent violation. This is commonly used in conjunction with spin:constructViolations to indicate that certain violations have triggered the parent violation.

Comment
Links a (parent) spin:ConstraintViolation with one or more (child) spin:ConstraintViolations that provide details on the parent violation. This is commonly used in conjunction with spin:constructViolations to indicate that certain violations have triggered the parent violation.
Domain
Constraint violation
Label
violation detail
Range
Constraint violation
SubPropertyOf
system property

violation level

An optional attribute of ConstraintViolations to point at a violation level (such as Error and Warning). Defaults to spin:Error.

Comment
An optional attribute of ConstraintViolations to point at a violation level (such as Error and Warning). Defaults to spin:Error.
Domain
Constraint violation
Label
violation level
Range
Constraint violation level
SubPropertyOf
system property

violation path

An optional attribute of ConstraintViolations to provide a path expression from the root resource to the value that is invalid. If this is a URI then the path represents the predicate of a subject/predicate combination. Otherwise it should be a blank node of type sp:Path.

Comment
An optional attribute of ConstraintViolations to provide a path expression from the root resource to the value that is invalid. If this is a URI then the path represents the predicate of a subject/predicate combination. Otherwise it should be a blank node of type sp:Path.
Domain
Constraint violation
Label
violation path
Range
Resource
SubPropertyOf
system property

violation root

The root resource of the violation (often ?this in the constraint body).

Comment
The root resource of the violation (often ?this in the constraint body).
Domain
Constraint violation
Label
violation root
Range
Resource
SubPropertyOf
system property

violation source

Can be used to link a spin:ConstraintViolation with the query or template call that caused it. This property is typically filled in automatically by the constraint checking engine and does not need to be set manually. However, it can be useful to learn more about the origin of a violation.

Comment
Can be used to link a spin:ConstraintViolation with the query or template call that caused it. This property is typically filled in automatically by the constraint checking engine and does not need to be set manually. However, it can be useful to learn more about the origin of a violation.
Domain
Constraint violation
Label
violation source
Range
Resource
SubPropertyOf
system property

violation value

An optional attribute of ConstraintViolations to point at a specific RDF node that caused the violation. Should be accessible from the root via the violationPath.

Comment
An optional attribute of ConstraintViolations to point at a specific RDF node that caused the violation. Should be accessible from the root via the violationPath.
Domain
Constraint violation
Label
violation value
SubPropertyOf
system property

Warning

Indicates that the associated constraint violation is a problem that may not have to be fixed but may lead to issues in the future.

Comment
Indicates that the associated constraint violation is a problem that may not have to be fixed but may lead to issues in the future.
Label
Warning

_arg1

VarName
arg1

_arg2

VarName
arg2

_arg3

VarName
arg3

_arg4

VarName
arg4

_arg5

VarName
arg5

_this

A system variable representing the current context instance in a rule or constraint.

Comment
A system variable representing the current context instance in a rule or constraint.
Label
_this
VarName
this