All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schema.spin-full.ttl Maven / Gradle / Ivy

@prefix owl:  .
@prefix rdf:  .
@prefix spin:  .
@prefix arg:  .
@prefix xsd:  .
@prefix afn:  .
@prefix fn:  .
@prefix rdfs:  .
@prefix sp:  .
@prefix spl:  .

rdf:Alt a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdf:Alt , rdfs:Container , rdfs:Resource .

rdf:Bag a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdf:Bag , rdfs:Container , rdfs:Resource .

rdf:List a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdf:List , rdfs:Resource .

rdf:Property a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdf:Property , rdfs:Resource .

rdf:Seq a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdf:Seq , rdfs:Container , rdfs:Resource .

rdf:Statement a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdf:Statement , rdfs:Resource .

rdf:XMLLiteral a rdfs:Class , rdfs:Datatype , rdfs:Resource ;
	rdfs:subClassOf rdf:XMLLiteral , rdfs:Literal , rdfs:Resource .

rdf:first a rdf:Property , rdfs:Resource ;
	rdfs:domain rdf:List ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf rdf:first .

rdf:nil a rdf:List , rdfs:Resource .

rdf:object a rdf:Property , rdfs:Resource ;
	rdfs:domain rdf:Statement ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf rdf:object .

rdf:predicate a rdf:Property , rdfs:Resource ;
	rdfs:domain rdf:Statement ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf rdf:predicate .

rdf:rest a rdf:Property , rdfs:Resource ;
	rdfs:domain rdf:List ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf rdf:rest .

rdf:subject a rdf:Property , rdfs:Resource ;
	rdfs:domain rdf:Statement ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf rdf:subject .

rdf:type a rdf:Property , rdfs:Resource ;
	rdfs:domain rdfs:Resource ;
	rdfs:range rdfs:Class ;
	rdfs:subPropertyOf rdf:type .

rdf:value a rdf:Property , rdfs:Resource ;
	rdfs:domain rdfs:Resource ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf rdf:value .

rdfs:Class a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Class , rdfs:Resource .

rdfs:Container a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Container , rdfs:Resource .

rdfs:ContainerMembershipProperty a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdf:Property , rdfs:ContainerMembershipProperty , rdfs:Resource .

rdfs:Datatype a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Class , rdfs:Datatype , rdfs:Resource .

rdfs:Literal a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Literal , rdfs:Resource .

rdfs:Resource a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource .

rdfs:comment a rdf:Property , rdfs:Resource ;
	rdfs:domain rdfs:Resource ;
	rdfs:range rdfs:Literal ;
	rdfs:subPropertyOf rdfs:comment .

rdfs:domain a rdf:Property , rdfs:Resource ;
	rdfs:domain rdf:Property ;
	rdfs:range rdfs:Class ;
	rdfs:subPropertyOf rdfs:domain .

rdfs:isDefinedBy a rdf:Property , rdfs:Resource ;
	rdfs:domain rdfs:Resource ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf rdfs:isDefinedBy , rdfs:seeAlso .

rdfs:label a rdf:Property , rdfs:Resource ;
	rdfs:domain rdfs:Resource ;
	rdfs:range rdfs:Literal ;
	rdfs:subPropertyOf rdfs:label .

rdfs:member a rdf:Property , rdfs:Resource ;
	rdfs:domain rdfs:Resource ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf rdfs:member .

rdfs:range a rdf:Property , rdfs:Resource ;
	rdfs:domain rdf:Property ;
	rdfs:range rdfs:Class ;
	rdfs:subPropertyOf rdfs:range .

rdfs:seeAlso a rdf:Property , rdfs:Resource ;
	rdfs:domain rdfs:Resource ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf rdfs:seeAlso .

rdfs:subClassOf a rdf:Property , rdfs:Resource ;
	rdfs:domain rdfs:Class ;
	rdfs:range rdfs:Class ;
	rdfs:subPropertyOf rdfs:subClassOf .

rdfs:subPropertyOf a rdf:Property , rdfs:Resource ;
	rdfs:domain rdf:Property ;
	rdfs:range rdf:Property ;
	rdfs:subPropertyOf rdfs:subPropertyOf .

_:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 a rdfs:Resource .

_:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 a rdfs:Resource .

_:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 a rdfs:Resource .

_:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 a rdfs:Resource .

_:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 a rdfs:Resource .

_:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 a rdfs:Resource .

_:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b70470 a rdfs:Resource .

_:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 a rdfs:Resource .

_:node1a5jqhf0ux1 sp:arg sp:Ask , spin:body , 0 , 1 ;
	spl:count 0 , 1 ;
	spl:maxCount 1 ;
	spl:minCount 0 ;
	spl:predicate spin:body ;
	spl:valueType sp:Ask ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Attribute , rdfs:Resource ;
	rdfs:comment "The ASK query wrapped by this template." .

_:node1a5jqhf0ux10 sp:arg sp:arg2 , rdfs:Resource ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second number" .

_:node1a5jqhf0ux100 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The expression to evaluate. Should be a sp:Select, sp:Ask, a sp:Variable or an instance of a SPARQL function class, but may also be a simple RDF value." .

_:node1a5jqhf0ux101 sp:resultVariables _:node1a5jqhf0ux102 ;
	sp:systemProperty _:node1a5jqhf0ux102 , _:node1a5jqhf0ux106 ;
	sp:where _:node1a5jqhf0ux106 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux102 rdf:first _:node1a5jqhf0ux103 ;
	rdf:rest _:node1a5jqhf0ux104 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux103 sp:systemProperty "arg" ;
	sp:varName "arg" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux104 rdf:first _:node1a5jqhf0ux105 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux105 sp:systemProperty "atClass" ;
	sp:varName "atClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux106 rdf:first _:node1a5jqhf0ux107 ;
	rdf:rest _:node1a5jqhf0ux111 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux107 sp:object _:node1a5jqhf0ux108 ;
	sp:path _:node1a5jqhf0ux109 ;
	sp:subject _:node1a5jqhf0ux110 ;
	sp:systemProperty _:node1a5jqhf0ux108 , _:node1a5jqhf0ux109 , _:node1a5jqhf0ux110 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux108 sp:systemProperty "atClass" ;
	sp:varName "atClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux109 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subClassOf ;
	sp:systemProperty rdfs:subClassOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux11 sp:arg sp:arg1 , xsd:boolean ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand of the intersection" .

_:node1a5jqhf0ux110 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux111 rdf:first _:node1a5jqhf0ux112 ;
	rdf:rest _:node1a5jqhf0ux115 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux112 sp:object _:node1a5jqhf0ux113 ;
	sp:predicate spin:constraint ;
	sp:subject _:node1a5jqhf0ux114 ;
	sp:systemProperty _:node1a5jqhf0ux113 , _:node1a5jqhf0ux114 , spin:constraint ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux113 sp:systemProperty "arg" ;
	sp:varName "arg" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux114 sp:systemProperty "atClass" ;
	sp:varName "atClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux115 rdf:first _:node1a5jqhf0ux116 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux116 sp:object spl:Argument ;
	sp:predicate rdf:type ;
	sp:subject _:node1a5jqhf0ux117 ;
	sp:systemProperty _:node1a5jqhf0ux117 , spl:Argument , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux117 sp:systemProperty "arg" ;
	sp:varName "arg" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux118 sp:arg spl:class , rdfs:Class ;
	spl:predicate spl:class ;
	spl:valueType rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The class to get the arguments of." .

_:node1a5jqhf0ux119 sp:systemProperty _:node1a5jqhf0ux120 , _:node1a5jqhf0ux130 ;
	sp:templates _:node1a5jqhf0ux120 ;
	sp:where _:node1a5jqhf0ux130 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux12 sp:arg sp:arg2 , xsd:boolean ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand of the intersection" .

_:node1a5jqhf0ux120 rdf:first _:node1a5jqhf0ux121 ;
	rdf:rest _:node1a5jqhf0ux122 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux121 sp:object spin:ConstraintViolation ;
	sp:predicate rdf:type ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 , spin:ConstraintViolation , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux122 rdf:first _:node1a5jqhf0ux123 ;
	rdf:rest _:node1a5jqhf0ux124 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux123 sp:object spin:_this ;
	sp:predicate spin:violationRoot ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 , spin:_this , spin:violationRoot ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux124 rdf:first _:node1a5jqhf0ux125 ;
	rdf:rest _:node1a5jqhf0ux127 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux125 sp:object _:node1a5jqhf0ux126 ;
	sp:predicate spin:violationPath ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 , _:node1a5jqhf0ux126 , spin:violationPath ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux126 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux127 rdf:first _:node1a5jqhf0ux128 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux128 sp:object _:node1a5jqhf0ux129 ;
	sp:predicate rdfs:label ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b14277 , _:node1a5jqhf0ux129 , rdfs:label ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux129 sp:systemProperty "label" ;
	sp:varName "label" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux13 sp:arg sp:arg1 , true ;
	spl:optional true ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "A literal input node." .

_:node1a5jqhf0ux130 rdf:first _:node1a5jqhf0ux131 ;
	rdf:rest _:node1a5jqhf0ux134 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux131 rdf:first _:node1a5jqhf0ux132 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux132 sp:expression _:node1a5jqhf0ux133 ;
	sp:systemProperty _:node1a5jqhf0ux133 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux133 sp:arg spin:_this ;
	sp:arg1 spin:_this ;
	 _:node1a5jqhf0ux4 ;
	a sp:isIRI , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux134 rdf:first _:node1a5jqhf0ux135 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux135 sp:elements _:node1a5jqhf0ux136 ;
	sp:systemProperty _:node1a5jqhf0ux136 ;
	a sp:Element , sp:ElementGroup , sp:SystemClass , sp:Union , rdfs:Resource .

_:node1a5jqhf0ux136 rdf:first _:node1a5jqhf0ux137 ;
	rdf:rest _:node1a5jqhf0ux170 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux137 rdf:first _:node1a5jqhf0ux138 ;
	rdf:rest _:node1a5jqhf0ux164 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux138 rdf:first _:node1a5jqhf0ux139 ;
	rdf:rest _:node1a5jqhf0ux147 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux139 rdf:first _:node1a5jqhf0ux140 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux14 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the variable or expression that is checked" .

_:node1a5jqhf0ux140 sp:expression _:node1a5jqhf0ux141 ;
	sp:systemProperty _:node1a5jqhf0ux141 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux141 sp:arg _:node1a5jqhf0ux142 , _:node1a5jqhf0ux145 ;
	sp:arg1 _:node1a5jqhf0ux142 ;
	sp:arg2 _:node1a5jqhf0ux145 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux142 sp:arg _:node1a5jqhf0ux143 ;
	sp:arg1 _:node1a5jqhf0ux143 ;
	 _:node1a5jqhf0ux4 ;
	a sp:not , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux143 sp:arg _:node1a5jqhf0ux144 ;
	sp:arg1 _:node1a5jqhf0ux144 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux144 sp:systemProperty "optional" ;
	sp:varName "optional" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux145 sp:arg _:node1a5jqhf0ux146 , false ;
	sp:arg1 _:node1a5jqhf0ux146 ;
	sp:arg2 false ;
	 _:node1a5jqhf0ux4 ;
	a sp:eq , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux146 sp:systemProperty "optional" ;
	sp:varName "optional" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux147 rdf:first _:node1a5jqhf0ux148 ;
	rdf:rest _:node1a5jqhf0ux154 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux148 sp:expression _:node1a5jqhf0ux149 ;
	sp:systemProperty _:node1a5jqhf0ux149 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux149 sp:elements _:node1a5jqhf0ux150 ;
	sp:systemProperty _:node1a5jqhf0ux150 ;
	 _:node1a5jqhf0ux4 ;
	a sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux15 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The number to get the ceiling of." .

_:node1a5jqhf0ux150 rdf:first _:node1a5jqhf0ux151 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux151 sp:object _:node1a5jqhf0ux152 ;
	sp:predicate _:node1a5jqhf0ux153 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux152 , _:node1a5jqhf0ux153 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux152 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux153 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux154 rdf:first _:node1a5jqhf0ux155 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux155 sp:expression _:node1a5jqhf0ux156 ;
	sp:systemProperty _:node1a5jqhf0ux156 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux156 sp:elements _:node1a5jqhf0ux157 ;
	sp:systemProperty _:node1a5jqhf0ux157 ;
	 _:node1a5jqhf0ux4 ;
	a sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux157 rdf:first _:node1a5jqhf0ux158 ;
	rdf:rest _:node1a5jqhf0ux160 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux158 sp:object _:node1a5jqhf0ux159 ;
	sp:predicate rdf:type ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux159 , spin:_this , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux159 sp:systemProperty "template" ;
	sp:varName "template" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux16 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux160 rdf:first _:node1a5jqhf0ux161 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux161 sp:expression _:node1a5jqhf0ux162 ;
	sp:systemProperty _:node1a5jqhf0ux162 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux162 sp:arg _:node1a5jqhf0ux163 , spl:UnionTemplate ;
	sp:arg1 _:node1a5jqhf0ux163 ;
	sp:arg2 spl:UnionTemplate ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux163 sp:systemProperty "template" ;
	sp:varName "template" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux164 rdf:first _:node1a5jqhf0ux165 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux165 sp:expression _:node1a5jqhf0ux166 ;
	sp:systemProperty _:node1a5jqhf0ux166 , _:node1a5jqhf0ux169 ;
	sp:variable _:node1a5jqhf0ux169 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux166 sp:arg _:node1a5jqhf0ux167 , "Missing value for argument " ;
	sp:arg1 "Missing value for argument " ;
	sp:arg2 _:node1a5jqhf0ux167 ;
	 _:node1a5jqhf0ux4 ;
	a sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux167 sp:arg _:node1a5jqhf0ux168 ;
	sp:arg1 _:node1a5jqhf0ux168 ;
	a afn:localname , rdfs:Resource .

_:node1a5jqhf0ux168 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux169 sp:systemProperty "label" ;
	sp:varName "label" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux17 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The sub-string to search for in the input string." .

_:node1a5jqhf0ux170 rdf:first _:node1a5jqhf0ux171 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux171 rdf:first _:node1a5jqhf0ux172 ;
	rdf:rest _:node1a5jqhf0ux193 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux172 rdf:first _:node1a5jqhf0ux173 ;
	rdf:rest _:node1a5jqhf0ux177 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux173 rdf:first _:node1a5jqhf0ux174 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux174 sp:expression _:node1a5jqhf0ux175 ;
	sp:systemProperty _:node1a5jqhf0ux175 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux175 sp:arg _:node1a5jqhf0ux176 ;
	sp:arg1 _:node1a5jqhf0ux176 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux176 sp:systemProperty "valueType" ;
	sp:varName "valueType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux177 rdf:first _:node1a5jqhf0ux178 ;
	rdf:rest _:node1a5jqhf0ux181 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux178 sp:object _:node1a5jqhf0ux179 ;
	sp:predicate _:node1a5jqhf0ux180 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux179 , _:node1a5jqhf0ux180 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux179 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux18 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the literal to get the datatype of" .

_:node1a5jqhf0ux180 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux181 rdf:first _:node1a5jqhf0ux182 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux182 sp:expression _:node1a5jqhf0ux183 ;
	sp:systemProperty _:node1a5jqhf0ux183 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux183 sp:arg _:node1a5jqhf0ux184 , _:node1a5jqhf0ux188 ;
	sp:arg1 _:node1a5jqhf0ux184 ;
	sp:arg2 _:node1a5jqhf0ux188 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux184 sp:arg _:node1a5jqhf0ux185 ;
	sp:arg1 _:node1a5jqhf0ux185 ;
	 _:node1a5jqhf0ux4 ;
	a sp:not , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux185 sp:arg _:node1a5jqhf0ux186 , _:node1a5jqhf0ux187 ;
	sp:arg1 _:node1a5jqhf0ux186 ;
	sp:arg2 _:node1a5jqhf0ux187 ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux186 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux187 sp:systemProperty "valueType" ;
	sp:varName "valueType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux188 sp:arg _:node1a5jqhf0ux189 , _:node1a5jqhf0ux191 ;
	sp:arg1 _:node1a5jqhf0ux189 ;
	sp:arg2 _:node1a5jqhf0ux191 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux189 sp:arg _:node1a5jqhf0ux190 , rdfs:Resource ;
	sp:arg1 _:node1a5jqhf0ux190 ;
	sp:arg2 rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:ne , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux19 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The date or dateTime argument." .

_:node1a5jqhf0ux190 sp:systemProperty "valueType" ;
	sp:varName "valueType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux191 sp:arg _:node1a5jqhf0ux192 ;
	sp:arg1 _:node1a5jqhf0ux192 ;
	 _:node1a5jqhf0ux4 ;
	a sp:isLiteral , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux192 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux193 rdf:first _:node1a5jqhf0ux194 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux194 sp:expression _:node1a5jqhf0ux195 ;
	sp:systemProperty _:node1a5jqhf0ux195 , _:node1a5jqhf0ux200 ;
	sp:variable _:node1a5jqhf0ux200 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux195 sp:arg _:node1a5jqhf0ux196 , _:node1a5jqhf0ux198 , " (expected: " , ")" , "Incorrect type of argument " ;
	sp:arg1 "Incorrect type of argument " ;
	sp:arg2 _:node1a5jqhf0ux196 ;
	sp:arg3 " (expected: " ;
	sp:arg4 _:node1a5jqhf0ux198 ;
	sp:arg5 ")" ;
	 _:node1a5jqhf0ux4 ;
	a sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux196 sp:arg _:node1a5jqhf0ux197 ;
	sp:arg1 _:node1a5jqhf0ux197 ;
	a afn:localname , rdfs:Resource .

_:node1a5jqhf0ux197 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux198 sp:arg _:node1a5jqhf0ux199 ;
	sp:arg1 _:node1a5jqhf0ux199 ;
	a afn:localname , rdfs:Resource .

_:node1a5jqhf0ux199 sp:systemProperty "valueType" ;
	sp:varName "valueType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux2 sp:arg sp:Construct , spin:body , 0 , 1 ;
	spl:count 0 , 1 ;
	spl:maxCount 1 ;
	spl:minCount 0 ;
	spl:predicate spin:body ;
	spl:valueType sp:Construct ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Attribute , rdfs:Resource ;
	rdfs:comment "The CONSTRUCT query wrapped by this template." .

_:node1a5jqhf0ux20 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux200 sp:systemProperty "label" ;
	sp:varName "label" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux201 sp:arg spl:defaultValue , true ;
	spl:optional true ;
	spl:predicate spl:defaultValue ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the default value for the argument" .

_:node1a5jqhf0ux202 sp:arg spl:optional , xsd:boolean , true ;
	spl:optional true ;
	spl:predicate spl:optional ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "indicates whether the argument is optional" .

_:node1a5jqhf0ux203 sp:arg spl:valueType , rdfs:Class , true ;
	spl:optional true ;
	spl:predicate spl:valueType ;
	spl:valueType rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the value type of the argument" .

_:node1a5jqhf0ux204 sp:arg rdfs:comment , xsd:string , true ;
	spl:optional true ;
	spl:predicate rdfs:comment ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "a comment describing the argument" .

_:node1a5jqhf0ux205 sp:arg spl:predicate , rdf:Property ;
	spl:predicate spl:predicate ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the property holding the values of each function call" .

_:node1a5jqhf0ux206 sp:systemProperty _:node1a5jqhf0ux207 , _:node1a5jqhf0ux214 ;
	sp:templates _:node1a5jqhf0ux207 ;
	sp:where _:node1a5jqhf0ux214 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux207 rdf:first _:node1a5jqhf0ux208 ;
	rdf:rest _:node1a5jqhf0ux209 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux208 sp:object spin:ConstraintViolation ;
	sp:predicate rdf:type ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b70470 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b70470 , spin:ConstraintViolation , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux209 rdf:first _:node1a5jqhf0ux210 ;
	rdf:rest _:node1a5jqhf0ux211 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux21 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux210 sp:object spin:_this ;
	sp:predicate spin:violationRoot ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b70470 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b70470 , spin:_this , spin:violationRoot ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux211 rdf:first _:node1a5jqhf0ux212 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux212 sp:object _:node1a5jqhf0ux213 ;
	sp:predicate spin:violationPath ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b70470 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b70470 , _:node1a5jqhf0ux213 , spin:violationPath ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux213 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux214 rdf:first _:node1a5jqhf0ux215 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux215 sp:elements _:node1a5jqhf0ux216 ;
	sp:systemProperty _:node1a5jqhf0ux216 ;
	a sp:Element , sp:ElementGroup , sp:SystemClass , sp:Union , rdfs:Resource .

_:node1a5jqhf0ux216 rdf:first _:node1a5jqhf0ux217 ;
	rdf:rest _:node1a5jqhf0ux226 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux217 rdf:first _:node1a5jqhf0ux218 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux218 sp:expression _:node1a5jqhf0ux219 ;
	sp:systemProperty _:node1a5jqhf0ux219 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux219 sp:arg _:node1a5jqhf0ux220 , _:node1a5jqhf0ux222 ;
	sp:arg1 _:node1a5jqhf0ux220 ;
	sp:arg2 _:node1a5jqhf0ux222 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux22 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The string to convert." .

_:node1a5jqhf0ux220 sp:arg _:node1a5jqhf0ux221 ;
	sp:arg1 _:node1a5jqhf0ux221 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux221 sp:systemProperty "minCount" ;
	sp:varName "minCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux222 sp:arg _:node1a5jqhf0ux223 , _:node1a5jqhf0ux225 ;
	sp:arg1 _:node1a5jqhf0ux223 ;
	sp:arg2 _:node1a5jqhf0ux225 ;
	 _:node1a5jqhf0ux4 ;
	a sp:lt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux223 sp:arg _:node1a5jqhf0ux224 , spin:_this ;
	sp:arg1 spin:_this ;
	sp:arg2 _:node1a5jqhf0ux224 ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:OntologyFunctions , spl:objectCount , rdfs:Resource .

_:node1a5jqhf0ux224 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux225 sp:systemProperty "minCount" ;
	sp:varName "minCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux226 rdf:first _:node1a5jqhf0ux227 ;
	rdf:rest _:node1a5jqhf0ux236 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux227 rdf:first _:node1a5jqhf0ux228 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux228 sp:expression _:node1a5jqhf0ux229 ;
	sp:systemProperty _:node1a5jqhf0ux229 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux229 sp:arg _:node1a5jqhf0ux230 , _:node1a5jqhf0ux232 ;
	sp:arg1 _:node1a5jqhf0ux230 ;
	sp:arg2 _:node1a5jqhf0ux232 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux23 sp:arg sp:arg1 , xsd:boolean ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first value to compare" .

_:node1a5jqhf0ux230 sp:arg _:node1a5jqhf0ux231 ;
	sp:arg1 _:node1a5jqhf0ux231 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux231 sp:systemProperty "maxCount" ;
	sp:varName "maxCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux232 sp:arg _:node1a5jqhf0ux233 , _:node1a5jqhf0ux235 ;
	sp:arg1 _:node1a5jqhf0ux233 ;
	sp:arg2 _:node1a5jqhf0ux235 ;
	 _:node1a5jqhf0ux4 ;
	a sp:gt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux233 sp:arg _:node1a5jqhf0ux234 , spin:_this ;
	sp:arg1 spin:_this ;
	sp:arg2 _:node1a5jqhf0ux234 ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:OntologyFunctions , spl:objectCount , rdfs:Resource .

_:node1a5jqhf0ux234 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux235 sp:systemProperty "maxCount" ;
	sp:varName "maxCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux236 rdf:first _:node1a5jqhf0ux237 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux237 rdf:first _:node1a5jqhf0ux238 ;
	rdf:rest _:node1a5jqhf0ux241 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux238 sp:expression _:node1a5jqhf0ux239 ;
	sp:systemProperty _:node1a5jqhf0ux239 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux239 sp:arg _:node1a5jqhf0ux240 ;
	sp:arg1 _:node1a5jqhf0ux240 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux24 sp:arg sp:arg2 , xsd:boolean ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second value to compare" .

_:node1a5jqhf0ux240 sp:systemProperty "valueType" ;
	sp:varName "valueType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux241 rdf:first _:node1a5jqhf0ux242 ;
	rdf:rest _:node1a5jqhf0ux245 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux242 sp:object _:node1a5jqhf0ux243 ;
	sp:predicate _:node1a5jqhf0ux244 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux243 , _:node1a5jqhf0ux244 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux243 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux244 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux245 rdf:first _:node1a5jqhf0ux246 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux246 sp:expression _:node1a5jqhf0ux247 ;
	sp:systemProperty _:node1a5jqhf0ux247 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux247 sp:arg _:node1a5jqhf0ux248 ;
	sp:arg1 _:node1a5jqhf0ux248 ;
	 _:node1a5jqhf0ux4 ;
	a sp:not , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux248 sp:arg _:node1a5jqhf0ux249 , _:node1a5jqhf0ux250 ;
	sp:arg1 _:node1a5jqhf0ux249 ;
	sp:arg2 _:node1a5jqhf0ux250 ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux249 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux25 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The value to get the floor of." .

_:node1a5jqhf0ux250 sp:systemProperty "valueType" ;
	sp:varName "valueType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux251 sp:arg spl:defaultValue , true ;
	spl:optional true ;
	spl:predicate spl:defaultValue ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the default value of the attribute" .

_:node1a5jqhf0ux252 sp:arg spl:maxCount , xsd:integer , true ;
	spl:optional true ;
	spl:predicate spl:maxCount ;
	spl:valueType xsd:integer ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the maximum number of values permitted for the property" .

_:node1a5jqhf0ux253 sp:arg spl:minCount , xsd:integer , true ;
	spl:optional true ;
	spl:predicate spl:minCount ;
	spl:valueType xsd:integer ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the minimum number of values permitted for the property" .

_:node1a5jqhf0ux254 sp:arg spl:valueType , rdfs:Class , true ;
	spl:optional true ;
	spl:predicate spl:valueType ;
	spl:valueType rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the type that all values of the property must have" .

_:node1a5jqhf0ux255 sp:arg rdfs:comment , xsd:string , true ;
	spl:optional true ;
	spl:predicate rdfs:comment ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "a comment describing the meaning of this attribute" .

_:node1a5jqhf0ux256 sp:arg spl:predicate , rdf:Property ;
	spl:predicate spl:predicate ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the RDF property holding the attribute value" .

_:node1a5jqhf0ux257 sp:systemProperty _:node1a5jqhf0ux258 , _:node1a5jqhf0ux262 ;
	sp:templates _:node1a5jqhf0ux258 ;
	sp:where _:node1a5jqhf0ux262 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux258 rdf:first _:node1a5jqhf0ux259 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux259 sp:object _:node1a5jqhf0ux260 ;
	sp:predicate _:node1a5jqhf0ux261 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux260 , _:node1a5jqhf0ux261 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux26 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux260 sp:systemProperty "defaultValue" ;
	sp:varName "defaultValue" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux261 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux262 rdf:first _:node1a5jqhf0ux263 ;
	rdf:rest _:node1a5jqhf0ux265 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux263 sp:object _:node1a5jqhf0ux264 ;
	sp:predicate rdf:type ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux264 , spin:_this , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux264 sp:systemProperty "directType" ;
	sp:varName "directType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux265 rdf:first _:node1a5jqhf0ux266 ;
	rdf:rest _:node1a5jqhf0ux270 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux266 sp:object _:node1a5jqhf0ux267 ;
	sp:path _:node1a5jqhf0ux268 ;
	sp:subject _:node1a5jqhf0ux269 ;
	sp:systemProperty _:node1a5jqhf0ux267 , _:node1a5jqhf0ux268 , _:node1a5jqhf0ux269 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux267 sp:systemProperty "type" ;
	sp:varName "type" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux268 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subClassOf ;
	sp:systemProperty rdfs:subClassOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux269 sp:systemProperty "directType" ;
	sp:varName "directType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux27 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux270 rdf:first _:node1a5jqhf0ux271 ;
	rdf:rest _:node1a5jqhf0ux274 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux271 sp:object _:node1a5jqhf0ux272 ;
	sp:predicate spin:constraint ;
	sp:subject _:node1a5jqhf0ux273 ;
	sp:systemProperty _:node1a5jqhf0ux272 , _:node1a5jqhf0ux273 , spin:constraint ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux272 sp:systemProperty "attribute" ;
	sp:varName "attribute" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux273 sp:systemProperty "type" ;
	sp:varName "type" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux274 rdf:first _:node1a5jqhf0ux275 ;
	rdf:rest _:node1a5jqhf0ux278 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux275 sp:object _:node1a5jqhf0ux276 ;
	sp:predicate spl:defaultValue ;
	sp:subject _:node1a5jqhf0ux277 ;
	sp:systemProperty _:node1a5jqhf0ux276 , _:node1a5jqhf0ux277 , spl:defaultValue ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux276 sp:systemProperty "defaultValue" ;
	sp:varName "defaultValue" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux277 sp:systemProperty "attribute" ;
	sp:varName "attribute" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux278 rdf:first _:node1a5jqhf0ux279 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux279 sp:object _:node1a5jqhf0ux280 ;
	sp:predicate spl:predicate ;
	sp:subject _:node1a5jqhf0ux281 ;
	sp:systemProperty _:node1a5jqhf0ux280 , _:node1a5jqhf0ux281 , spl:predicate ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux28 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux280 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux281 sp:systemProperty "attribute" ;
	sp:varName "attribute" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux282 sp:arg arg:maxCount , xsd:integer , true ;
	spl:optional true ;
	spl:predicate arg:maxCount ;
	spl:valueType xsd:integer ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The maximum number of values that the property must have." .

_:node1a5jqhf0ux283 sp:arg arg:minCount , xsd:integer , true ;
	spl:optional true ;
	spl:predicate arg:minCount ;
	spl:valueType xsd:integer ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The minimum number of values that the property must have." .

_:node1a5jqhf0ux284 sp:systemProperty _:node1a5jqhf0ux285 , _:node1a5jqhf0ux295 ;
	sp:templates _:node1a5jqhf0ux285 ;
	sp:where _:node1a5jqhf0ux295 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux285 rdf:first _:node1a5jqhf0ux286 ;
	rdf:rest _:node1a5jqhf0ux287 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux286 sp:object spin:ConstraintViolation ;
	sp:predicate rdf:type ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 , spin:ConstraintViolation , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux287 rdf:first _:node1a5jqhf0ux288 ;
	rdf:rest _:node1a5jqhf0ux289 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux288 sp:object spin:_this ;
	sp:predicate spin:violationRoot ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 , spin:_this , spin:violationRoot ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux289 rdf:first _:node1a5jqhf0ux290 ;
	rdf:rest _:node1a5jqhf0ux292 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux29 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux290 sp:object _:node1a5jqhf0ux291 ;
	sp:predicate spin:violationPath ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 , _:node1a5jqhf0ux291 , spin:violationPath ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux291 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux292 rdf:first _:node1a5jqhf0ux293 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux293 sp:object _:node1a5jqhf0ux294 ;
	sp:predicate rdfs:label ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b76881 , _:node1a5jqhf0ux294 , rdfs:label ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux294 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux295 rdf:first _:node1a5jqhf0ux296 ;
	rdf:rest _:node1a5jqhf0ux302 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux296 sp:expression _:node1a5jqhf0ux297 ;
	sp:systemProperty _:node1a5jqhf0ux297 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux297 sp:elements _:node1a5jqhf0ux298 ;
	sp:systemProperty _:node1a5jqhf0ux298 ;
	 _:node1a5jqhf0ux4 ;
	a sp:exists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux298 rdf:first _:node1a5jqhf0ux299 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux299 sp:object _:node1a5jqhf0ux300 ;
	sp:predicate _:node1a5jqhf0ux301 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux300 , _:node1a5jqhf0ux301 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux3 sp:arg spin:body , 0 , 1 ;
	spl:count 0 , 1 ;
	spl:maxCount 1 ;
	spl:minCount 0 ;
	spl:predicate spin:body ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Attribute , rdfs:Resource ;
	rdfs:comment "the body of the function" .

_:node1a5jqhf0ux30 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The dateTime or time argument." .

_:node1a5jqhf0ux300 sp:systemProperty "someValue" ;
	sp:varName "someValue" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux301 sp:systemProperty "otherProperty" ;
	sp:varName "otherProperty" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux302 rdf:first _:node1a5jqhf0ux303 ;
	rdf:rest _:node1a5jqhf0ux309 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux303 sp:expression _:node1a5jqhf0ux304 ;
	sp:systemProperty _:node1a5jqhf0ux304 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux304 sp:elements _:node1a5jqhf0ux305 ;
	sp:systemProperty _:node1a5jqhf0ux305 ;
	 _:node1a5jqhf0ux4 ;
	a sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux305 rdf:first _:node1a5jqhf0ux306 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux306 sp:object _:node1a5jqhf0ux307 ;
	sp:predicate _:node1a5jqhf0ux308 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux307 , _:node1a5jqhf0ux308 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux307 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux308 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux309 rdf:first _:node1a5jqhf0ux310 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux31 sp:arg sp:arg1 , xsd:boolean ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "A condition to evaluate - if true then the ?arg2 will be returned, otherwise ?arg3." .

_:node1a5jqhf0ux310 sp:expression _:node1a5jqhf0ux311 ;
	sp:systemProperty _:node1a5jqhf0ux311 , _:node1a5jqhf0ux313 ;
	sp:variable _:node1a5jqhf0ux313 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux311 sp:arg _:node1a5jqhf0ux312 , " has" , "Property must have a value because " ;
	sp:arg1 "Property must have a value because " ;
	sp:arg2 _:node1a5jqhf0ux312 ;
	sp:arg3 " has" ;
	 _:node1a5jqhf0ux4 ;
	a sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux312 sp:systemProperty "otherProperty" ;
	sp:varName "otherProperty" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux313 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux314 sp:systemProperty _:node1a5jqhf0ux315 , _:node1a5jqhf0ux319 ;
	sp:templates _:node1a5jqhf0ux315 ;
	sp:where _:node1a5jqhf0ux319 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux315 rdf:first _:node1a5jqhf0ux316 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux316 sp:object _:node1a5jqhf0ux317 ;
	sp:predicate _:node1a5jqhf0ux318 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux317 , _:node1a5jqhf0ux318 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux317 sp:systemProperty "defaultValue" ;
	sp:varName "defaultValue" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux318 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux319 rdf:first _:node1a5jqhf0ux320 ;
	rdf:rest _:node1a5jqhf0ux325 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux32 sp:arg sp:arg2 ;
	spl:predicate sp:arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The function result if ?arg1 is true." .

_:node1a5jqhf0ux320 sp:elements _:node1a5jqhf0ux321 ;
	sp:systemProperty _:node1a5jqhf0ux321 ;
	a sp:Element , sp:ElementGroup , sp:Optional , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux321 rdf:first _:node1a5jqhf0ux322 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux322 sp:object _:node1a5jqhf0ux323 ;
	sp:predicate _:node1a5jqhf0ux324 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux323 , _:node1a5jqhf0ux324 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux323 sp:systemProperty "anyValue" ;
	sp:varName "anyValue" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux324 sp:systemProperty "predicate" ;
	sp:varName "predicate" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux325 rdf:first _:node1a5jqhf0ux326 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux326 sp:expression _:node1a5jqhf0ux327 ;
	sp:systemProperty _:node1a5jqhf0ux327 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux327 sp:arg _:node1a5jqhf0ux328 ;
	sp:arg1 _:node1a5jqhf0ux328 ;
	 _:node1a5jqhf0ux4 ;
	a sp:not , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux328 sp:arg _:node1a5jqhf0ux329 ;
	sp:arg1 _:node1a5jqhf0ux329 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux329 sp:systemProperty "anyValue" ;
	sp:varName "anyValue" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux33 sp:arg sp:arg3 ;
	spl:predicate sp:arg3 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The function result if ?arg1 is false." .

_:node1a5jqhf0ux330 sp:arg spl:defaultValue ;
	spl:predicate spl:defaultValue ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The default value to infer." .

_:node1a5jqhf0ux331 sp:arg spl:predicate , rdf:Property ;
	spl:predicate spl:predicate ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The predicate to infer the default value of." .

_:node1a5jqhf0ux332 sp:systemProperty _:node1a5jqhf0ux333 , _:node1a5jqhf0ux343 ;
	sp:templates _:node1a5jqhf0ux333 ;
	sp:where _:node1a5jqhf0ux343 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux333 rdf:first _:node1a5jqhf0ux334 ;
	rdf:rest _:node1a5jqhf0ux335 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux334 sp:object spin:ConstraintViolation ;
	sp:predicate rdf:type ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 , spin:ConstraintViolation , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux335 rdf:first _:node1a5jqhf0ux336 ;
	rdf:rest _:node1a5jqhf0ux337 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux336 sp:object spin:_this ;
	sp:predicate spin:violationRoot ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 , spin:_this , spin:violationRoot ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux337 rdf:first _:node1a5jqhf0ux338 ;
	rdf:rest _:node1a5jqhf0ux340 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux338 sp:object _:node1a5jqhf0ux339 ;
	sp:predicate spin:violationPath ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 , _:node1a5jqhf0ux339 , spin:violationPath ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux339 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux34 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The value to find." .

_:node1a5jqhf0ux340 rdf:first _:node1a5jqhf0ux341 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux341 sp:object _:node1a5jqhf0ux342 ;
	sp:predicate rdfs:label ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b47159 , _:node1a5jqhf0ux342 , rdfs:label ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux342 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux343 rdf:first _:node1a5jqhf0ux344 ;
	rdf:rest _:node1a5jqhf0ux350 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux344 sp:expression _:node1a5jqhf0ux345 ;
	sp:systemProperty _:node1a5jqhf0ux345 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux345 sp:elements _:node1a5jqhf0ux346 ;
	sp:systemProperty _:node1a5jqhf0ux346 ;
	 _:node1a5jqhf0ux4 ;
	a sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux346 rdf:first _:node1a5jqhf0ux347 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux347 sp:object _:node1a5jqhf0ux348 ;
	sp:predicate _:node1a5jqhf0ux349 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux348 , _:node1a5jqhf0ux349 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux348 sp:systemProperty "someValue" ;
	sp:varName "someValue" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux349 sp:systemProperty "otherProperty" ;
	sp:varName "otherProperty" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux35 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The IRI string to convert to a resource." .

_:node1a5jqhf0ux350 rdf:first _:node1a5jqhf0ux351 ;
	rdf:rest _:node1a5jqhf0ux357 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux351 sp:expression _:node1a5jqhf0ux352 ;
	sp:systemProperty _:node1a5jqhf0ux352 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux352 sp:elements _:node1a5jqhf0ux353 ;
	sp:systemProperty _:node1a5jqhf0ux353 ;
	 _:node1a5jqhf0ux4 ;
	a sp:exists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux353 rdf:first _:node1a5jqhf0ux354 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux354 sp:object _:node1a5jqhf0ux355 ;
	sp:predicate _:node1a5jqhf0ux356 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux355 , _:node1a5jqhf0ux356 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux355 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux356 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux357 rdf:first _:node1a5jqhf0ux358 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux358 sp:expression _:node1a5jqhf0ux359 ;
	sp:systemProperty _:node1a5jqhf0ux359 , _:node1a5jqhf0ux361 ;
	sp:variable _:node1a5jqhf0ux361 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux359 sp:arg _:node1a5jqhf0ux360 , " has none" , "Property must have no values because " ;
	sp:arg1 "Property must have no values because " ;
	sp:arg2 _:node1a5jqhf0ux360 ;
	sp:arg3 " has none" ;
	 _:node1a5jqhf0ux4 ;
	a sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux36 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the node being checked" .

_:node1a5jqhf0ux360 sp:systemProperty "otherProperty" ;
	sp:varName "otherProperty" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux361 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux362 sp:systemProperty _:node1a5jqhf0ux363 , _:node1a5jqhf0ux373 ;
	sp:templates _:node1a5jqhf0ux363 ;
	sp:where _:node1a5jqhf0ux373 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux363 rdf:first _:node1a5jqhf0ux364 ;
	rdf:rest _:node1a5jqhf0ux365 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux364 sp:object spin:ConstraintViolation ;
	sp:predicate rdf:type ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 , spin:ConstraintViolation , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux365 rdf:first _:node1a5jqhf0ux366 ;
	rdf:rest _:node1a5jqhf0ux367 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux366 sp:object spin:_this ;
	sp:predicate spin:violationRoot ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 , spin:_this , spin:violationRoot ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux367 rdf:first _:node1a5jqhf0ux368 ;
	rdf:rest _:node1a5jqhf0ux370 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux368 sp:object _:node1a5jqhf0ux369 ;
	sp:predicate spin:violationPath ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 , _:node1a5jqhf0ux369 , spin:violationPath ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux369 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux37 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the node being tested" .

_:node1a5jqhf0ux370 rdf:first _:node1a5jqhf0ux371 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux371 sp:object _:node1a5jqhf0ux372 ;
	sp:predicate rdfs:label ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b46843 , _:node1a5jqhf0ux372 , rdfs:label ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux372 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux373 rdf:first _:node1a5jqhf0ux374 ;
	rdf:rest _:node1a5jqhf0ux378 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux374 sp:expression _:node1a5jqhf0ux375 ;
	sp:systemProperty _:node1a5jqhf0ux375 , _:node1a5jqhf0ux377 ;
	sp:variable _:node1a5jqhf0ux377 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux375 sp:arg _:node1a5jqhf0ux376 , spin:_this ;
	sp:arg1 spin:_this ;
	sp:arg2 _:node1a5jqhf0ux376 ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:OntologyFunctions , spl:objectCount , rdfs:Resource .

_:node1a5jqhf0ux376 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux377 sp:systemProperty "objectCount" ;
	sp:varName "objectCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux378 rdf:first _:node1a5jqhf0ux379 ;
	rdf:rest _:node1a5jqhf0ux393 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux379 sp:expression _:node1a5jqhf0ux380 ;
	sp:systemProperty _:node1a5jqhf0ux380 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux38 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the node being tested" .

_:node1a5jqhf0ux380 sp:arg _:node1a5jqhf0ux381 , _:node1a5jqhf0ux387 ;
	sp:arg1 _:node1a5jqhf0ux381 ;
	sp:arg2 _:node1a5jqhf0ux387 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux381 sp:arg _:node1a5jqhf0ux382 , _:node1a5jqhf0ux384 ;
	sp:arg1 _:node1a5jqhf0ux382 ;
	sp:arg2 _:node1a5jqhf0ux384 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux382 sp:arg _:node1a5jqhf0ux383 ;
	sp:arg1 _:node1a5jqhf0ux383 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux383 sp:systemProperty "minCount" ;
	sp:varName "minCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux384 sp:arg _:node1a5jqhf0ux385 , _:node1a5jqhf0ux386 ;
	sp:arg1 _:node1a5jqhf0ux385 ;
	sp:arg2 _:node1a5jqhf0ux386 ;
	 _:node1a5jqhf0ux4 ;
	a sp:lt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux385 sp:systemProperty "objectCount" ;
	sp:varName "objectCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux386 sp:systemProperty "minCount" ;
	sp:varName "minCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux387 sp:arg _:node1a5jqhf0ux388 , _:node1a5jqhf0ux390 ;
	sp:arg1 _:node1a5jqhf0ux388 ;
	sp:arg2 _:node1a5jqhf0ux390 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux388 sp:arg _:node1a5jqhf0ux389 ;
	sp:arg1 _:node1a5jqhf0ux389 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux389 sp:systemProperty "maxCount" ;
	sp:varName "maxCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux39 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment """The node to check whether it's numeric.
""" .

_:node1a5jqhf0ux390 sp:arg _:node1a5jqhf0ux391 , _:node1a5jqhf0ux392 ;
	sp:arg1 _:node1a5jqhf0ux391 ;
	sp:arg2 _:node1a5jqhf0ux392 ;
	 _:node1a5jqhf0ux4 ;
	a sp:gt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux391 sp:systemProperty "objectCount" ;
	sp:varName "objectCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux392 sp:systemProperty "maxCount" ;
	sp:varName "maxCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux393 rdf:first _:node1a5jqhf0ux394 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux394 sp:expression _:node1a5jqhf0ux395 ;
	sp:systemProperty _:node1a5jqhf0ux395 , _:node1a5jqhf0ux397 ;
	sp:variable _:node1a5jqhf0ux397 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux395 sp:arg _:node1a5jqhf0ux396 , "Invalid number of values: " ;
	sp:arg1 "Invalid number of values: " ;
	sp:arg2 _:node1a5jqhf0ux396 ;
	 _:node1a5jqhf0ux4 ;
	a sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux396 sp:systemProperty "objectCount" ;
	sp:varName "objectCount" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux397 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux398 sp:arg arg:property , rdf:Property ;
	spl:predicate arg:property ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The property being constrained." .

_:node1a5jqhf0ux399 sp:arg arg:otherProperty , rdf:Property ;
	spl:predicate arg:otherProperty ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The \"other\" property." .

_:node1a5jqhf0ux4  _:node1a5jqhf0ux4 ;
	a sp:Command , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Rule , spin:Templates , spl:ConstructDefaultValues , rdfs:Resource .

_:node1a5jqhf0ux40 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the node to check" .

_:node1a5jqhf0ux400 sp:systemProperty _:node1a5jqhf0ux401 , _:node1a5jqhf0ux411 ;
	sp:templates _:node1a5jqhf0ux401 ;
	sp:where _:node1a5jqhf0ux411 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux401 rdf:first _:node1a5jqhf0ux402 ;
	rdf:rest _:node1a5jqhf0ux403 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux402 sp:object spin:ConstraintViolation ;
	sp:predicate rdf:type ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 , spin:ConstraintViolation , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux403 rdf:first _:node1a5jqhf0ux404 ;
	rdf:rest _:node1a5jqhf0ux405 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux404 sp:object spin:_this ;
	sp:predicate spin:violationRoot ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 , spin:_this , spin:violationRoot ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux405 rdf:first _:node1a5jqhf0ux406 ;
	rdf:rest _:node1a5jqhf0ux408 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux406 sp:object _:node1a5jqhf0ux407 ;
	sp:predicate spin:violationPath ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 , _:node1a5jqhf0ux407 , spin:violationPath ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux407 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux408 rdf:first _:node1a5jqhf0ux409 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux409 sp:object _:node1a5jqhf0ux410 ;
	sp:predicate rdfs:label ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b28065 , _:node1a5jqhf0ux410 , rdfs:label ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux41 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the literal to get the language of" .

_:node1a5jqhf0ux410 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux411 rdf:first _:node1a5jqhf0ux412 ;
	rdf:rest _:node1a5jqhf0ux415 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux412 sp:object _:node1a5jqhf0ux413 ;
	sp:predicate _:node1a5jqhf0ux414 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux413 , _:node1a5jqhf0ux414 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux413 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux414 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux415 rdf:first _:node1a5jqhf0ux416 ;
	rdf:rest _:node1a5jqhf0ux430 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux416 sp:expression _:node1a5jqhf0ux417 ;
	sp:systemProperty _:node1a5jqhf0ux417 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux417 sp:arg _:node1a5jqhf0ux418 , _:node1a5jqhf0ux424 ;
	sp:arg1 _:node1a5jqhf0ux418 ;
	sp:arg2 _:node1a5jqhf0ux424 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux418 sp:arg _:node1a5jqhf0ux419 , _:node1a5jqhf0ux421 ;
	sp:arg1 _:node1a5jqhf0ux419 ;
	sp:arg2 _:node1a5jqhf0ux421 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux419 sp:arg _:node1a5jqhf0ux420 ;
	sp:arg1 _:node1a5jqhf0ux420 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux42 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the literal that is expected to have ?arg2 as language tag" .

_:node1a5jqhf0ux420 sp:systemProperty "min" ;
	sp:varName "min" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux421 sp:arg _:node1a5jqhf0ux422 , _:node1a5jqhf0ux423 ;
	sp:arg1 _:node1a5jqhf0ux422 ;
	sp:arg2 _:node1a5jqhf0ux423 ;
	 _:node1a5jqhf0ux4 ;
	a sp:lt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux422 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux423 sp:systemProperty "min" ;
	sp:varName "min" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux424 sp:arg _:node1a5jqhf0ux425 , _:node1a5jqhf0ux427 ;
	sp:arg1 _:node1a5jqhf0ux425 ;
	sp:arg2 _:node1a5jqhf0ux427 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux425 sp:arg _:node1a5jqhf0ux426 ;
	sp:arg1 _:node1a5jqhf0ux426 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux426 sp:systemProperty "max" ;
	sp:varName "max" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux427 sp:arg _:node1a5jqhf0ux428 , _:node1a5jqhf0ux429 ;
	sp:arg1 _:node1a5jqhf0ux428 ;
	sp:arg2 _:node1a5jqhf0ux429 ;
	 _:node1a5jqhf0ux4 ;
	a sp:gt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux428 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux429 sp:systemProperty "max" ;
	sp:varName "max" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux43 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the language tag that ?arg1 must have" .

_:node1a5jqhf0ux430 rdf:first _:node1a5jqhf0ux431 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux431 sp:expression _:node1a5jqhf0ux432 ;
	sp:systemProperty _:node1a5jqhf0ux432 , _:node1a5jqhf0ux436 ;
	sp:variable _:node1a5jqhf0ux436 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux432 sp:arg _:node1a5jqhf0ux433 , _:node1a5jqhf0ux434 , " must be in the interval [" , ", " , "Value " ;
	sp:arg1 "Value " ;
	sp:arg2 _:node1a5jqhf0ux433 ;
	sp:arg3 " must be in the interval [" ;
	sp:arg4 _:node1a5jqhf0ux434 ;
	sp:arg5 ", " ;
	sp:arg6 _:node1a5jqhf0ux435 ;
	sp:arg7 "]" ;
	 _:node1a5jqhf0ux4 ;
	a sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux433 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux434 sp:systemProperty "min" ;
	sp:varName "min" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux435 sp:systemProperty "max" ;
	sp:varName "max" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux436 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux437 sp:arg arg:max , rdfs:Literal , true ;
	spl:optional true ;
	spl:predicate arg:max ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The maximum value." .

_:node1a5jqhf0ux438 sp:arg arg:min , rdfs:Literal , true ;
	spl:optional true ;
	spl:predicate arg:min ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The minimum value." .

_:node1a5jqhf0ux439 sp:systemProperty _:node1a5jqhf0ux440 , _:node1a5jqhf0ux450 ;
	sp:templates _:node1a5jqhf0ux440 ;
	sp:where _:node1a5jqhf0ux450 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux44 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux440 rdf:first _:node1a5jqhf0ux441 ;
	rdf:rest _:node1a5jqhf0ux442 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux441 sp:object spin:ConstraintViolation ;
	sp:predicate rdf:type ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 , spin:ConstraintViolation , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux442 rdf:first _:node1a5jqhf0ux443 ;
	rdf:rest _:node1a5jqhf0ux444 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux443 sp:object spin:_this ;
	sp:predicate spin:violationRoot ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 , spin:_this , spin:violationRoot ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux444 rdf:first _:node1a5jqhf0ux445 ;
	rdf:rest _:node1a5jqhf0ux447 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux445 sp:object _:node1a5jqhf0ux446 ;
	sp:predicate spin:violationPath ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 , _:node1a5jqhf0ux446 , spin:violationPath ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux446 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux447 rdf:first _:node1a5jqhf0ux448 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux448 sp:object _:node1a5jqhf0ux449 ;
	sp:predicate rdfs:label ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b11396 , _:node1a5jqhf0ux449 , rdfs:label ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux449 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux45 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux450 rdf:first _:node1a5jqhf0ux451 ;
	rdf:rest _:node1a5jqhf0ux454 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux451 sp:object _:node1a5jqhf0ux452 ;
	sp:predicate _:node1a5jqhf0ux453 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux452 , _:node1a5jqhf0ux453 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux452 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux453 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux454 rdf:first _:node1a5jqhf0ux455 ;
	rdf:rest _:node1a5jqhf0ux461 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux455 sp:expression _:node1a5jqhf0ux456 ;
	sp:systemProperty _:node1a5jqhf0ux456 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux456 sp:arg _:node1a5jqhf0ux457 ;
	sp:arg1 _:node1a5jqhf0ux457 ;
	 _:node1a5jqhf0ux4 ;
	a sp:not , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux457 sp:arg _:node1a5jqhf0ux458 , _:node1a5jqhf0ux460 ;
	sp:arg1 _:node1a5jqhf0ux458 ;
	sp:arg2 _:node1a5jqhf0ux460 ;
	 _:node1a5jqhf0ux4 ;
	a sp:regex , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux458 sp:arg _:node1a5jqhf0ux459 ;
	sp:arg1 _:node1a5jqhf0ux459 ;
	a rdfs:Resource , xsd:string .

_:node1a5jqhf0ux459 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux46 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux460 sp:systemProperty "pattern" ;
	sp:varName "pattern" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux461 rdf:first _:node1a5jqhf0ux462 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux462 sp:expression _:node1a5jqhf0ux463 ;
	sp:systemProperty _:node1a5jqhf0ux463 , _:node1a5jqhf0ux466 ;
	sp:variable _:node1a5jqhf0ux466 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux463 sp:arg _:node1a5jqhf0ux464 , _:node1a5jqhf0ux465 , " must match the regular expression \"" , "\"" , "Value " ;
	sp:arg1 "Value " ;
	sp:arg2 _:node1a5jqhf0ux464 ;
	sp:arg3 " must match the regular expression \"" ;
	sp:arg4 _:node1a5jqhf0ux465 ;
	sp:arg5 "\"" ;
	 _:node1a5jqhf0ux4 ;
	a sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux464 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux465 sp:systemProperty "pattern" ;
	sp:varName "pattern" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux466 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux467 sp:arg arg:pattern , xsd:string ;
	spl:predicate arg:pattern ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The regular expression to match." .

_:node1a5jqhf0ux468 sp:resultVariables _:node1a5jqhf0ux469 ;
	sp:systemProperty _:node1a5jqhf0ux469 , _:node1a5jqhf0ux475 ;
	sp:where _:node1a5jqhf0ux475 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux469 rdf:first _:node1a5jqhf0ux470 ;
	rdf:rest _:node1a5jqhf0ux471 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux47 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux470 sp:systemProperty "testCase" ;
	sp:varName "testCase" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux471 rdf:first _:node1a5jqhf0ux472 ;
	rdf:rest _:node1a5jqhf0ux473 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux472 sp:systemProperty "expected" ;
	sp:varName "expected" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux473 rdf:first _:node1a5jqhf0ux474 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux474 sp:systemProperty "actual" ;
	sp:varName "actual" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux475 rdf:first _:node1a5jqhf0ux476 ;
	rdf:rest _:node1a5jqhf0ux479 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux476 sp:object _:node1a5jqhf0ux477 ;
	sp:predicate spl:testExpression ;
	sp:subject _:node1a5jqhf0ux478 ;
	sp:systemProperty _:node1a5jqhf0ux477 , _:node1a5jqhf0ux478 , spl:testExpression ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux477 sp:systemProperty "expr" ;
	sp:varName "expr" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux478 sp:systemProperty "testCase" ;
	sp:varName "testCase" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux479 rdf:first _:node1a5jqhf0ux480 ;
	rdf:rest _:node1a5jqhf0ux485 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux48 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux480 sp:elements _:node1a5jqhf0ux481 ;
	sp:systemProperty _:node1a5jqhf0ux481 ;
	a sp:Element , sp:ElementGroup , sp:Optional , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux481 rdf:first _:node1a5jqhf0ux482 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux482 sp:object _:node1a5jqhf0ux483 ;
	sp:predicate spl:testResult ;
	sp:subject _:node1a5jqhf0ux484 ;
	sp:systemProperty _:node1a5jqhf0ux483 , _:node1a5jqhf0ux484 , spl:testResult ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux483 sp:systemProperty "expected" ;
	sp:varName "expected" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux484 sp:systemProperty "testCase" ;
	sp:varName "testCase" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux485 rdf:first _:node1a5jqhf0ux486 ;
	rdf:rest _:node1a5jqhf0ux490 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux486 sp:expression _:node1a5jqhf0ux487 ;
	sp:systemProperty _:node1a5jqhf0ux487 , _:node1a5jqhf0ux489 ;
	sp:variable _:node1a5jqhf0ux489 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux487 sp:arg _:node1a5jqhf0ux488 ;
	sp:arg1 _:node1a5jqhf0ux488 ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spin:eval , rdfs:Resource .

_:node1a5jqhf0ux488 sp:systemProperty "expr" ;
	sp:varName "expr" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux489 sp:systemProperty "actual" ;
	sp:varName "actual" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux49 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input literal." .

_:node1a5jqhf0ux490 rdf:first _:node1a5jqhf0ux491 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux491 sp:expression _:node1a5jqhf0ux492 ;
	sp:systemProperty _:node1a5jqhf0ux492 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux492 sp:arg _:node1a5jqhf0ux493 , _:node1a5jqhf0ux498 ;
	sp:arg1 _:node1a5jqhf0ux493 ;
	sp:arg2 _:node1a5jqhf0ux498 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux493 sp:arg _:node1a5jqhf0ux494 , _:node1a5jqhf0ux496 ;
	sp:arg1 _:node1a5jqhf0ux494 ;
	sp:arg2 _:node1a5jqhf0ux496 ;
	 _:node1a5jqhf0ux4 ;
	a sp:ne , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux494 sp:arg _:node1a5jqhf0ux495 ;
	sp:arg1 _:node1a5jqhf0ux495 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux495 sp:systemProperty "expected" ;
	sp:varName "expected" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux496 sp:arg _:node1a5jqhf0ux497 ;
	sp:arg1 _:node1a5jqhf0ux497 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux497 sp:systemProperty "actual" ;
	sp:varName "actual" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux498 sp:arg _:node1a5jqhf0ux499 , _:node1a5jqhf0ux501 ;
	sp:arg1 _:node1a5jqhf0ux499 ;
	sp:arg2 _:node1a5jqhf0ux501 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux499 sp:arg _:node1a5jqhf0ux500 ;
	sp:arg1 _:node1a5jqhf0ux500 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux5 sp:arg sp:Select , spin:body , 0 , 1 ;
	spl:count 0 , 1 ;
	spl:maxCount 1 ;
	spl:minCount 0 ;
	spl:predicate spin:body ;
	spl:valueType sp:Select ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Attribute , rdfs:Resource ;
	rdfs:comment "The SELECT query wrapped by this template." .

_:node1a5jqhf0ux50 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The dateTime or time argument." .

_:node1a5jqhf0ux500 sp:systemProperty "expected" ;
	sp:varName "expected" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux501 sp:arg _:node1a5jqhf0ux502 , _:node1a5jqhf0ux503 ;
	sp:arg1 _:node1a5jqhf0ux502 ;
	sp:arg2 _:node1a5jqhf0ux503 ;
	 _:node1a5jqhf0ux4 ;
	a sp:ne , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux502 sp:systemProperty "actual" ;
	sp:varName "actual" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux503 sp:systemProperty "expected" ;
	sp:varName "expected" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux504 sp:resultVariables _:node1a5jqhf0ux505 ;
	sp:systemProperty _:node1a5jqhf0ux505 , _:node1a5jqhf0ux511 ;
	sp:where _:node1a5jqhf0ux511 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux505 rdf:first _:node1a5jqhf0ux506 ;
	rdf:rest _:node1a5jqhf0ux507 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux506 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux507 rdf:first _:node1a5jqhf0ux508 ;
	rdf:rest _:node1a5jqhf0ux509 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux508 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux509 rdf:first _:node1a5jqhf0ux510 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux51 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The date or dateTime argument." .

_:node1a5jqhf0ux510 sp:systemProperty "rule" ;
	sp:varName "rule" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux511 rdf:first _:node1a5jqhf0ux512 ;
	rdf:rest _:node1a5jqhf0ux526 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux512 rdf:first _:node1a5jqhf0ux513 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux513 sp:elements _:node1a5jqhf0ux514 ;
	sp:systemProperty _:node1a5jqhf0ux514 ;
	a sp:Element , sp:ElementGroup , sp:SystemClass , sp:Union , rdfs:Resource .

_:node1a5jqhf0ux514 rdf:first _:node1a5jqhf0ux515 ;
	rdf:rest _:node1a5jqhf0ux518 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux515 rdf:first _:node1a5jqhf0ux516 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux516 sp:expression spin:constraint ;
	sp:systemProperty _:node1a5jqhf0ux517 , spin:constraint ;
	sp:variable _:node1a5jqhf0ux517 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux517 sp:systemProperty "bp" ;
	sp:varName "bp" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux518 rdf:first _:node1a5jqhf0ux519 ;
	rdf:rest _:node1a5jqhf0ux522 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux519 rdf:first _:node1a5jqhf0ux520 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux52 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux520 sp:expression spin:constructor ;
	sp:systemProperty _:node1a5jqhf0ux521 , spin:constructor ;
	sp:variable _:node1a5jqhf0ux521 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux521 sp:systemProperty "bp" ;
	sp:varName "bp" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux522 rdf:first _:node1a5jqhf0ux523 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux523 rdf:first _:node1a5jqhf0ux524 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux524 sp:expression spin:rule ;
	sp:systemProperty _:node1a5jqhf0ux525 , spin:rule ;
	sp:variable _:node1a5jqhf0ux525 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux525 sp:systemProperty "bp" ;
	sp:varName "bp" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux526 rdf:first _:node1a5jqhf0ux527 ;
	rdf:rest _:node1a5jqhf0ux531 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux527 sp:object _:node1a5jqhf0ux528 ;
	sp:path _:node1a5jqhf0ux529 ;
	sp:subject _:node1a5jqhf0ux530 ;
	sp:systemProperty _:node1a5jqhf0ux528 , _:node1a5jqhf0ux529 , _:node1a5jqhf0ux530 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux528 sp:systemProperty "bp" ;
	sp:varName "bp" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux529 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subPropertyOf ;
	sp:systemProperty rdfs:subPropertyOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux53 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux530 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux531 rdf:first _:node1a5jqhf0ux532 ;
	rdf:rest _:node1a5jqhf0ux536 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux532 sp:object _:node1a5jqhf0ux533 ;
	sp:predicate _:node1a5jqhf0ux534 ;
	sp:subject _:node1a5jqhf0ux535 ;
	sp:systemProperty _:node1a5jqhf0ux533 , _:node1a5jqhf0ux534 , _:node1a5jqhf0ux535 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux533 sp:systemProperty "rule" ;
	sp:varName "rule" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux534 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux535 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux536 rdf:first _:node1a5jqhf0ux537 ;
	rdf:rest _:node1a5jqhf0ux540 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux537 sp:expression _:node1a5jqhf0ux538 ;
	sp:systemProperty _:node1a5jqhf0ux538 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux538 sp:arg _:node1a5jqhf0ux539 , spin:Modules ;
	sp:arg1 _:node1a5jqhf0ux539 ;
	sp:arg2 spin:Modules ;
	 _:node1a5jqhf0ux4 ;
	a sp:ne , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux539 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux54 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux540 rdf:first _:node1a5jqhf0ux541 ;
	rdf:rest _:node1a5jqhf0ux546 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux541 sp:expression _:node1a5jqhf0ux542 ;
	sp:systemProperty _:node1a5jqhf0ux542 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux542 sp:elements _:node1a5jqhf0ux543 ;
	sp:systemProperty _:node1a5jqhf0ux543 ;
	 _:node1a5jqhf0ux4 ;
	a sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux543 rdf:first _:node1a5jqhf0ux544 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux544 sp:object spl:Argument ;
	sp:predicate rdf:type ;
	sp:subject _:node1a5jqhf0ux545 ;
	sp:systemProperty _:node1a5jqhf0ux545 , spl:Argument , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux545 sp:systemProperty "rule" ;
	sp:varName "rule" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux546 rdf:first _:node1a5jqhf0ux547 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux547 sp:expression _:node1a5jqhf0ux548 ;
	sp:systemProperty _:node1a5jqhf0ux548 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux548 sp:elements _:node1a5jqhf0ux549 ;
	sp:systemProperty _:node1a5jqhf0ux549 ;
	 _:node1a5jqhf0ux4 ;
	a sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux549 rdf:first _:node1a5jqhf0ux550 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux55 sp:arg sp:arg2 ;
	spl:predicate sp:arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux550 sp:object spl:Attribute ;
	sp:predicate rdf:type ;
	sp:subject _:node1a5jqhf0ux551 ;
	sp:systemProperty _:node1a5jqhf0ux551 , spl:Attribute , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux551 sp:systemProperty "rule" ;
	sp:varName "rule" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux552 sp:arg xsd:string , "test"@en ;
	sp:arg1 "test"@en ;
	sp:arg2 xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux553 sp:arg rdfs:Class , owl:Thing ;
	sp:arg1 owl:Thing ;
	sp:arg2 rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux554 sp:arg rdfs:Class , owl:versionInfo ;
	sp:arg1 owl:versionInfo ;
	sp:arg2 rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux555 sp:arg rdfs:Class , owl:Restriction ;
	sp:arg1 owl:Restriction ;
	sp:arg2 rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux556 sp:arg rdfs:Literal , "test" ;
	sp:arg1 "test" ;
	sp:arg2 rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux557 sp:arg rdfs:Literal , owl:Thing ;
	sp:arg1 owl:Thing ;
	sp:arg2 rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux558 sp:arg xsd:string , "test" ;
	sp:arg1 "test" ;
	sp:arg2 xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux559 sp:arg xsd:integer , "test" ;
	sp:arg1 "test" ;
	sp:arg2 xsd:integer ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux56 sp:arg sp:arg1 , xsd:boolean ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the operand to negate" .

_:node1a5jqhf0ux560 sp:arg xsd:string , "test" ;
	sp:arg1 "test" ;
	sp:arg2 xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux561 sp:resultVariables _:node1a5jqhf0ux562 ;
	sp:systemProperty _:node1a5jqhf0ux562 , _:node1a5jqhf0ux564 ;
	sp:where _:node1a5jqhf0ux564 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux562 rdf:first _:node1a5jqhf0ux563 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux563 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux564 rdf:first _:node1a5jqhf0ux565 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux565 sp:elements _:node1a5jqhf0ux566 ;
	sp:graphNameNode  ;
	sp:systemProperty _:node1a5jqhf0ux566 ,  ;
	a sp:Element , sp:ElementGroup , sp:NamedGraph , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux566 rdf:first _:node1a5jqhf0ux567 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux567 sp:expression _:node1a5jqhf0ux568 ;
	sp:systemProperty _:node1a5jqhf0ux568 , _:node1a5jqhf0ux569 ;
	sp:variable _:node1a5jqhf0ux569 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux568 sp:arg spl:Argument , rdfs:label ;
	sp:arg1 spl:Argument ;
	sp:arg2 rdfs:label ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:OntologyFunctions , spl:object , rdfs:Resource .

_:node1a5jqhf0ux569 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux57 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The value to find." .

_:node1a5jqhf0ux570 sp:arg owl:versionInfo ;
	sp:arg1 owl:versionInfo ;
	sp:arg2 owl:versionInfo ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:OntologyFunctions , spl:object , rdfs:Resource .

_:node1a5jqhf0ux571 sp:arg spl:testResult , true ;
	spl:optional true ;
	spl:predicate spl:testResult ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The expected result of the test case, or nothing to indicate that an error is expected." .

_:node1a5jqhf0ux572 sp:arg spl:testExpression ;
	spl:predicate spl:testExpression ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The test expression or SELECT query (anything that can be evaluated with spin:eval)." .

_:node1a5jqhf0ux573 sp:systemProperty _:node1a5jqhf0ux574 , _:node1a5jqhf0ux584 ;
	sp:templates _:node1a5jqhf0ux574 ;
	sp:where _:node1a5jqhf0ux584 ;
	a sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

_:node1a5jqhf0ux574 rdf:first _:node1a5jqhf0ux575 ;
	rdf:rest _:node1a5jqhf0ux576 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux575 sp:object spin:ConstraintViolation ;
	sp:predicate rdf:type ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 , spin:ConstraintViolation , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux576 rdf:first _:node1a5jqhf0ux577 ;
	rdf:rest _:node1a5jqhf0ux578 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux577 sp:object spin:_this ;
	sp:predicate spin:violationRoot ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 , spin:_this , spin:violationRoot ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux578 rdf:first _:node1a5jqhf0ux579 ;
	rdf:rest _:node1a5jqhf0ux581 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux579 sp:object _:node1a5jqhf0ux580 ;
	sp:predicate spin:violationPath ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 , _:node1a5jqhf0ux580 , spin:violationPath ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux58 sp:arg sp:arg1 , xsd:boolean ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux580 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux581 rdf:first _:node1a5jqhf0ux582 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux582 sp:object _:node1a5jqhf0ux583 ;
	sp:predicate rdfs:label ;
	sp:subject _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 ;
	sp:systemProperty _:genid-7bb79f7e268a4347b7dfcbf1a9c65a80-b30331 , _:node1a5jqhf0ux583 , rdfs:label ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux583 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux584 rdf:first _:node1a5jqhf0ux585 ;
	rdf:rest _:node1a5jqhf0ux588 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux585 sp:object _:node1a5jqhf0ux586 ;
	sp:predicate _:node1a5jqhf0ux587 ;
	sp:subject spin:_this ;
	sp:systemProperty _:node1a5jqhf0ux586 , _:node1a5jqhf0ux587 , spin:_this ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux586 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux587 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux588 rdf:first _:node1a5jqhf0ux589 ;
	rdf:rest _:node1a5jqhf0ux595 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux589 sp:expression _:node1a5jqhf0ux590 ;
	sp:systemProperty _:node1a5jqhf0ux590 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux59 sp:arg sp:arg2 , xsd:boolean ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:boolean ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux590 sp:elements _:node1a5jqhf0ux591 ;
	sp:systemProperty _:node1a5jqhf0ux591 ;
	 _:node1a5jqhf0ux4 ;
	a sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux591 rdf:first _:node1a5jqhf0ux592 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux592 sp:object _:node1a5jqhf0ux593 ;
	sp:predicate rdf:type ;
	sp:subject _:node1a5jqhf0ux594 ;
	sp:systemProperty _:node1a5jqhf0ux593 , _:node1a5jqhf0ux594 , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux593 sp:systemProperty "anyType" ;
	sp:varName "anyType" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux594 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux595 rdf:first _:node1a5jqhf0ux596 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux596 sp:expression _:node1a5jqhf0ux597 ;
	sp:systemProperty _:node1a5jqhf0ux597 , _:node1a5jqhf0ux599 ;
	sp:variable _:node1a5jqhf0ux599 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux597 sp:arg _:node1a5jqhf0ux598 , " must have a type" , "Value " ;
	sp:arg1 "Value " ;
	sp:arg2 _:node1a5jqhf0ux598 ;
	sp:arg3 " must have a type" ;
	 _:node1a5jqhf0ux4 ;
	a sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

_:node1a5jqhf0ux598 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux599 sp:systemProperty "message" ;
	sp:varName "message" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux6 sp:arg spin:body , 0 , 1 ;
	spl:count 0 , 1 ;
	spl:maxCount 1 ;
	spl:minCount 0 ;
	spl:predicate spin:body ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Attribute , rdfs:Resource ;
	rdfs:comment "the body of the Template" .

_:node1a5jqhf0ux60 sp:arg sp:arg3 , xsd:string , true ;
	spl:optional true ;
	spl:predicate sp:arg3 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the flags" .

_:node1a5jqhf0ux600 sp:systemProperty _:node1a5jqhf0ux601 ;
	sp:where _:node1a5jqhf0ux601 ;
	a sp:Ask , sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux601 rdf:first _:node1a5jqhf0ux602 ;
	rdf:rest _:node1a5jqhf0ux606 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux602 sp:object _:node1a5jqhf0ux603 ;
	sp:path _:node1a5jqhf0ux604 ;
	sp:subject _:node1a5jqhf0ux605 ;
	sp:systemProperty _:node1a5jqhf0ux603 , _:node1a5jqhf0ux604 , _:node1a5jqhf0ux605 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux603 sp:systemProperty "superClass" ;
	sp:varName "superClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux604 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subClassOf ;
	sp:systemProperty rdfs:subClassOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux605 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux606 rdf:first _:node1a5jqhf0ux607 ;
	rdf:rest _:node1a5jqhf0ux610 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux607 sp:object _:node1a5jqhf0ux608 ;
	sp:predicate spin:constraint ;
	sp:subject _:node1a5jqhf0ux609 ;
	sp:systemProperty _:node1a5jqhf0ux608 , _:node1a5jqhf0ux609 , spin:constraint ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux608 sp:systemProperty "con" ;
	sp:varName "con" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux609 sp:systemProperty "superClass" ;
	sp:varName "superClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux61 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the input string" .

_:node1a5jqhf0ux610 rdf:first _:node1a5jqhf0ux611 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux611 sp:object spl:Argument ;
	sp:predicate rdf:type ;
	sp:subject _:node1a5jqhf0ux612 ;
	sp:systemProperty _:node1a5jqhf0ux612 , spl:Argument , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux612 sp:systemProperty "con" ;
	sp:varName "con" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux613 sp:arg spin:Module , spl:class ;
	spl:predicate spl:class ;
	spl:valueType spin:Module ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The module class to check." .

_:node1a5jqhf0ux614 sp:systemProperty _:node1a5jqhf0ux615 ;
	sp:where _:node1a5jqhf0ux615 ;
	a sp:Ask , sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux615 rdf:first _:node1a5jqhf0ux616 ;
	rdf:rest _:node1a5jqhf0ux619 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux616 sp:object spin:_arg2 ;
	sp:path _:node1a5jqhf0ux617 ;
	sp:subject _:node1a5jqhf0ux618 ;
	sp:systemProperty _:node1a5jqhf0ux617 , _:node1a5jqhf0ux618 , spin:_arg2 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux617 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subPropertyOf ;
	sp:systemProperty rdfs:subPropertyOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux618 sp:systemProperty "p" ;
	sp:varName "p" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux619 rdf:first _:node1a5jqhf0ux620 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux62 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the match pattern" .

_:node1a5jqhf0ux620 sp:object spin:_arg3 ;
	sp:predicate _:node1a5jqhf0ux621 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux621 , spin:_arg1 , spin:_arg3 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux621 sp:systemProperty "p" ;
	sp:varName "p" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux622 sp:arg sp:arg1 , rdfs:Resource ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the subject that is expected to have the value" .

_:node1a5jqhf0ux623 sp:arg sp:arg2 , rdf:Property ;
	spl:predicate sp:arg2 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the property that is expected to hold the value" .

_:node1a5jqhf0ux624 sp:arg sp:arg3 ;
	spl:predicate sp:arg3 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the expected value" .

_:node1a5jqhf0ux625 sp:systemProperty _:node1a5jqhf0ux626 ;
	sp:where _:node1a5jqhf0ux626 ;
	a sp:Ask , sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux626 rdf:first _:node1a5jqhf0ux627 ;
	rdf:rest _:node1a5jqhf0ux630 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux627 sp:object spin:_arg2 ;
	sp:path _:node1a5jqhf0ux628 ;
	sp:subject _:node1a5jqhf0ux629 ;
	sp:systemProperty _:node1a5jqhf0ux628 , _:node1a5jqhf0ux629 , spin:_arg2 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux628 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subPropertyOf ;
	sp:systemProperty rdfs:subPropertyOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux629 sp:systemProperty "p" ;
	sp:varName "p" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux63 sp:arg sp:arg4 , xsd:string , true ;
	spl:optional true ;
	spl:predicate sp:arg4 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "Additional flags for the replacement." .

_:node1a5jqhf0ux630 rdf:first _:node1a5jqhf0ux631 ;
	rdf:rest _:node1a5jqhf0ux634 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux631 sp:object _:node1a5jqhf0ux632 ;
	sp:predicate _:node1a5jqhf0ux633 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux632 , _:node1a5jqhf0ux633 , spin:_arg1 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux632 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux633 sp:systemProperty "p" ;
	sp:varName "p" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux634 rdf:first _:node1a5jqhf0ux635 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux635 sp:expression _:node1a5jqhf0ux636 ;
	sp:systemProperty _:node1a5jqhf0ux636 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux636 sp:arg _:node1a5jqhf0ux637 , spin:_arg3 ;
	sp:arg1 _:node1a5jqhf0ux637 ;
	sp:arg2 spin:_arg3 ;
	 _:node1a5jqhf0ux4 ;
	a spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource .

_:node1a5jqhf0ux637 sp:systemProperty "value" ;
	sp:varName "value" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux638 sp:arg sp:arg1 , rdfs:Resource ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the subject that is expected to have the value" .

_:node1a5jqhf0ux639 sp:arg sp:arg2 , rdf:Property ;
	spl:predicate sp:arg2 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the expected property" .

_:node1a5jqhf0ux64 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux640 sp:arg sp:arg3 , rdfs:Class ;
	spl:predicate sp:arg3 ;
	spl:valueType rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the type to match against" .

_:node1a5jqhf0ux641 sp:systemProperty _:node1a5jqhf0ux642 ;
	sp:where _:node1a5jqhf0ux642 ;
	a sp:Ask , sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux642 rdf:first _:node1a5jqhf0ux643 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux643 sp:elements _:node1a5jqhf0ux644 ;
	sp:systemProperty _:node1a5jqhf0ux644 ;
	a sp:Element , sp:ElementGroup , sp:SystemClass , sp:Union , rdfs:Resource .

_:node1a5jqhf0ux644 rdf:first _:node1a5jqhf0ux645 ;
	rdf:rest _:node1a5jqhf0ux658 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux645 rdf:first _:node1a5jqhf0ux646 ;
	rdf:rest _:node1a5jqhf0ux651 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux646 rdf:first _:node1a5jqhf0ux647 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux647 sp:expression _:node1a5jqhf0ux648 ;
	sp:systemProperty _:node1a5jqhf0ux648 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux648 sp:arg _:node1a5jqhf0ux649 , _:node1a5jqhf0ux650 ;
	sp:arg1 _:node1a5jqhf0ux649 ;
	sp:arg2 _:node1a5jqhf0ux650 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux649 sp:arg spin:_arg1 ;
	sp:arg1 spin:_arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:isIRI , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux65 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment """The pattern to replace.
""" .

_:node1a5jqhf0ux650 sp:arg spin:_arg1 ;
	sp:arg1 spin:_arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:isBlank , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux651 rdf:first _:node1a5jqhf0ux652 ;
	rdf:rest _:node1a5jqhf0ux655 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux652 sp:object spin:_arg2 ;
	sp:path _:node1a5jqhf0ux653 ;
	sp:subject _:node1a5jqhf0ux654 ;
	sp:systemProperty _:node1a5jqhf0ux653 , _:node1a5jqhf0ux654 , spin:_arg2 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux653 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subClassOf ;
	sp:systemProperty rdfs:subClassOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux654 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux655 rdf:first _:node1a5jqhf0ux656 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux656 sp:object _:node1a5jqhf0ux657 ;
	sp:predicate rdf:type ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux657 , spin:_arg1 , rdf:type ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux657 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux658 rdf:first _:node1a5jqhf0ux659 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux659 rdf:first _:node1a5jqhf0ux660 ;
	rdf:rest _:node1a5jqhf0ux663 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux66 sp:arg sp:arg3 , xsd:string ;
	spl:predicate sp:arg3 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The replacement string." .

_:node1a5jqhf0ux660 rdf:first _:node1a5jqhf0ux661 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux661 sp:expression _:node1a5jqhf0ux662 ;
	sp:systemProperty _:node1a5jqhf0ux662 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux662 sp:arg spin:_arg1 ;
	sp:arg1 spin:_arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:isLiteral , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux663 rdf:first _:node1a5jqhf0ux664 ;
	rdf:rest _:node1a5jqhf0ux667 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux664 sp:expression _:node1a5jqhf0ux665 ;
	sp:systemProperty _:node1a5jqhf0ux665 , _:node1a5jqhf0ux666 ;
	sp:variable _:node1a5jqhf0ux666 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux665 sp:arg spin:_arg1 ;
	sp:arg1 spin:_arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:datatype , spin:Functions , spin:Modules , spl:OntologyFunctions , rdfs:Resource .

_:node1a5jqhf0ux666 sp:systemProperty "datatype" ;
	sp:varName "datatype" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux667 rdf:first _:node1a5jqhf0ux668 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux668 sp:expression _:node1a5jqhf0ux669 ;
	sp:systemProperty _:node1a5jqhf0ux669 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux669 sp:arg _:node1a5jqhf0ux670 , _:node1a5jqhf0ux674 ;
	sp:arg1 _:node1a5jqhf0ux670 ;
	sp:arg2 _:node1a5jqhf0ux674 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux67 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The number to round." .

_:node1a5jqhf0ux670 sp:arg _:node1a5jqhf0ux671 , _:node1a5jqhf0ux673 ;
	sp:arg1 _:node1a5jqhf0ux671 ;
	sp:arg2 _:node1a5jqhf0ux673 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux671 sp:arg _:node1a5jqhf0ux672 , spin:_arg2 ;
	sp:arg1 _:node1a5jqhf0ux672 ;
	sp:arg2 spin:_arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:eq , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux672 sp:systemProperty "datatype" ;
	sp:varName "datatype" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux673 sp:arg spin:_arg2 , rdfs:Literal ;
	sp:arg1 spin:_arg2 ;
	sp:arg2 rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:eq , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux674 sp:arg _:node1a5jqhf0ux675 , _:node1a5jqhf0ux681 ;
	sp:arg1 _:node1a5jqhf0ux675 ;
	sp:arg2 _:node1a5jqhf0ux681 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux675 sp:arg _:node1a5jqhf0ux676 , _:node1a5jqhf0ux679 ;
	sp:arg1 _:node1a5jqhf0ux676 ;
	sp:arg2 _:node1a5jqhf0ux679 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux676 sp:arg _:node1a5jqhf0ux677 ;
	sp:arg1 _:node1a5jqhf0ux677 ;
	 _:node1a5jqhf0ux4 ;
	a sp:not , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux677 sp:arg _:node1a5jqhf0ux678 ;
	sp:arg1 _:node1a5jqhf0ux678 ;
	 _:node1a5jqhf0ux4 ;
	a sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux678 sp:systemProperty "datatype" ;
	sp:varName "datatype" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux679 sp:arg _:node1a5jqhf0ux680 , rdf:langString ;
	sp:arg1 rdf:langString ;
	sp:arg2 _:node1a5jqhf0ux680 ;
	 _:node1a5jqhf0ux4 ;
	a sp:eq , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux68 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first argument" .

_:node1a5jqhf0ux680 sp:systemProperty "datatype" ;
	sp:varName "datatype" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux681 sp:arg spin:_arg2 , xsd:string ;
	sp:arg1 spin:_arg2 ;
	sp:arg2 xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:eq , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux682 sp:arg sp:arg1 , rdfs:Resource ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the instance being tested" .

_:node1a5jqhf0ux683 sp:arg sp:arg2 , rdfs:Class ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the type that the instance must have" .

_:node1a5jqhf0ux684 sp:systemProperty _:node1a5jqhf0ux685 ;
	sp:where _:node1a5jqhf0ux685 ;
	a sp:Ask , sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux685 rdf:first _:node1a5jqhf0ux686 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux686 sp:expression _:node1a5jqhf0ux687 ;
	sp:systemProperty _:node1a5jqhf0ux687 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux687 sp:arg _:node1a5jqhf0ux688 , _:node1a5jqhf0ux689 ;
	sp:arg1 _:node1a5jqhf0ux688 ;
	sp:arg2 _:node1a5jqhf0ux689 ;
	 _:node1a5jqhf0ux4 ;
	a sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux688 sp:arg spin:_arg1 ;
	sp:arg1 spin:_arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:isLiteral , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux689 sp:arg _:node1a5jqhf0ux690 ;
	sp:arg1 _:node1a5jqhf0ux690 ;
	 _:node1a5jqhf0ux4 ;
	a sp:not , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux69 sp:arg sp:arg2 ;
	spl:predicate sp:arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second argument" .

_:node1a5jqhf0ux690 sp:arg _:node1a5jqhf0ux691 , spin:_arg1 ;
	sp:arg1 spin:_arg1 ;
	sp:arg2 _:node1a5jqhf0ux691 ;
	 _:node1a5jqhf0ux4 ;
	a sp:sameTerm , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux691 sp:arg spin:_arg1 ;
	sp:arg1 spin:_arg1 ;
	a rdfs:Resource , xsd:string .

_:node1a5jqhf0ux692 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The literal to test." .

_:node1a5jqhf0ux693 sp:resultVariables _:node1a5jqhf0ux694 ;
	sp:systemProperty _:node1a5jqhf0ux694 , _:node1a5jqhf0ux696 ;
	sp:where _:node1a5jqhf0ux696 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux694 rdf:first _:node1a5jqhf0ux695 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux695 sp:systemProperty "result" ;
	sp:varName "result" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux696 rdf:first _:node1a5jqhf0ux697 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux697 sp:expression _:node1a5jqhf0ux698 ;
	sp:systemProperty _:node1a5jqhf0ux698 , _:node1a5jqhf0ux700 ;
	sp:variable _:node1a5jqhf0ux700 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux698 sp:arg _:node1a5jqhf0ux699 , spin:_arg1 , spin:_arg2 ;
	sp:arg1 _:node1a5jqhf0ux699 ;
	sp:arg2 spin:_arg1 ;
	sp:arg3 spin:_arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:if , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

_:node1a5jqhf0ux699 sp:arg spin:_arg1 , spin:_arg2 ;
	sp:arg1 spin:_arg1 ;
	sp:arg2 spin:_arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:gt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux7 sp:arg sp:Update , spin:body , 0 , 1 ;
	spl:count 0 , 1 ;
	spl:maxCount 1 ;
	spl:minCount 0 ;
	spl:predicate spin:body ;
	spl:valueType sp:Update ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Attribute , rdfs:Resource ;
	rdfs:comment "The UPDATE command wrapped by this template." .

_:node1a5jqhf0ux70 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The dateTime or time argument." .

_:node1a5jqhf0ux700 sp:systemProperty "result" ;
	sp:varName "result" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux701 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The first argument." .

_:node1a5jqhf0ux702 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The second argument." .

_:node1a5jqhf0ux703 sp:resultVariables _:node1a5jqhf0ux704 ;
	sp:systemProperty _:node1a5jqhf0ux704 , _:node1a5jqhf0ux706 ;
	sp:where _:node1a5jqhf0ux706 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux704 rdf:first _:node1a5jqhf0ux705 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux705 sp:systemProperty "result" ;
	sp:varName "result" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux706 rdf:first _:node1a5jqhf0ux707 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux707 sp:expression _:node1a5jqhf0ux708 ;
	sp:systemProperty _:node1a5jqhf0ux708 , _:node1a5jqhf0ux710 ;
	sp:variable _:node1a5jqhf0ux710 ;
	a sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux708 sp:arg _:node1a5jqhf0ux709 , spin:_arg1 , spin:_arg2 ;
	sp:arg1 _:node1a5jqhf0ux709 ;
	sp:arg2 spin:_arg1 ;
	sp:arg3 spin:_arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:if , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

_:node1a5jqhf0ux709 sp:arg spin:_arg1 , spin:_arg2 ;
	sp:arg1 spin:_arg1 ;
	sp:arg2 spin:_arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:lt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux71 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input literal." .

_:node1a5jqhf0ux710 sp:systemProperty "result" ;
	sp:varName "result" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux711 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The first argument." .

_:node1a5jqhf0ux712 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The second argument." .

_:node1a5jqhf0ux713 sp:resultVariables _:node1a5jqhf0ux714 ;
	sp:systemProperty _:node1a5jqhf0ux714 , _:node1a5jqhf0ux716 ;
	sp:where _:node1a5jqhf0ux716 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux714 rdf:first _:node1a5jqhf0ux715 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux715 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux716 rdf:first _:node1a5jqhf0ux717 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux717 sp:object _:node1a5jqhf0ux718 ;
	sp:predicate spin:_arg2 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux718 , spin:_arg1 , spin:_arg2 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux718 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux719 sp:arg sp:arg1 , rdfs:Resource ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The subject to get the object from." .

_:node1a5jqhf0ux72 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input literal." .

_:node1a5jqhf0ux720 sp:arg sp:arg2 , rdf:Property ;
	spl:predicate sp:arg2 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The predicate to get the object of." .

_:node1a5jqhf0ux721 sp:resultVariables _:node1a5jqhf0ux722 ;
	sp:systemProperty _:node1a5jqhf0ux722 , _:node1a5jqhf0ux726 ;
	sp:where _:node1a5jqhf0ux726 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux722 rdf:first _:node1a5jqhf0ux723 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux723 sp:expression _:node1a5jqhf0ux724 ;
	sp:systemProperty _:node1a5jqhf0ux724 , "result" ;
	sp:varName "result" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux724 sp:expression _:node1a5jqhf0ux725 ;
	sp:systemProperty _:node1a5jqhf0ux725 ;
	a sp:Aggregation , sp:Count , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux725 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux726 rdf:first _:node1a5jqhf0ux727 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux727 sp:object _:node1a5jqhf0ux728 ;
	sp:predicate spin:_arg2 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux728 , spin:_arg1 , spin:_arg2 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux728 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux729 sp:arg sp:arg1 , rdfs:Resource ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the subject to get the number of objects of" .

_:node1a5jqhf0ux73 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input literal." .

_:node1a5jqhf0ux730 sp:arg sp:arg2 , rdf:Property ;
	spl:predicate sp:arg2 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the property to get the number of values of" .

_:node1a5jqhf0ux731 sp:resultVariables _:node1a5jqhf0ux732 ;
	sp:systemProperty _:node1a5jqhf0ux732 , _:node1a5jqhf0ux734 ;
	sp:where _:node1a5jqhf0ux734 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux732 rdf:first _:node1a5jqhf0ux733 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux733 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux734 rdf:first _:node1a5jqhf0ux735 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux735 sp:elements _:node1a5jqhf0ux736 ;
	sp:graphNameNode spin:_arg3 ;
	sp:systemProperty _:node1a5jqhf0ux736 , spin:_arg3 ;
	a sp:Element , sp:ElementGroup , sp:NamedGraph , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux736 rdf:first _:node1a5jqhf0ux737 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux737 sp:object _:node1a5jqhf0ux738 ;
	sp:predicate spin:_arg2 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux738 , spin:_arg1 , spin:_arg2 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux738 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux739 sp:arg sp:arg1 , rdfs:Resource ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The subject to get the object from." .

_:node1a5jqhf0ux74 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input literal." .

_:node1a5jqhf0ux740 sp:arg sp:arg2 , rdf:Property ;
	spl:predicate sp:arg2 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The predicate to get the object of." .

_:node1a5jqhf0ux741 sp:arg sp:arg3 , rdfs:Resource ;
	spl:predicate sp:arg3 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The graph to query in." .

_:node1a5jqhf0ux742 sp:resultVariables _:node1a5jqhf0ux743 ;
	sp:systemProperty _:node1a5jqhf0ux743 , _:node1a5jqhf0ux745 ;
	sp:where _:node1a5jqhf0ux745 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux743 rdf:first _:node1a5jqhf0ux744 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux744 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux745 rdf:first _:node1a5jqhf0ux746 ;
	rdf:rest _:node1a5jqhf0ux749 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux746 sp:object spin:_arg2 ;
	sp:path _:node1a5jqhf0ux747 ;
	sp:subject _:node1a5jqhf0ux748 ;
	sp:systemProperty _:node1a5jqhf0ux747 , _:node1a5jqhf0ux748 , spin:_arg2 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux747 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subPropertyOf ;
	sp:systemProperty rdfs:subPropertyOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux748 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux749 rdf:first _:node1a5jqhf0ux750 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux75 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the node to convert to string" .

_:node1a5jqhf0ux750 sp:object _:node1a5jqhf0ux751 ;
	sp:predicate _:node1a5jqhf0ux752 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux751 , _:node1a5jqhf0ux752 , spin:_arg1 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux751 sp:systemProperty "object" ;
	sp:varName "object" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux752 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux753 sp:arg sp:arg1 , rdfs:Resource ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The subject to get the object from." .

_:node1a5jqhf0ux754 sp:arg sp:arg2 , rdf:Property ;
	spl:predicate sp:arg2 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The predicate to get the object of (including sub-properties of it)." .

_:node1a5jqhf0ux755 sp:distinct true ;
	sp:resultVariables _:node1a5jqhf0ux756 ;
	sp:systemProperty _:node1a5jqhf0ux756 , _:node1a5jqhf0ux758 , true ;
	sp:where _:node1a5jqhf0ux758 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux756 rdf:first _:node1a5jqhf0ux757 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux757 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux758 rdf:first _:node1a5jqhf0ux759 ;
	rdf:rest _:node1a5jqhf0ux763 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux759 sp:object _:node1a5jqhf0ux760 ;
	sp:path _:node1a5jqhf0ux761 ;
	sp:subject _:node1a5jqhf0ux762 ;
	sp:systemProperty _:node1a5jqhf0ux760 , _:node1a5jqhf0ux761 , _:node1a5jqhf0ux762 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux76 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux760 sp:systemProperty "superClass" ;
	sp:varName "superClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux761 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subClassOf ;
	sp:systemProperty rdfs:subClassOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux762 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux763 rdf:first _:node1a5jqhf0ux764 ;
	rdf:rest _:node1a5jqhf0ux790 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux764 sp:elements _:node1a5jqhf0ux765 ;
	sp:systemProperty _:node1a5jqhf0ux765 ;
	a sp:Element , sp:ElementGroup , sp:SystemClass , sp:Union , rdfs:Resource .

_:node1a5jqhf0ux765 rdf:first _:node1a5jqhf0ux766 ;
	rdf:rest _:node1a5jqhf0ux770 ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux766 rdf:first _:node1a5jqhf0ux767 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux767 sp:object _:node1a5jqhf0ux768 ;
	sp:predicate rdfs:domain ;
	sp:subject _:node1a5jqhf0ux769 ;
	sp:systemProperty _:node1a5jqhf0ux768 , _:node1a5jqhf0ux769 , rdfs:domain ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux768 sp:systemProperty "superClass" ;
	sp:varName "superClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux769 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux77 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The pattern to find within the input string." .

_:node1a5jqhf0ux770 rdf:first _:node1a5jqhf0ux771 ;
	rdf:rest _:node1a5jqhf0ux775 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux771 rdf:first _:node1a5jqhf0ux772 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux772 sp:object _:node1a5jqhf0ux773 ;
	sp:predicate owl:onProperty ;
	sp:subject _:node1a5jqhf0ux774 ;
	sp:systemProperty _:node1a5jqhf0ux773 , _:node1a5jqhf0ux774 , owl:onProperty ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux773 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux774 sp:systemProperty "superClass" ;
	sp:varName "superClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux775 rdf:first _:node1a5jqhf0ux776 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux776 rdf:first _:node1a5jqhf0ux777 ;
	rdf:rest _:node1a5jqhf0ux780 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux777 sp:object _:node1a5jqhf0ux778 ;
	sp:predicate rdf:first ;
	sp:subject _:node1a5jqhf0ux779 ;
	sp:systemProperty _:node1a5jqhf0ux778 , _:node1a5jqhf0ux779 , rdf:first ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux778 sp:systemProperty "superClass" ;
	sp:varName "superClass" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux779 sp:systemProperty "listSegment" ;
	sp:varName "listSegment" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux78 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux780 rdf:first _:node1a5jqhf0ux781 ;
	rdf:rest _:node1a5jqhf0ux785 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux781 sp:object _:node1a5jqhf0ux782 ;
	sp:path _:node1a5jqhf0ux783 ;
	sp:subject _:node1a5jqhf0ux784 ;
	sp:systemProperty _:node1a5jqhf0ux782 , _:node1a5jqhf0ux783 , _:node1a5jqhf0ux784 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux782 sp:systemProperty "listSegment" ;
	sp:varName "listSegment" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux783 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdf:rest ;
	sp:systemProperty rdf:rest , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux784 sp:systemProperty "list" ;
	sp:varName "list" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux785 rdf:first _:node1a5jqhf0ux786 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux786 sp:object _:node1a5jqhf0ux787 ;
	sp:path _:node1a5jqhf0ux788 ;
	sp:subject _:node1a5jqhf0ux789 ;
	sp:systemProperty _:node1a5jqhf0ux787 , _:node1a5jqhf0ux788 , _:node1a5jqhf0ux789 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux787 sp:systemProperty "list" ;
	sp:varName "list" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux788 sp:path1 rdfs:domain ;
	sp:path2 owl:unionOf ;
	sp:systemProperty rdfs:domain , owl:unionOf ;
	a sp:Path , sp:SeqPath , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux789 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux79 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The pattern to find within the input string." .

_:node1a5jqhf0ux790 rdf:first _:node1a5jqhf0ux791 ;
	rdf:rest _:node1a5jqhf0ux794 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux791 sp:object _:node1a5jqhf0ux792 ;
	sp:path _:node1a5jqhf0ux793 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux792 , _:node1a5jqhf0ux793 , spin:_arg1 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux792 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux793 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subPropertyOf ;
	sp:systemProperty rdfs:subPropertyOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux794 rdf:first _:node1a5jqhf0ux795 ;
	rdf:rest _:node1a5jqhf0ux803 ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux795 sp:expression _:node1a5jqhf0ux796 ;
	sp:systemProperty _:node1a5jqhf0ux796 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux796 sp:arg _:node1a5jqhf0ux797 , _:node1a5jqhf0ux799 ;
	sp:arg1 _:node1a5jqhf0ux797 ;
	sp:arg2 _:node1a5jqhf0ux799 ;
	 _:node1a5jqhf0ux4 ;
	a sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux797 sp:arg _:node1a5jqhf0ux798 , spin:_arg1 ;
	sp:arg1 spin:_arg1 ;
	sp:arg2 _:node1a5jqhf0ux798 ;
	 _:node1a5jqhf0ux4 ;
	a sp:eq , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux798 sp:systemProperty "property" ;
	sp:varName "property" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux799 sp:elements _:node1a5jqhf0ux800 ;
	sp:systemProperty _:node1a5jqhf0ux800 ;
	 _:node1a5jqhf0ux4 ;
	a sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux8 sp:arg sp:arg1 ;
	spl:predicate sp:arg1 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input value." .

_:node1a5jqhf0ux80 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The lexical form of the new literal." .

_:node1a5jqhf0ux800 rdf:first _:node1a5jqhf0ux801 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux801 sp:object _:node1a5jqhf0ux802 ;
	sp:predicate rdfs:domain ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux802 , spin:_arg1 , rdfs:domain ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux802 sp:systemProperty "anyDomain" ;
	sp:varName "anyDomain" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux803 rdf:first _:node1a5jqhf0ux804 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux804 sp:expression _:node1a5jqhf0ux805 ;
	sp:systemProperty _:node1a5jqhf0ux805 ;
	a sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux805 sp:arg _:node1a5jqhf0ux806 ;
	sp:arg1 _:node1a5jqhf0ux806 ;
	 _:node1a5jqhf0ux4 ;
	a sp:isIRI , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

_:node1a5jqhf0ux806 sp:systemProperty "class" ;
	sp:varName "class" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux807 sp:arg sp:arg1 , rdf:Property ;
	spl:predicate sp:arg1 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The property." .

_:node1a5jqhf0ux808 sp:systemProperty _:node1a5jqhf0ux809 ;
	sp:where _:node1a5jqhf0ux809 ;
	a sp:Ask , sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux809 rdf:first _:node1a5jqhf0ux810 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux81 sp:arg sp:arg2 , rdfs:Datatype ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Datatype ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The datatype of the new literal." .

_:node1a5jqhf0ux810 sp:object spin:_arg2 ;
	sp:path _:node1a5jqhf0ux811 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux811 , spin:_arg1 , spin:_arg2 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux811 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subClassOf ;
	sp:systemProperty rdfs:subClassOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux812 sp:arg sp:arg1 , rdfs:Class ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The potential sub-class." .

_:node1a5jqhf0ux813 sp:arg sp:arg2 , rdfs:Class ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Class ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The potential super-class." .

_:node1a5jqhf0ux814 sp:systemProperty _:node1a5jqhf0ux815 ;
	sp:where _:node1a5jqhf0ux815 ;
	a sp:Ask , sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux815 rdf:first _:node1a5jqhf0ux816 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux816 sp:object spin:_arg2 ;
	sp:path _:node1a5jqhf0ux817 ;
	sp:subject spin:_arg1 ;
	sp:systemProperty _:node1a5jqhf0ux817 , spin:_arg1 , spin:_arg2 ;
	a sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux817 sp:modMax -2 ;
	sp:modMin 0 ;
	sp:subPath rdfs:subPropertyOf ;
	sp:systemProperty rdfs:subPropertyOf , -2 , 0 ;
	a sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux818 sp:arg sp:arg1 , rdf:Property ;
	spl:predicate sp:arg1 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The potential sub-property." .

_:node1a5jqhf0ux819 sp:arg sp:arg2 , rdf:Property ;
	spl:predicate sp:arg2 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The potential super-property." .

_:node1a5jqhf0ux82 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux820 sp:resultVariables _:node1a5jqhf0ux821 ;
	sp:systemProperty _:node1a5jqhf0ux821 , _:node1a5jqhf0ux823 ;
	sp:where _:node1a5jqhf0ux823 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux821 rdf:first _:node1a5jqhf0ux822 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux822 sp:systemProperty "subject" ;
	sp:varName "subject" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux823 rdf:first _:node1a5jqhf0ux824 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux824 sp:object spin:_arg2 ;
	sp:predicate spin:_arg1 ;
	sp:subject _:node1a5jqhf0ux825 ;
	sp:systemProperty _:node1a5jqhf0ux825 , spin:_arg1 , spin:_arg2 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux825 sp:systemProperty "subject" ;
	sp:varName "subject" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux826 sp:arg sp:arg1 , rdf:Property ;
	spl:predicate sp:arg1 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The predicate." .

_:node1a5jqhf0ux827 sp:arg sp:arg2 ;
	spl:predicate sp:arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The object." .

_:node1a5jqhf0ux828 sp:resultVariables _:node1a5jqhf0ux829 ;
	sp:systemProperty _:node1a5jqhf0ux829 , _:node1a5jqhf0ux833 ;
	sp:where _:node1a5jqhf0ux833 ;
	a sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux829 rdf:first _:node1a5jqhf0ux830 ;
	rdf:rest rdf:nil ;
	a rdf:List , rdfs:Resource .

_:node1a5jqhf0ux83 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The sub-string that the input string is supposed to end with." .

_:node1a5jqhf0ux830 sp:expression _:node1a5jqhf0ux831 ;
	sp:systemProperty _:node1a5jqhf0ux831 , "result" ;
	sp:varName "result" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux831 sp:expression _:node1a5jqhf0ux832 ;
	sp:systemProperty _:node1a5jqhf0ux832 ;
	a sp:Aggregation , sp:Count , sp:SystemClass , rdfs:Resource .

_:node1a5jqhf0ux832 sp:systemProperty "subject" ;
	sp:varName "subject" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux833 rdf:first _:node1a5jqhf0ux834 ;
	rdf:rest rdf:nil ;
	a sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

_:node1a5jqhf0ux834 sp:object spin:_arg2 ;
	sp:predicate spin:_arg1 ;
	sp:subject _:node1a5jqhf0ux835 ;
	sp:systemProperty _:node1a5jqhf0ux835 , spin:_arg1 , spin:_arg2 ;
	a sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

_:node1a5jqhf0ux835 sp:systemProperty "subject" ;
	sp:varName "subject" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

_:node1a5jqhf0ux836 sp:arg sp:arg1 , rdf:Property ;
	spl:predicate sp:arg1 ;
	spl:valueType rdf:Property ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the predicate to get the number of subjects of" .

_:node1a5jqhf0ux837 sp:arg sp:arg2 ;
	spl:predicate sp:arg2 ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the object to get the number of subjects of" .

_:node1a5jqhf0ux84 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The string value." .

_:node1a5jqhf0ux85 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The language tag, e.g. \"en-AU\"." .

_:node1a5jqhf0ux86 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux87 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux88 sp:arg sp:arg2 , xsd:string ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The sub-string that the input string is supposed to begin with." .

_:node1a5jqhf0ux89 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first operand" .

_:node1a5jqhf0ux9 sp:arg sp:arg1 , rdfs:Resource ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Resource ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the first number" .

_:node1a5jqhf0ux90 sp:arg sp:arg2 , rdfs:Literal ;
	spl:predicate sp:arg2 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the second operand" .

_:node1a5jqhf0ux91 sp:arg sp:arg3 , xsd:integer , true ;
	spl:optional true ;
	spl:predicate sp:arg3 ;
	spl:valueType xsd:integer ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The end index." .

_:node1a5jqhf0ux92 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux93 sp:arg sp:arg2 , xsd:integer ;
	spl:predicate sp:arg2 ;
	spl:valueType xsd:integer ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The start index." .

_:node1a5jqhf0ux94 sp:arg sp:arg1 , xsd:dateTime ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:dateTime ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input time." .

_:node1a5jqhf0ux95 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The input string." .

_:node1a5jqhf0ux96 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the operand" .

_:node1a5jqhf0ux97 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "the operand" .

_:node1a5jqhf0ux98 sp:arg sp:arg1 , xsd:string ;
	spl:predicate sp:arg1 ;
	spl:valueType xsd:string ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The IRI string to convert to a resource." .

_:node1a5jqhf0ux99 sp:arg sp:arg1 , rdfs:Literal ;
	spl:predicate sp:arg1 ;
	spl:valueType rdfs:Literal ;
	 _:node1a5jqhf0ux4 ;
	a sp:Command , sp:Query , sp:SystemClass , spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource ;
	rdfs:comment "The date or dateTime argument." .

afn:localname a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf afn:localname , rdfs:Resource .

arg:max a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf arg:max , sp:arg .

arg:maxCount a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf arg:maxCount , sp:arg .

arg:min a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf arg:min , sp:arg .

arg:minCount a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf arg:minCount , sp:arg .

arg:otherProperty a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf arg:otherProperty , sp:arg .

arg:pattern a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf arg:pattern , sp:arg .

arg:property a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf arg:property , sp:arg .

 a rdfs:Resource , owl:Ontology ;
	rdfs:comment "An RDF schema to syntactically represent SPARQL queries and update commands as RDF triples." ;
	rdfs:label "SPIN SPARQL Syntax" ;
	owl:versionInfo "1.5.0" .

sp:Aggregation a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Base class of aggregation types (not part of the SPARQL 1.0 standard but supported by ARQ and other engines)." ;
	rdfs:label "Aggregation" ;
	rdfs:subClassOf sp:Aggregation , sp:SystemClass , rdfs:Resource .

sp:AltPath a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An alternative path with the union of sp:path1 and sp:path2." ;
	rdfs:label "Alt path" ;
	rdfs:subClassOf sp:AltPath , sp:Path , sp:SystemClass , rdfs:Resource .

sp:Asc a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Marker to indicate ascending order." ;
	rdfs:label "Asc" ;
	rdfs:subClassOf sp:Asc , sp:OrderByCondition , sp:SystemClass , rdfs:Resource .

sp:Ask a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An ASK query that returns true if the condition in the body is met by at least one result set." ;
	rdfs:label "Ask" ;
	rdfs:subClassOf sp:Ask , sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

sp:Avg a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents AVG aggregations." ;
	rdfs:label "AVG" ;
	rdfs:subClassOf sp:Aggregation , sp:Avg , sp:SystemClass , rdfs:Resource .

sp:Bind a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A BIND element." ;
	rdfs:label "Bind" ;
	rdfs:subClassOf sp:Bind , sp:Element , sp:SystemClass , rdfs:Resource .

sp:Clear a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An Update operation that removes all triples from a specified graph. Must specify the graph using sp:graphIRI, or sp:default, sp:named or sp:all. May have the SILENT flag, encoded using sp:silent." ;
	rdfs:label "Clear" ;
	rdfs:subClassOf sp:Clear , sp:Command , sp:SystemClass , sp:Update , rdfs:Resource .

sp:Command a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A shared superclass for sp:Query and sp:Update that can be used to specify that the range of property can be either one." ;
	rdfs:label "Command" ;
	rdfs:subClassOf sp:Command , sp:SystemClass , rdfs:Resource .

sp:Construct a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A CONSTRUCT-type query that can be used to construct new triples from template triples (head) that use variable bindings from the match patterns (body)." ;
	rdfs:label "Construct" ;
	rdfs:subClassOf sp:Command , sp:Construct , sp:Query , sp:SystemClass , spin:Rule , rdfs:Resource .

sp:Count a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Counts the number of times a variable is used. The variable is stored in the variable property. This might be left blank to indicate COUNT(*)." ;
	rdfs:label "COUNT" ;
	rdfs:subClassOf sp:Aggregation , sp:Count , sp:SystemClass , rdfs:Resource .

sp:Create a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An Update operation that creates a new empty graph with a name specified by sp:graphIRI. May have sp:silent set to true." ;
	rdfs:label "Create" ;
	rdfs:subClassOf sp:Command , sp:Create , sp:SystemClass , sp:Update , rdfs:Resource .

sp:Delete a rdfs:Class , rdfs:Resource , owl:DeprecatedClass ;
	rdfs:comment """Deprecated - use sp:Modify instead.

Represents a DELETE FROM (part of SPARQL UPDATE language). The graph IRIs are stored in sp:graphIRI. The template patterns to delete are stored in sp:deletePattern. The WHERE clause is represented using sp:where.""" ;
	rdfs:label "Delete" ;
	rdfs:subClassOf sp:Command , sp:Delete , sp:Modify , sp:SystemClass , sp:Update , spin:Rule , rdfs:Resource .

sp:DeleteData a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An Update operation to delete specific triples. The graph triples are represented using sp:data, which points to an rdf:List of sp:Triples or sp:NamedGraphs." ;
	rdfs:label "Delete data" ;
	rdfs:subClassOf sp:Command , sp:DeleteData , sp:SystemClass , sp:Update , rdfs:Resource .

sp:DeleteWhere a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An Update operation where the triples matched by the WHERE clause (sp:where) will be the triples deleted." ;
	rdfs:label "Delete where" ;
	rdfs:subClassOf sp:Command , sp:DeleteWhere , sp:SystemClass , sp:Update , spin:Rule , rdfs:Resource .

sp:Desc a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Marker to indicate descending order." ;
	rdfs:label "Desc" ;
	rdfs:subClassOf sp:Desc , sp:OrderByCondition , sp:SystemClass , rdfs:Resource .

sp:Describe a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A DESCRIBE-type Query." ;
	rdfs:label "Describe" ;
	rdfs:subClassOf sp:Command , sp:Describe , sp:Query , sp:SystemClass , rdfs:Resource .

sp:Drop a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An Update operation that removes a specified graph from the Graph Store. Must specify the graph using sp:graphIRI, or sp:default, sp:named or sp:all. May have the SILENT flag, encoded using sp:silent." ;
	rdfs:label "Drop" ;
	rdfs:subClassOf sp:Command , sp:Drop , sp:SystemClass , sp:Update , rdfs:Resource .

sp:Element a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An abstract base class for all pattern elements." ;
	rdfs:label "Element" ;
	rdfs:subClassOf sp:Element , sp:SystemClass , rdfs:Resource .

sp:ElementGroup a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Abstract base class of group patterns." ;
	rdfs:label "Element group" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:SystemClass , rdfs:Resource .

sp:ElementList a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A list of Elements. This class is never instantiated directly as SPIN will use plain rdf:Lists to store element lists." ;
	rdfs:label "Element list" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:ElementList , sp:SystemClass , rdf:List , rdfs:Resource .

sp:Exists a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An EXISTS element group." ;
	rdfs:label "Exists" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:Exists , sp:SystemClass , rdfs:Resource .

sp:Filter a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A constraint element that evaluates a given expression to true or false." ;
	rdfs:label "Filter" ;
	rdfs:subClassOf sp:Element , sp:Filter , sp:SystemClass , rdfs:Resource .

sp:GroupConcat a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents GROUP_CONCAT aggregations." ;
	rdfs:label "GROUP_CONCAT" ;
	rdfs:subClassOf sp:Aggregation , sp:GroupConcat , sp:SystemClass , rdfs:Resource .

sp:Insert a rdfs:Class , rdfs:Resource , owl:DeprecatedClass ;
	rdfs:comment """Deprecated - use sp:Modify instead.

Represents a INSERT INTO (part of SPARQL UPDATE language). The graph IRIs are stored in sp:graphIRI. The template patterns to delete are stored in sp:insertPattern. The WHERE clause is represented using sp:where.""" ;
	rdfs:label "Insert" ;
	rdfs:subClassOf sp:Command , sp:Insert , sp:Modify , sp:SystemClass , sp:Update , spin:Rule , rdfs:Resource .

sp:InsertData a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An Update operation to insert specific triples. The graph triples are represented using sp:data, which points to an rdf:List of sp:Triples or sp:NamedGraphs." ;
	rdfs:label "Insert data" ;
	rdfs:subClassOf sp:Command , sp:InsertData , sp:SystemClass , sp:Update , rdfs:Resource .

sp:Let a rdfs:Class , rdfs:Resource , owl:DeprecatedClass ;
	rdfs:comment """Deprecated: use sp:Bind instead.

A variable assignment (LET (? := )). Not part of the SPARQL 1.0 standard, but (for example) ARQ.""" ;
	rdfs:label "Let" ;
	rdfs:subClassOf sp:Bind , sp:Element , sp:Let , sp:SystemClass , rdfs:Resource .

sp:Load a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A LOAD Update operation. The document to load is specified using sp:document, and the (optional) target graph using sp:into." ;
	rdfs:label "Load" ;
	rdfs:subClassOf sp:Command , sp:Load , sp:SystemClass , sp:Update , rdfs:Resource .

sp:Max a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents MAX aggregations." ;
	rdfs:label "MAX" ;
	rdfs:subClassOf sp:Aggregation , sp:Max , sp:SystemClass , rdfs:Resource .

sp:Min a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents MIN aggregations." ;
	rdfs:label "MIN" ;
	rdfs:subClassOf sp:Aggregation , sp:Min , sp:SystemClass , rdfs:Resource .

sp:Minus a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A MINUS element group." ;
	rdfs:label "Minus" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:Minus , sp:SystemClass , rdfs:Resource .

sp:ModPath a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A modified path such as rdfs:subClassOf*." ;
	rdfs:label "Mod path" ;
	rdfs:subClassOf sp:ModPath , sp:Path , sp:SystemClass , rdfs:Resource .

sp:Modify a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents a MODIFY (part of SPARQL UPDATE language). The graph IRIs are stored in sp:graphIRI. The template patterns are stored in sp:deletePattern and sp:insertPattern. The WHERE clause is represented using sp:where." ;
	rdfs:label "Modify" ;
	rdfs:subClassOf sp:Command , sp:Modify , sp:SystemClass , sp:Update , spin:Rule , rdfs:Resource .

sp:ModuleCall a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf sp:ModuleCall , rdfs:Resource .

sp:NamedGraph a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A named Graph element such as GRAPH  {...}." ;
	rdfs:label "Named graph" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:NamedGraph , sp:SystemClass , rdfs:Resource .

sp:NotExists a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A NOT EXISTS element group." ;
	rdfs:label "Not exists" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:NotExists , sp:SystemClass , rdfs:Resource .

sp:Optional a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An optional element in a query." ;
	rdfs:label "Optional" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:Optional , sp:SystemClass , rdfs:Resource .

sp:OrderByCondition a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An abstract base class for ascending or descending order conditions. Instances of this class (typically bnodes) must have a value for expression to point to the actual values." ;
	rdfs:label "Order by condition" ;
	rdfs:subClassOf sp:OrderByCondition , sp:SystemClass , rdfs:Resource .

sp:Path a rdfs:Class , rdfs:Resource ;
	rdfs:comment "The base class of SPARQL property path expressions. Paths are used by sp:TriplePath triple paths." ;
	rdfs:label "Path" ;
	rdfs:subClassOf sp:Path , sp:SystemClass , rdfs:Resource .

sp:Query a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Abstract base class of the various types of supported queries. Common to all types of queries is that they can have a body (\"WHERE clause\")." ;
	rdfs:label "Query" ;
	rdfs:subClassOf sp:Command , sp:Query , sp:SystemClass , rdfs:Resource .

sp:ReverseLinkPath a rdfs:Class , rdfs:Resource ;
	rdfs:label "Reverse link path" ;
	rdfs:subClassOf sp:Path , sp:ReverseLinkPath , sp:SystemClass , rdfs:Resource .

sp:ReversePath a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A path with reversed direction." ;
	rdfs:label "Reverse path" ;
	rdfs:subClassOf sp:Path , sp:ReversePath , sp:SystemClass , rdfs:Resource .

sp:Sample a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents SAMPLE aggregations" ;
	rdfs:label "SAMPLE" ;
	rdfs:subClassOf sp:Aggregation , sp:Sample , sp:SystemClass , rdfs:Resource .

sp:Select a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A SELECT-type query that returns variable bindings as its result." ;
	rdfs:label "Select query" ;
	rdfs:subClassOf sp:Command , sp:Query , sp:Select , sp:SystemClass , rdfs:Resource .

sp:SeqPath a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A sequence of multiple paths." ;
	rdfs:label "Seq path" ;
	rdfs:subClassOf sp:Path , sp:SeqPath , sp:SystemClass , rdfs:Resource .

sp:Service a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A SERVICE call that matches a nested sub-pattern against a SPARQL end point specified by a URI." ;
	rdfs:label "Service" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:Service , sp:SystemClass , rdfs:Resource .

sp:SubQuery a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A nested SELECT query inside of an element list. The query is stored in sp:query." ;
	rdfs:label "Sub query" ;
	rdfs:subClassOf sp:Element , sp:SubQuery , sp:SystemClass , rdfs:Resource .

sp:Sum a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents sum aggregations, e.g. SELECT SUM(?varName)..." ;
	rdfs:label "SUM" ;
	rdfs:subClassOf sp:Aggregation , sp:Sum , sp:SystemClass , rdfs:Resource .

sp:SystemClass a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An \"artificial\" root class that groups all SP classes. This makes them look much less overwhelming in UI tools. Typical end users don't need to see those classes anyway." ;
	rdfs:label "SP System class" ;
	rdfs:subClassOf sp:SystemClass , rdfs:Resource .

sp:Triple a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A base class for TriplePattern and TripleTemplate. This basically specifies that subject, predicate and object must be present." ;
	rdfs:label "Triple" ;
	rdfs:subClassOf sp:SystemClass , sp:Triple , sp:Tuple , rdfs:Resource .

sp:TriplePath a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Similar to a TriplePattern, but with a path expression as its predicate. For example, this can be used to express transitive sub-class relationships (?subClass rdfs:subClassOf* ?superClass)." ;
	rdfs:label "Triple path" ;
	rdfs:subClassOf sp:Element , sp:SystemClass , sp:TriplePath , sp:Tuple , rdfs:Resource .

sp:TriplePattern a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A triple pattern used in the body of a query." ;
	rdfs:label "Triple pattern" ;
	rdfs:subClassOf sp:Element , sp:SystemClass , sp:Triple , sp:TriplePattern , sp:Tuple , rdfs:Resource .

sp:TripleTemplate a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A prototypical triple used as template in the head of a Construct query. May contain variables." ;
	rdfs:label "Triple template" ;
	rdfs:subClassOf sp:SystemClass , sp:Triple , sp:TripleTemplate , sp:Tuple , rdfs:Resource .

sp:Tuple a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Abstract base class for things that have subject and object." ;
	rdfs:label "Tuple" ;
	rdfs:subClassOf sp:SystemClass , sp:Tuple , rdfs:Resource .

sp:UUID spin:returnType rdfs:Resource ;
	spin:symbol "UUID" ;
	spin:systemProperty rdfs:Resource , "UUID" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns a fresh IRI from the UUID URN scheme. Each call of UUID() returns a different UUID. It must not be the \"nil\" UUID (all zeroes). The variant and version of the UUID is implementation dependent." ;
	rdfs:label "UUID" ;
	rdfs:subClassOf sp:UUID , spin:Functions , spin:Modules , spl:URIFunctions , rdfs:Resource .

sp:Union a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A UNION group." ;
	rdfs:label "Union" ;
	rdfs:subClassOf sp:Element , sp:ElementGroup , sp:SystemClass , sp:Union , rdfs:Resource .

sp:Update a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Abstract base class to group the various SPARQL UPDATE commands." ;
	rdfs:label "Update" ;
	rdfs:subClassOf sp:Command , sp:SystemClass , sp:Update , rdfs:Resource .

sp:Values a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A VALUES element. sp:varNames points to an rdf:List of strings for the variables, sp:values to an rdf:List of rdf:Lists with nodes for each variable, in the order defined by the variables list." ;
	rdfs:label "Values" ;
	rdfs:subClassOf sp:Element , sp:SystemClass , sp:Values , rdfs:Resource .

sp:Variable a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A variable mentioned in a Triple or expression. Variables are often blank nodes with the variable name stored in ts:name. Variables can also be supplied with a URI in which case the system will attempt to reuse the same variable instance across multiple query definitions." ;
	rdfs:label "Variable" ;
	rdfs:subClassOf sp:SystemClass , sp:Variable , rdfs:Resource .

sp:abs spin:command _:node1a5jqhf0ux8 ;
	spin:constraint _:node1a5jqhf0ux8 ;
	spin:query _:node1a5jqhf0ux8 ;
	spin:symbol "abs" ;
	spin:systemProperty "abs" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the absolute value of arg. An error is raised if arg is not a numeric value." ;
	rdfs:label "abs" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:abs , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:add spin:command _:node1a5jqhf0ux10 , _:node1a5jqhf0ux9 ;
	spin:constraint _:node1a5jqhf0ux10 , _:node1a5jqhf0ux9 ;
	spin:query _:node1a5jqhf0ux10 , _:node1a5jqhf0ux9 ;
	spin:symbol "+" ;
	spin:systemProperty "+" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the arithmetic sum of its operands." ;
	rdfs:label "add" ;
	rdfs:subClassOf sp:add , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:all a rdf:Property , rdfs:Resource ;
	rdfs:comment "Used in DROP and CLEAR." ;
	rdfs:label "all" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf sp:all , sp:systemProperty .

sp:and spin:command _:node1a5jqhf0ux11 , _:node1a5jqhf0ux12 ;
	spin:constraint _:node1a5jqhf0ux11 , _:node1a5jqhf0ux12 ;
	spin:query _:node1a5jqhf0ux11 , _:node1a5jqhf0ux12 ;
	spin:returnType xsd:boolean ;
	spin:symbol "&&" ;
	spin:systemProperty xsd:boolean , "&&" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Return the logical AND between two (boolean) operands." ;
	rdfs:label "and" ;
	rdfs:subClassOf sp:and , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:arg a rdf:Property , rdfs:Resource ;
	rdfs:comment "Abstract superproperty for the enumerated arg1, arg2 etc." ;
	rdfs:label "arg" ;
	rdfs:subPropertyOf sp:arg .

sp:arg1 a rdf:Property , rdfs:Resource ;
	rdfs:comment "The first argument of a function call." ;
	rdfs:label "arg1" ;
	rdfs:subPropertyOf sp:arg , sp:arg1 .

sp:arg2 a rdf:Property , rdfs:Resource ;
	rdfs:comment "The second argument of a function call." ;
	rdfs:label "arg2" ;
	rdfs:subPropertyOf sp:arg , sp:arg2 .

sp:arg3 a rdf:Property , rdfs:Resource ;
	rdfs:comment "The third argument of a function call." ;
	rdfs:label "arg3" ;
	rdfs:subPropertyOf sp:arg , sp:arg3 .

sp:arg4 a rdf:Property , rdfs:Resource ;
	rdfs:comment "The forth argument of a function call." ;
	rdfs:label "arg4" ;
	rdfs:subPropertyOf sp:arg , sp:arg4 .

sp:arg5 a rdf:Property , rdfs:Resource ;
	rdfs:comment "The fifth argument of a function call. Further arguments are not common in SPARQL, therefore no sp:arg6, etc are defined here. However, they can be created if needed." ;
	rdfs:label "arg5" ;
	rdfs:subPropertyOf sp:arg , sp:arg5 .

sp:arg6 a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf sp:arg6 .

sp:arg7 a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf sp:arg7 .

sp:as a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points to a Variable used in an AS statement such as COUNT aggregates." ;
	rdfs:label "as" ;
	rdfs:range sp:Variable ;
	rdfs:subPropertyOf sp:as , sp:systemProperty .

sp:bindings a rdf:Property , rdfs:Resource ;
	rdfs:comment "The actual bindings of a sp:Values element." ;
	rdfs:domain sp:Values ;
	rdfs:label "bindings" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:bindings , sp:systemProperty .

sp:bnode spin:command _:node1a5jqhf0ux13 ;
	spin:constraint _:node1a5jqhf0ux13 ;
	spin:query _:node1a5jqhf0ux13 ;
	spin:symbol "BNODE" ;
	spin:systemProperty "BNODE" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Constructs a blank node that is distinct from all blank nodes in the dataset being queried and distinct from all blank nodes created by calls to this constructor for other query solutions. If the no argument form is used, every call results in a distinct blank node. If the form with a simple literal is used, every call results in distinct blank nodes for different simple literals, and the same blank node for calls with the same simple literal within expressions for one solution mapping. This functionality is compatible with the treatment of blank nodes in SPARQL CONSTRUCT templates." ;
	rdfs:label "bnode" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:bnode , spin:Functions , spin:Modules , spl:OntologyFunctions , rdfs:Resource .

sp:bound spin:command _:node1a5jqhf0ux14 ;
	spin:constraint _:node1a5jqhf0ux14 ;
	spin:query _:node1a5jqhf0ux14 ;
	spin:returnType xsd:boolean ;
	spin:symbol "bound" ;
	spin:systemProperty xsd:boolean , "bound" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if ?arg1 is bound to a value. Returns false otherwise. Variables with the value NaN or INF are considered bound." ;
	rdfs:label "bound" ;
	rdfs:subClassOf sp:bound , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:ceil spin:command _:node1a5jqhf0ux15 ;
	spin:constraint _:node1a5jqhf0ux15 ;
	spin:query _:node1a5jqhf0ux15 ;
	spin:symbol "ceil" ;
	spin:systemProperty "ceil" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the smallest (closest to negative infinity) number with no fractional part that is not less than the value of arg. An error is raised if ?arg1 is not a numeric value." ;
	rdfs:label "ceil" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:ceil , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:coalesce spin:symbol "COALESCE" ;
	spin:systemProperty "COALESCE" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Takes any number of arguments, and returns the first bound argument, starting at the left." ;
	rdfs:label "COALESCE" ;
	rdfs:subClassOf sp:coalesce , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

sp:concat spin:returnType xsd:string ;
	spin:symbol "CONCAT" ;
	spin:systemProperty xsd:string , "CONCAT" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "The CONCAT built-in function. Creates a single string by concatenating all arguments from left to right. Note that if any one of the arguments is unbound (null) then the whole result string will be unbound." ;
	rdfs:label "concat" ;
	rdfs:subClassOf sp:concat , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:contains spin:command _:node1a5jqhf0ux16 , _:node1a5jqhf0ux17 ;
	spin:constraint _:node1a5jqhf0ux16 , _:node1a5jqhf0ux17 ;
	spin:query _:node1a5jqhf0ux16 , _:node1a5jqhf0ux17 ;
	spin:symbol "CONTAINS" ;
	spin:systemProperty "CONTAINS" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns an xsd:boolean indicating whether or not the value of ?arg1 contains (at the beginning, at the end, or anywhere within) at least one sequence of collation units that provides a minimal match to the collation units in the value of ?arg2, according to the collation that is used." ;
	rdfs:label "contains" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:contains , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:datatype spin:command _:node1a5jqhf0ux18 ;
	spin:constraint _:node1a5jqhf0ux18 ;
	spin:query _:node1a5jqhf0ux18 ;
	spin:returnType rdfs:Class ;
	spin:symbol "datatype" ;
	spin:systemProperty rdfs:Class , "datatype" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the datatype IRI of argument ?arg1; returns xsd:string if the parameter is a simple literal." ;
	rdfs:label "datatype" ;
	rdfs:subClassOf sp:datatype , spin:Functions , spin:Modules , spl:OntologyFunctions , rdfs:Resource .

sp:day spin:command _:node1a5jqhf0ux19 ;
	spin:constraint _:node1a5jqhf0ux19 ;
	spin:query _:node1a5jqhf0ux19 ;
	spin:returnType xsd:integer ;
	spin:symbol "day" ;
	spin:systemProperty xsd:integer , "day" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Extracts the day from a date/time literal." ;
	rdfs:label "day" ;
	rdfs:subClassOf sp:day , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

sp:default a rdf:Property , rdfs:Resource ;
	rdfs:comment "Used in DROP and CLEAR." ;
	rdfs:label "default" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf sp:default , sp:systemProperty .

sp:deletePattern a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points to a list of sp:TripleTemplates and sp:NamedGraphs in a modify operation." ;
	rdfs:domain sp:Update ;
	rdfs:label "delete pattern" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:deletePattern , sp:systemProperty .

sp:distinct a rdf:Property , rdfs:Resource ;
	rdfs:comment "A marker property to indicate that a Select query is of type SELECT DISTINCT." ;
	rdfs:domain sp:Select ;
	rdfs:label "distinct" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf sp:distinct , sp:systemProperty .

sp:divide spin:command _:node1a5jqhf0ux20 , _:node1a5jqhf0ux21 ;
	spin:constraint _:node1a5jqhf0ux20 , _:node1a5jqhf0ux21 ;
	spin:query _:node1a5jqhf0ux20 , _:node1a5jqhf0ux21 ;
	spin:returnType rdfs:Literal ;
	spin:symbol "/" ;
	spin:systemProperty rdfs:Literal , "/" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the arithmetic quotient of its operands." ;
	rdfs:label "divide" ;
	rdfs:subClassOf sp:divide , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:document a rdf:Property , rdfs:Resource ;
	rdfs:comment "The URI of the document to load using a LOAD Update operation." ;
	rdfs:domain sp:Load ;
	rdfs:label "document" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:document , sp:systemProperty .

sp:elements a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points to an ElementList, for example in an Optional element." ;
	rdfs:label "elements" ;
	rdfs:range sp:ElementList ;
	rdfs:subPropertyOf sp:elements , sp:systemProperty .

sp:encode_for_uri spin:command _:node1a5jqhf0ux22 ;
	spin:constraint _:node1a5jqhf0ux22 ;
	spin:query _:node1a5jqhf0ux22 ;
	spin:returnType xsd:string ;
	spin:symbol "ENCODE_FOR_URI" ;
	spin:systemProperty xsd:string , "ENCODE_FOR_URI" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:label "encode_for_uri" ;
	rdfs:subClassOf sp:encode_for_uri , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:eq spin:command _:node1a5jqhf0ux23 , _:node1a5jqhf0ux24 ;
	spin:constraint _:node1a5jqhf0ux23 , _:node1a5jqhf0ux24 ;
	spin:query _:node1a5jqhf0ux23 , _:node1a5jqhf0ux24 ;
	spin:returnType xsd:boolean ;
	spin:symbol "=" ;
	spin:systemProperty xsd:boolean , "=" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if both arguments are equal." ;
	rdfs:label "eq" ;
	rdfs:subClassOf sp:eq , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:exists spin:returnType xsd:boolean ;
	spin:symbol "EXISTS" ;
	spin:systemProperty xsd:boolean , "EXISTS" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "The filter function EXISTS. The graph pattern is stored in sp:elements." ;
	rdfs:label "EXISTS" ;
	rdfs:subClassOf sp:exists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:expression a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points to an expression, for example in a Filter or Assignment." ;
	rdfs:label "expression" ;
	rdfs:subPropertyOf sp:expression , sp:systemProperty .

sp:floor spin:command _:node1a5jqhf0ux25 ;
	spin:constraint _:node1a5jqhf0ux25 ;
	spin:query _:node1a5jqhf0ux25 ;
	spin:symbol "floor" ;
	spin:systemProperty "floor" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the largest (closest to positive infinity) number with no fractional part that is not greater than the value of ?arg1. An error is raised if ?arg1 is not a numeric value." ;
	rdfs:label "floor" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:floor , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:from a rdf:Property , rdfs:Resource ;
	rdfs:comment "Specifies an RDF Dataset used by a Query (FROM syntax in SPARQL). Values of this property must be URI resources." ;
	rdfs:domain sp:Query ;
	rdfs:label "from" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:from , sp:systemProperty .

sp:fromNamed a rdf:Property , rdfs:Resource ;
	rdfs:comment "Specifies a named RDF Dataset used by a Query (FROM NAMED syntax in SPARQL). Values of this property must be URI resources." ;
	rdfs:domain sp:Query ;
	rdfs:label "from named" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:fromNamed , sp:systemProperty .

sp:ge spin:command _:node1a5jqhf0ux26 , _:node1a5jqhf0ux27 ;
	spin:constraint _:node1a5jqhf0ux26 , _:node1a5jqhf0ux27 ;
	spin:query _:node1a5jqhf0ux26 , _:node1a5jqhf0ux27 ;
	spin:returnType xsd:boolean ;
	spin:symbol ">=" ;
	spin:systemProperty xsd:boolean , ">=" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if ?arg1 >= ?arg2." ;
	rdfs:label "ge" ;
	rdfs:subClassOf sp:ge , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:graphIRI a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points to graph names (IRIs) in various sp:Update operations." ;
	rdfs:label "graph IRI" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:graphIRI , sp:systemProperty .

sp:graphNameNode a rdf:Property , rdfs:Resource ;
	rdfs:comment "The name (URI or Variable) of a NamedGraph." ;
	rdfs:domain sp:NamedGraph ;
	rdfs:label "graph name node" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:graphNameNode , sp:systemProperty .

sp:groupBy a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points from a Query to the list of GROUP BY expressions." ;
	rdfs:domain sp:Select ;
	rdfs:label "group by" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:groupBy , sp:systemProperty .

sp:gt spin:command _:node1a5jqhf0ux28 , _:node1a5jqhf0ux29 ;
	spin:constraint _:node1a5jqhf0ux28 , _:node1a5jqhf0ux29 ;
	spin:query _:node1a5jqhf0ux28 , _:node1a5jqhf0ux29 ;
	spin:returnType xsd:boolean ;
	spin:symbol ">" ;
	spin:systemProperty xsd:boolean , ">" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if ?arg1 > arg2." ;
	rdfs:label "gt" ;
	rdfs:subClassOf sp:gt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:having a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points from a SELECT query to a list of HAVING expressions." ;
	rdfs:domain sp:Select ;
	rdfs:label "having" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:having , sp:systemProperty .

sp:hours spin:command _:node1a5jqhf0ux30 ;
	spin:constraint _:node1a5jqhf0ux30 ;
	spin:query _:node1a5jqhf0ux30 ;
	spin:returnType xsd:integer ;
	spin:symbol "hours" ;
	spin:systemProperty xsd:integer , "hours" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Extracts the hours from a date/time literal." ;
	rdfs:label "hours" ;
	rdfs:subClassOf sp:hours , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

sp:if spin:command _:node1a5jqhf0ux31 , _:node1a5jqhf0ux32 , _:node1a5jqhf0ux33 ;
	spin:constraint _:node1a5jqhf0ux31 , _:node1a5jqhf0ux32 , _:node1a5jqhf0ux33 ;
	spin:query _:node1a5jqhf0ux31 , _:node1a5jqhf0ux32 , _:node1a5jqhf0ux33 ;
	spin:symbol "IF" ;
	spin:systemProperty "IF" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "The SPARQL 1.1 built-in function IF." ;
	rdfs:label "IF" ;
	rdfs:subClassOf sp:if , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

sp:in spin:command _:node1a5jqhf0ux34 ;
	spin:constraint _:node1a5jqhf0ux34 ;
	spin:query _:node1a5jqhf0ux34 ;
	spin:returnType xsd:boolean ;
	spin:symbol "IN" ;
	spin:systemProperty xsd:boolean , "IN" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether the value on the left (?arg1) is one of the values on the right (?arg2, ?arg3 ...)." ;
	rdfs:label "IN" ;
	rdfs:subClassOf sp:in , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:insertPattern a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points to a list of sp:TripleTemplates or sp:NamedGraphs in a modify command." ;
	rdfs:domain sp:Modify ;
	rdfs:label "insert pattern" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:insertPattern , sp:systemProperty .

sp:into a rdf:Property , rdfs:Resource ;
	rdfs:comment "The (optional) target of a LOAD Update operation." ;
	rdfs:domain sp:Load ;
	rdfs:label "into" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:into , sp:systemProperty .

sp:iri spin:command _:node1a5jqhf0ux35 ;
	spin:constraint _:node1a5jqhf0ux35 ;
	spin:query _:node1a5jqhf0ux35 ;
	spin:returnType rdfs:Resource ;
	spin:symbol "IRI" ;
	spin:systemProperty rdfs:Resource , "IRI" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Creates a IRI resource (node) from a given IRI string (?arg1)." ;
	rdfs:label "IRI" ;
	rdfs:subClassOf sp:iri , spin:Functions , spin:Modules , spl:OntologyFunctions , rdfs:Resource .

sp:isBlank spin:command _:node1a5jqhf0ux36 ;
	spin:constraint _:node1a5jqhf0ux36 ;
	spin:query _:node1a5jqhf0ux36 ;
	spin:returnType xsd:boolean ;
	spin:symbol "isBlank" ;
	spin:systemProperty xsd:boolean , "isBlank" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given node is a blank node." ;
	rdfs:label "isBlank" ;
	rdfs:subClassOf sp:isBlank , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:isIRI spin:command _:node1a5jqhf0ux37 ;
	spin:constraint _:node1a5jqhf0ux37 ;
	spin:query _:node1a5jqhf0ux37 ;
	spin:returnType xsd:boolean ;
	spin:symbol "isIRI" ;
	spin:systemProperty xsd:boolean , "isIRI" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given node is a IRI node." ;
	rdfs:label "isIRI" ;
	rdfs:subClassOf sp:isIRI , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:isLiteral spin:command _:node1a5jqhf0ux38 ;
	spin:constraint _:node1a5jqhf0ux38 ;
	spin:query _:node1a5jqhf0ux38 ;
	spin:returnType xsd:boolean ;
	spin:symbol "isLiteral" ;
	spin:systemProperty xsd:boolean , "isLiteral" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given node is a literal." ;
	rdfs:label "isLiteral" ;
	rdfs:subClassOf sp:isLiteral , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:isNumeric spin:command _:node1a5jqhf0ux39 ;
	spin:constraint _:node1a5jqhf0ux39 ;
	spin:query _:node1a5jqhf0ux39 ;
	spin:symbol "isNumeric" ;
	spin:systemProperty "isNumeric" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if arg1 is a numeric value. Returns false otherwise. term is numeric if it has an appropriate datatype (see the section Operand Data Types) and has a valid lexical form, making it a valid argument to functions and operators taking numeric arguments." ;
	rdfs:label "is numeric" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:isNumeric , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:isURI spin:command _:node1a5jqhf0ux40 ;
	spin:constraint _:node1a5jqhf0ux40 ;
	spin:query _:node1a5jqhf0ux40 ;
	spin:returnType xsd:boolean ;
	spin:symbol "isURI" ;
	spin:systemProperty xsd:boolean , "isURI" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a node is a URI." ;
	rdfs:label "isURI" ;
	rdfs:subClassOf sp:isURI , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:lang spin:command _:node1a5jqhf0ux41 ;
	spin:constraint _:node1a5jqhf0ux41 ;
	spin:query _:node1a5jqhf0ux41 ;
	spin:returnType xsd:string ;
	spin:symbol "lang" ;
	spin:systemProperty xsd:string , "lang" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the language tag of ?arg1, if it has one. It returns \"\" if the literal has no language tag. Node that the RDF data model does not include literals with an empty language tag." ;
	rdfs:label "lang" ;
	rdfs:subClassOf sp:lang , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:langMatches spin:command _:node1a5jqhf0ux42 , _:node1a5jqhf0ux43 ;
	spin:constraint _:node1a5jqhf0ux42 , _:node1a5jqhf0ux43 ;
	spin:query _:node1a5jqhf0ux42 , _:node1a5jqhf0ux43 ;
	spin:returnType xsd:boolean ;
	spin:symbol "langMatches" ;
	spin:systemProperty xsd:boolean , "langMatches" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if language-tag (first argument) matches language-range (second argument) per the basic filtering scheme defined in [RFC4647] section 3.3.1." ;
	rdfs:label "langMatches" ;
	rdfs:subClassOf sp:langMatches , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:lcase spin:command _:node1a5jqhf0ux44 ;
	spin:constraint _:node1a5jqhf0ux44 ;
	spin:query _:node1a5jqhf0ux44 ;
	spin:returnType xsd:string ;
	spin:symbol "LCASE" ;
	spin:systemProperty xsd:string , "LCASE" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Converts a string to lower case characters." ;
	rdfs:label "LCASE" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:lcase , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:le spin:command _:node1a5jqhf0ux45 , _:node1a5jqhf0ux46 ;
	spin:constraint _:node1a5jqhf0ux45 , _:node1a5jqhf0ux46 ;
	spin:query _:node1a5jqhf0ux45 , _:node1a5jqhf0ux46 ;
	spin:returnType xsd:boolean ;
	spin:symbol "<=" ;
	spin:systemProperty xsd:boolean , "<=" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if ?arg1 <= ?arg2." ;
	rdfs:label "le" ;
	rdfs:subClassOf sp:le , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:limit a rdf:Property , rdfs:Resource ;
	rdfs:comment "The LIMIT solution modifier of a Query." ;
	rdfs:domain sp:Query ;
	rdfs:label "limit" ;
	rdfs:range xsd:long ;
	rdfs:subPropertyOf sp:limit , sp:systemProperty .

sp:lt spin:command _:node1a5jqhf0ux47 , _:node1a5jqhf0ux48 ;
	spin:constraint _:node1a5jqhf0ux47 , _:node1a5jqhf0ux48 ;
	spin:query _:node1a5jqhf0ux47 , _:node1a5jqhf0ux48 ;
	spin:returnType xsd:boolean ;
	spin:symbol "<" ;
	spin:systemProperty xsd:boolean , "<" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if ?arg1 < ?arg2." ;
	rdfs:label "lt" ;
	rdfs:subClassOf sp:lt , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:md5 spin:command _:node1a5jqhf0ux49 ;
	spin:constraint _:node1a5jqhf0ux49 ;
	spin:query _:node1a5jqhf0ux49 ;
	spin:returnType xsd:string ;
	spin:symbol "MD5" ;
	spin:systemProperty xsd:string , "MD5" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the MD5 checksum, as a hex digit string, calculated on the UTF-8 representation of the simple literal or lexical form of the xsd:string. Hex digits SHOULD be in lower case." ;
	rdfs:label "md5" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:md5 , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

sp:minutes spin:command _:node1a5jqhf0ux50 ;
	spin:constraint _:node1a5jqhf0ux50 ;
	spin:query _:node1a5jqhf0ux50 ;
	spin:returnType xsd:integer ;
	spin:symbol "minutes" ;
	spin:systemProperty xsd:integer , "minutes" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Extracts the minutes from a date/time literal." ;
	rdfs:label "minutes" ;
	rdfs:subClassOf sp:minutes , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

sp:modMax a rdf:Property , rdfs:Resource ;
	rdfs:domain sp:ModPath ;
	rdfs:label "mod max" ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf sp:modMax , sp:systemProperty .

sp:modMin a rdf:Property , rdfs:Resource ;
	rdfs:domain sp:ModPath ;
	rdfs:label "mod min" ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf sp:modMin , sp:systemProperty .

sp:month spin:command _:node1a5jqhf0ux51 ;
	spin:constraint _:node1a5jqhf0ux51 ;
	spin:query _:node1a5jqhf0ux51 ;
	spin:returnType xsd:integer ;
	spin:symbol "month" ;
	spin:systemProperty xsd:integer , "month" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Extracts the month from a date/time literal." ;
	rdfs:label "month" ;
	rdfs:subClassOf sp:month , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

sp:mul spin:command _:node1a5jqhf0ux52 , _:node1a5jqhf0ux53 ;
	spin:constraint _:node1a5jqhf0ux52 , _:node1a5jqhf0ux53 ;
	spin:query _:node1a5jqhf0ux52 , _:node1a5jqhf0ux53 ;
	spin:symbol "*" ;
	spin:systemProperty "*" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the arithmetic product of its operands." ;
	rdfs:label "mul" ;
	rdfs:subClassOf sp:mul , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:named a rdf:Property , rdfs:Resource ;
	rdfs:comment "Used in DROP and CLEAR." ;
	rdfs:label "named" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf sp:named , sp:systemProperty .

sp:ne spin:command _:node1a5jqhf0ux54 , _:node1a5jqhf0ux55 ;
	spin:constraint _:node1a5jqhf0ux54 , _:node1a5jqhf0ux55 ;
	spin:query _:node1a5jqhf0ux54 , _:node1a5jqhf0ux55 ;
	spin:returnType xsd:boolean ;
	spin:symbol "!=" ;
	spin:systemProperty xsd:boolean , "!=" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if ?arg1 != ?arg2." ;
	rdfs:label "ne" ;
	rdfs:subClassOf sp:ne , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:node a rdf:Property , rdfs:Resource ;
	rdfs:domain sp:ReverseLinkPath ;
	rdfs:label "node" ;
	rdfs:subPropertyOf sp:node , sp:systemProperty .

sp:not spin:command _:node1a5jqhf0ux56 ;
	spin:constraint _:node1a5jqhf0ux56 ;
	spin:query _:node1a5jqhf0ux56 ;
	spin:returnType xsd:boolean ;
	spin:symbol "!" ;
	spin:systemProperty xsd:boolean , "!" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the boolean negation of the argument." ;
	rdfs:label "not" ;
	rdfs:subClassOf sp:not , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:notExists spin:returnType xsd:boolean ;
	spin:symbol "NOT EXISTS" ;
	spin:systemProperty xsd:boolean , "NOT EXISTS" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "The filter function NOT EXISTS. The graph pattern is stored in sp:elements." ;
	rdfs:label "NOT EXISTS" ;
	rdfs:subClassOf sp:notExists , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:notIn spin:command _:node1a5jqhf0ux57 ;
	spin:constraint _:node1a5jqhf0ux57 ;
	spin:query _:node1a5jqhf0ux57 ;
	spin:returnType xsd:boolean ;
	spin:symbol "NOT IN" ;
	spin:systemProperty xsd:boolean , "NOT IN" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether the value on the left (?arg1) is none of the values on the right (?arg2, ?arg3 ...)." ;
	rdfs:label "NOT IN" ;
	rdfs:subClassOf sp:notIn , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:now spin:returnType xsd:dateTime ;
	spin:symbol "now" ;
	spin:systemProperty xsd:dateTime , "now" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets the current date and time as an xsd:dateTime literal." ;
	rdfs:label "now" ;
	rdfs:subClassOf sp:now , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

sp:object a rdf:Property , rdfs:Resource ;
	rdfs:comment "An RDF Node or Variable describing the object of a triple." ;
	rdfs:domain sp:Tuple ;
	rdfs:label "object" ;
	rdfs:subPropertyOf sp:object , sp:systemProperty .

sp:offset a rdf:Property , rdfs:Resource ;
	rdfs:comment "The OFFSET solution modifier of a Query." ;
	rdfs:domain sp:Query ;
	rdfs:label "offset" ;
	rdfs:range xsd:long ;
	rdfs:subPropertyOf sp:offset , sp:systemProperty .

sp:or spin:command _:node1a5jqhf0ux58 , _:node1a5jqhf0ux59 ;
	spin:constraint _:node1a5jqhf0ux58 , _:node1a5jqhf0ux59 ;
	spin:query _:node1a5jqhf0ux58 , _:node1a5jqhf0ux59 ;
	spin:returnType xsd:boolean ;
	spin:symbol "||" ;
	spin:systemProperty xsd:boolean , "||" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the logical OR between two (boolean) operands." ;
	rdfs:label "or" ;
	rdfs:subClassOf sp:or , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:orderBy a rdf:Property , rdfs:Resource ;
	rdfs:comment "Links a query with an ORDER BY clause where the values are rdf:List containing OrderByConditions or expressions. While the domain of this property is sp:Query, only Describe and Select queries can have values of it." ;
	rdfs:domain sp:Query ;
	rdfs:label "order by" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:orderBy , sp:systemProperty .

sp:path a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points from a TriplePath to its path." ;
	rdfs:domain sp:TriplePath ;
	rdfs:label "path" ;
	rdfs:range sp:Path ;
	rdfs:subPropertyOf sp:path , sp:systemProperty .

sp:path1 a rdf:Property , rdfs:Resource ;
	rdfs:comment "The first child path of a property path. Used by sp:AltPath and sp:SeqPath." ;
	rdfs:label "path1" ;
	rdfs:range sp:Path ;
	rdfs:subPropertyOf sp:path1 , sp:systemProperty .

sp:path2 a rdf:Property , rdfs:Resource ;
	rdfs:comment "The second child path of a property path. Used by sp:AltPath and sp:SeqPath." ;
	rdfs:label "path2" ;
	rdfs:range sp:Path ;
	rdfs:subPropertyOf sp:path2 , sp:systemProperty .

sp:predicate a rdf:Property , rdfs:Resource ;
	rdfs:comment "A resource or Variable describing the predicate of a triple." ;
	rdfs:domain sp:Triple ;
	rdfs:label "predicate" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:predicate , sp:systemProperty .

sp:query a rdf:Property , rdfs:Resource ;
	rdfs:comment "Links a SubQuery resource with the nested Query." ;
	rdfs:domain sp:SubQuery ;
	rdfs:label "query" ;
	rdfs:range sp:Query ;
	rdfs:subPropertyOf sp:query , sp:systemProperty .

sp:rand spin:returnType xsd:double ;
	spin:symbol "RAND" ;
	spin:systemProperty xsd:double , "RAND" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns a number between 0 (inclusive) and 1.0e0 (exclusive). Different numbers can be produced every time this function is invoked. Numbers should be produced with approximately equal probability." ;
	rdfs:label "rand" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:rand , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:reduced a rdf:Property , rdfs:Resource ;
	rdfs:comment "A property with true to indicate that a Select query has a REDUCED flag." ;
	rdfs:domain sp:Select ;
	rdfs:label "reduced" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf sp:reduced , sp:systemProperty .

sp:regex spin:command _:node1a5jqhf0ux60 , _:node1a5jqhf0ux61 , _:node1a5jqhf0ux62 ;
	spin:constraint _:node1a5jqhf0ux60 , _:node1a5jqhf0ux61 , _:node1a5jqhf0ux62 ;
	spin:query _:node1a5jqhf0ux60 , _:node1a5jqhf0ux61 , _:node1a5jqhf0ux62 ;
	spin:returnType xsd:boolean ;
	spin:symbol "regex" ;
	spin:systemProperty xsd:boolean , "regex" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if a string (?arg1) matches the regular expression supplied as a pattern (?arg2) as influenced by the value of flags (?arg3), otherwise returns false." ;
	rdfs:label "regex" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:regex , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:replace spin:command _:node1a5jqhf0ux63 , _:node1a5jqhf0ux64 , _:node1a5jqhf0ux65 , _:node1a5jqhf0ux66 ;
	spin:constraint _:node1a5jqhf0ux63 , _:node1a5jqhf0ux64 , _:node1a5jqhf0ux65 , _:node1a5jqhf0ux66 ;
	spin:query _:node1a5jqhf0ux63 , _:node1a5jqhf0ux64 , _:node1a5jqhf0ux65 , _:node1a5jqhf0ux66 ;
	spin:returnType xsd:string ;
	spin:symbol "REPLACE" ;
	spin:systemProperty xsd:string , "REPLACE" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Replaces each non-overlapping occurrence of a regular expression pattern with a replacement string. Regular expession matching may involve modifier flags." ;
	rdfs:label "replace" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:replace , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:resultNodes a rdf:Property , rdfs:Resource ;
	rdfs:comment "Contains the result nodes (URI resources or Variables) of a Describe query." ;
	rdfs:domain sp:Describe ;
	rdfs:label "result nodes" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:resultNodes , sp:systemProperty .

sp:resultVariables a rdf:Property , rdfs:Resource ;
	rdfs:comment "An rdf:List of variables that are returned by a Select query." ;
	rdfs:domain sp:Select ;
	rdfs:label "result variables" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:resultVariables , sp:systemProperty .

sp:round spin:command _:node1a5jqhf0ux67 ;
	spin:constraint _:node1a5jqhf0ux67 ;
	spin:query _:node1a5jqhf0ux67 ;
	spin:symbol "round" ;
	spin:systemProperty "round" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the number with no fractional part that is closest to the argument. If there are two such numbers, then the one that is closest to positive infinity is returned. An error is raised if ?arg1 is not a numeric value." ;
	rdfs:label "round" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:round , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:sameTerm spin:command _:node1a5jqhf0ux68 , _:node1a5jqhf0ux69 ;
	spin:constraint _:node1a5jqhf0ux68 , _:node1a5jqhf0ux69 ;
	spin:query _:node1a5jqhf0ux68 , _:node1a5jqhf0ux69 ;
	spin:returnType xsd:boolean ;
	spin:symbol "sameTerm" ;
	spin:systemProperty xsd:boolean , "sameTerm" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns TRUE if ?arg1 and ?arg2 are the same RDF term as defined in Resource Description Framework (RDF): Concepts and Abstract Syntax; returns FALSE otherwise." ;
	rdfs:label "same term" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:sameTerm , spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

sp:seconds spin:command _:node1a5jqhf0ux70 ;
	spin:constraint _:node1a5jqhf0ux70 ;
	spin:query _:node1a5jqhf0ux70 ;
	spin:returnType xsd:integer ;
	spin:symbol "seconds" ;
	spin:systemProperty xsd:integer , "seconds" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Extracts the seconds from a date/time literal." ;
	rdfs:label "seconds" ;
	rdfs:subClassOf sp:seconds , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

sp:separator a rdf:Property , rdfs:Resource ;
	rdfs:comment "Stores the separator=\"...\" value of a GROUP_CONCAT (sp:GroupConcat) aggregation." ;
	rdfs:domain sp:GroupConcat ;
	rdfs:label "separator" ;
	rdfs:range xsd:string ;
	rdfs:subPropertyOf sp:separator , sp:systemProperty .

sp:serviceURI a rdf:Property , rdfs:Resource ;
	rdfs:comment "Used by sp:Service to specify the URI of the SPARQL end point to invoke. Must point to a URI node." ;
	rdfs:domain sp:Service ;
	rdfs:label "service URI" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:serviceURI , sp:systemProperty .

sp:sha1 spin:command _:node1a5jqhf0ux71 ;
	spin:constraint _:node1a5jqhf0ux71 ;
	spin:query _:node1a5jqhf0ux71 ;
	spin:returnType xsd:string ;
	spin:symbol "SHA1" ;
	spin:systemProperty xsd:string , "SHA1" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the SHA1 checksum, as a hex digit string, calculated on the UTF-8 representation of the simple literal or lexical form of the xsd:string. Hex digits SHOULD be in lower case." ;
	rdfs:label "sha1" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:sha1 , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

sp:sha256 spin:command _:node1a5jqhf0ux72 ;
	spin:constraint _:node1a5jqhf0ux72 ;
	spin:query _:node1a5jqhf0ux72 ;
	spin:returnType xsd:string ;
	spin:symbol "SHA256" ;
	spin:systemProperty xsd:string , "SHA256" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the SHA256 checksum, as a hex digit string, calculated on the UTF-8 representation of the simple literal or lexical form of the xsd:string. Hex digits SHOULD be in lower case." ;
	rdfs:label "sha256" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:sha256 , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

sp:sha384 spin:command _:node1a5jqhf0ux73 ;
	spin:constraint _:node1a5jqhf0ux73 ;
	spin:query _:node1a5jqhf0ux73 ;
	spin:returnType xsd:string ;
	spin:symbol "SHA384" ;
	spin:systemProperty xsd:string , "SHA384" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the SHA384 checksum, as a hex digit string, calculated on the UTF-8 representation of the simple literal or lexical form of the xsd:string. Hex digits SHOULD be in lower case." ;
	rdfs:label "sha384" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:sha384 , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

sp:sha512 spin:command _:node1a5jqhf0ux74 ;
	spin:constraint _:node1a5jqhf0ux74 ;
	spin:query _:node1a5jqhf0ux74 ;
	spin:returnType xsd:string ;
	spin:symbol "SHA512" ;
	spin:systemProperty xsd:string , "SHA512" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the SHA512 checksum, as a hex digit string, calculated on the UTF-8 representation of the simple literal or lexical form of the xsd:string. Hex digits SHOULD be in lower case." ;
	rdfs:label "sha512" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:sha512 , spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

sp:silent a rdf:Property , rdfs:Resource ;
	rdfs:label "silent" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf sp:silent , sp:systemProperty .

sp:str spin:command _:node1a5jqhf0ux75 ;
	spin:constraint _:node1a5jqhf0ux75 ;
	spin:query _:node1a5jqhf0ux75 ;
	spin:returnType xsd:string ;
	spin:symbol "str" ;
	spin:systemProperty xsd:string , "str" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the lexical form of ?arg1 (a literal); returns the codepoint representation of ?arg1 (an IRI). This is useful for examining parts of an IRI, for instance, the host-name." ;
	rdfs:label "str" ;
	rdfs:subClassOf sp:str , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:strafter spin:command _:node1a5jqhf0ux76 , _:node1a5jqhf0ux77 ;
	spin:constraint _:node1a5jqhf0ux76 , _:node1a5jqhf0ux77 ;
	spin:query _:node1a5jqhf0ux76 , _:node1a5jqhf0ux77 ;
	spin:returnType xsd:string ;
	spin:symbol "STRAFTER" ;
	spin:systemProperty xsd:string , "STRAFTER" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns a literal of the same kind (simple literal, plain literal same language tag, xsd:string) as the first argument arg1. The lexical form of the result is the substring of the value of arg1 that proceeds in arg1 the first occurrence of the lexical form of arg2; otherwise the lexical form of the result is the empty string. If the lexical form of arg2 is the empty string, the lexical form of the result is the emprty string." ;
	rdfs:label "strafter" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:strafter , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:strbefore spin:command _:node1a5jqhf0ux78 , _:node1a5jqhf0ux79 ;
	spin:constraint _:node1a5jqhf0ux78 , _:node1a5jqhf0ux79 ;
	spin:query _:node1a5jqhf0ux78 , _:node1a5jqhf0ux79 ;
	spin:returnType xsd:string ;
	spin:symbol "STRBEFORE" ;
	spin:systemProperty xsd:string , "STRBEFORE" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns a literal of the same kind (simple literal, plain literal same language tag, xsd:string) as the first argument arg1. The lexical form of the result is the substring of the value of arg1 that precedes in arg1 the first occurrence of the lexical form of arg2; otherwise the lexical form of the result is the empty string. If the lexical form of arg2 is the empty string, the lexical form of the result is the emprty string." ;
	rdfs:label "strbefore" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:strbefore , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:strdt spin:command _:node1a5jqhf0ux80 , _:node1a5jqhf0ux81 ;
	spin:constraint _:node1a5jqhf0ux80 , _:node1a5jqhf0ux81 ;
	spin:query _:node1a5jqhf0ux80 , _:node1a5jqhf0ux81 ;
	spin:symbol "STRDT" ;
	spin:systemProperty "STRDT" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Constructs a literal with lexical form and type as specified by the arguments." ;
	rdfs:label "strdt" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:strdt , spin:Functions , spin:Modules , spl:OntologyFunctions , rdfs:Resource .

sp:strends spin:command _:node1a5jqhf0ux82 , _:node1a5jqhf0ux83 ;
	spin:constraint _:node1a5jqhf0ux82 , _:node1a5jqhf0ux83 ;
	spin:query _:node1a5jqhf0ux82 , _:node1a5jqhf0ux83 ;
	spin:returnType xsd:boolean ;
	spin:symbol "STRENDS" ;
	spin:systemProperty xsd:boolean , "STRENDS" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if the lexical form of ?arg1 ends with the lexical form of ?arg2, otherwise it returns false." ;
	rdfs:label "strends" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:strends , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:strlang spin:command _:node1a5jqhf0ux84 , _:node1a5jqhf0ux85 ;
	spin:constraint _:node1a5jqhf0ux84 , _:node1a5jqhf0ux85 ;
	spin:query _:node1a5jqhf0ux84 , _:node1a5jqhf0ux85 ;
	spin:returnType rdf:PlainLiteral ;
	spin:symbol "STRLANG" ;
	spin:systemProperty rdf:PlainLiteral , "STRLANG" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Takes a string (?arg1) and a language (?arg2) and constructs a literal with a corresponding language tag." ;
	rdfs:label "strlang" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:strlang , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:strlen spin:command _:node1a5jqhf0ux86 ;
	spin:constraint _:node1a5jqhf0ux86 ;
	spin:query _:node1a5jqhf0ux86 ;
	spin:returnType xsd:integer ;
	spin:symbol "STRLEN" ;
	spin:systemProperty xsd:integer , "STRLEN" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Computes the length of a given input string." ;
	rdfs:label "strlen" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:strlen , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:strstarts spin:command _:node1a5jqhf0ux87 , _:node1a5jqhf0ux88 ;
	spin:constraint _:node1a5jqhf0ux87 , _:node1a5jqhf0ux88 ;
	spin:query _:node1a5jqhf0ux87 , _:node1a5jqhf0ux88 ;
	spin:returnType xsd:boolean ;
	spin:symbol "STRSTARTS" ;
	spin:systemProperty xsd:boolean , "STRSTARTS" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns true if the lexical form of ?arg1 begins with the lexical form of ?arg2, otherwise it returns false." ;
	rdfs:label "strstarts" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:strstarts , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:struuid spin:returnType xsd:string ;
	spin:symbol "STRUUID" ;
	spin:systemProperty xsd:string , "STRUUID" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns a string that is the scheme specific part of UUID. That is, as a simple literal, the result of generating a UUID, converting to a simple literal and removing the initial urn:uuid:." ;
	rdfs:label "struuid" ;
	rdfs:subClassOf sp:struuid , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:sub spin:command _:node1a5jqhf0ux89 , _:node1a5jqhf0ux90 ;
	spin:constraint _:node1a5jqhf0ux89 , _:node1a5jqhf0ux90 ;
	spin:query _:node1a5jqhf0ux89 , _:node1a5jqhf0ux90 ;
	spin:symbol "-" ;
	spin:systemProperty "-" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the arithmetic difference of its operands." ;
	rdfs:label "sub" ;
	rdfs:subClassOf sp:sub , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:subPath a rdf:Property , rdfs:Resource ;
	rdfs:comment "The child path of a property path expression. This is used by ReversePath and ModPath." ;
	rdfs:label "sub path" ;
	rdfs:subPropertyOf sp:subPath , sp:systemProperty .

sp:subject a rdf:Property , rdfs:Resource ;
	rdfs:comment "A resource or Variable describing the subject of a triple." ;
	rdfs:domain sp:Tuple ;
	rdfs:label "subject" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:subject , sp:systemProperty .

sp:substr spin:command _:node1a5jqhf0ux91 , _:node1a5jqhf0ux92 , _:node1a5jqhf0ux93 ;
	spin:constraint _:node1a5jqhf0ux91 , _:node1a5jqhf0ux92 , _:node1a5jqhf0ux93 ;
	spin:query _:node1a5jqhf0ux91 , _:node1a5jqhf0ux92 , _:node1a5jqhf0ux93 ;
	spin:returnType xsd:string ;
	spin:symbol "SUBSTR" ;
	spin:systemProperty xsd:string , "SUBSTR" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets the sub-string of a given string. The index of the first character is 1." ;
	rdfs:label "substr" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:substr , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:systemProperty a rdf:Property , rdfs:Resource ;
	rdfs:comment "An abstract base proprerty that groups together the SP system properties. Users typically don't need to see them anyway." ;
	rdfs:label "SP system property" ;
	rdfs:subPropertyOf sp:systemProperty .

sp:templates a rdf:Property , rdfs:Resource ;
	rdfs:comment "Points to a list of TripleTemplates that form the head of a Construct query." ;
	rdfs:domain sp:Construct ;
	rdfs:label "templates" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:systemProperty , sp:templates .

sp:text a rdf:Property , rdfs:Resource ;
	rdfs:comment "Can be attached to sp:Queries to store a textual representation of the query. This can be useful for tools that do not have a complete SPIN Syntax parser available." ;
	rdfs:label "text" ;
	rdfs:range xsd:string ;
	rdfs:subPropertyOf sp:systemProperty , sp:text .

sp:timezone spin:command _:node1a5jqhf0ux94 ;
	spin:constraint _:node1a5jqhf0ux94 ;
	spin:query _:node1a5jqhf0ux94 ;
	spin:returnType xsd:duration ;
	spin:symbol "TIMEZONE" ;
	spin:systemProperty xsd:duration , "TIMEZONE" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the timezone part of ?arg1 as an xsd:dayTimeDuration. Raises an error if there is no timezone." ;
	rdfs:label "timezone" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:timezone , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

sp:tz spin:symbol "TZ" ;
	spin:systemProperty "TZ" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the timezone part of ?arg1 as a simple literal. Returns the empty string if there is no timezone." ;
	rdfs:label "tz" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:tz , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

sp:ucase spin:command _:node1a5jqhf0ux95 ;
	spin:constraint _:node1a5jqhf0ux95 ;
	spin:query _:node1a5jqhf0ux95 ;
	spin:returnType xsd:string ;
	spin:symbol "UCASE" ;
	spin:systemProperty xsd:string , "UCASE" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Converts a string to upper case characters." ;
	rdfs:label "UCASE" ;
	rdfs:seeAlso  ;
	rdfs:subClassOf sp:ucase , spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

sp:unaryMinus spin:command _:node1a5jqhf0ux96 ;
	spin:constraint _:node1a5jqhf0ux96 ;
	spin:query _:node1a5jqhf0ux96 ;
	spin:symbol "-" ;
	spin:systemProperty "-" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the operand ?arg1 with the sign reversed. If ?arg1 is positive, its negative is returned; if it is negative, its positive is returned." ;
	rdfs:label "unary minus" ;
	rdfs:subClassOf sp:unaryMinus , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:unaryPlus spin:command _:node1a5jqhf0ux97 ;
	spin:constraint _:node1a5jqhf0ux97 ;
	spin:query _:node1a5jqhf0ux97 ;
	spin:symbol "+" ;
	spin:systemProperty "+" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Returns the operand ?arg1 with the sign unchanged. Semantically, this operation performs no operation." ;
	rdfs:label "unary plus" ;
	rdfs:subClassOf sp:unaryPlus , spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

sp:uri spin:command _:node1a5jqhf0ux98 ;
	spin:constraint _:node1a5jqhf0ux98 ;
	spin:query _:node1a5jqhf0ux98 ;
	spin:returnType rdfs:Resource ;
	spin:symbol "URI" ;
	spin:systemProperty rdfs:Resource , "URI" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Equivalent to IRI." ;
	rdfs:label "URI" ;
	rdfs:subClassOf sp:uri , spin:Functions , spin:Modules , spl:OntologyFunctions , rdfs:Resource .

sp:using a rdf:Property , rdfs:Resource ;
	rdfs:domain sp:Modify ;
	rdfs:label "using" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:systemProperty , sp:using .

sp:usingNamed a rdf:Property , rdfs:Resource ;
	rdfs:domain sp:Modify ;
	rdfs:label "using named" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:systemProperty , sp:usingNamed .

sp:values a rdf:Property , rdfs:Resource ;
	rdfs:comment "The VALUES block at the end of a query. The object may just be an untyped blank node, i.e. the sp:Values type triple is optional." ;
	rdfs:domain sp:Query ;
	rdfs:label "values" ;
	rdfs:range sp:Values ;
	rdfs:subPropertyOf sp:systemProperty , sp:values .

sp:varName a rdf:Property , rdfs:Resource ;
	rdfs:comment "The name of a Variable." ;
	rdfs:domain sp:Variable ;
	rdfs:label "varName" ;
	rdfs:range xsd:string ;
	rdfs:subPropertyOf sp:systemProperty , sp:varName .

sp:varNames a rdf:Property , rdfs:Resource ;
	rdfs:comment "The names of the variables (xsd:strings) of the variables declared for a VALUES element." ;
	rdfs:domain sp:Values ;
	rdfs:label "var names" ;
	rdfs:range rdf:List ;
	rdfs:subPropertyOf sp:systemProperty , sp:varNames .

sp:variable a rdf:Property , rdfs:Resource ;
	rdfs:comment "The variable of a Bind element." ;
	rdfs:domain sp:Bind ;
	rdfs:label "variable" ;
	rdfs:range sp:Variable ;
	rdfs:subPropertyOf sp:systemProperty , sp:variable .

sp:where a rdf:Property , rdfs:Resource ;
	rdfs:comment "The WHERE clause of a Query." ;
	rdfs:label "where" ;
	rdfs:range sp:ElementList ;
	rdfs:subPropertyOf sp:systemProperty , sp:where .

sp:with a rdf:Property , rdfs:Resource ;
	rdfs:domain sp:Modify ;
	rdfs:label "with" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf sp:systemProperty , sp:with .

sp:year spin:command _:node1a5jqhf0ux99 ;
	spin:constraint _:node1a5jqhf0ux99 ;
	spin:query _:node1a5jqhf0ux99 ;
	spin:returnType xsd:integer ;
	spin:symbol "year" ;
	spin:systemProperty xsd:integer , "year" ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Extracts the year from a date/time literal." ;
	rdfs:label "year" ;
	rdfs:subClassOf sp:year , spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

 a rdfs:Resource , owl:Ontology ;
	rdfs: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." ;
	rdfs:label "SPIN Modeling Vocabulary" ;
	owl:imports  ;
	owl:versionInfo "1.3.1" .

spin:AskTemplate spin:command _:node1a5jqhf0ux1 ;
	spin:constraint _:node1a5jqhf0ux1 ;
	spin:query _:node1a5jqhf0ux1 ;
	a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A SPIN template that wraps an ASK query." ;
	rdfs:label "Ask template" ;
	rdfs:subClassOf spin:AskTemplate , spin:Module , spin:Template , rdfs:Class , rdfs:Resource .

spin:AskTemplates spin:abstract true ;
	spin:systemProperty true ;
	a spin:AskTemplate , spin:Module , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Suggested abstract base class for all AskTemplates." ;
	rdfs:label "Ask templates" ;
	rdfs:subClassOf spin:AskTemplates , spin:Modules , spin:Templates , rdfs:Resource .

spin:Column a rdfs:Class , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "Column" ;
	rdfs:subClassOf spin:Column , rdfs:Resource .

spin:ConstraintViolation a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An object that can be created by spin:constraints to provide information about a constraint violation." ;
	rdfs:label "Constraint violation" ;
	rdfs:subClassOf spin:ConstraintViolation , rdfs:Resource .

spin:ConstructTemplate spin:command _:node1a5jqhf0ux2 ;
	spin:constraint _:node1a5jqhf0ux2 ;
	spin:query _:node1a5jqhf0ux2 ;
	a rdfs:Class , rdfs:Resource ;
	rdfs:label "Construct template" ;
	rdfs:subClassOf spin:ConstructTemplate , spin:Module , spin:Template , rdfs:Class , rdfs:Resource .

spin:ConstructTemplates spin:abstract true ;
	spin:systemProperty true ;
	a spin:ConstructTemplate , spin:Module , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Suggested abstract base class for all ConstructTemplates." ;
	rdfs:label "Construct templates" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , rdfs:Resource .

spin:Function spin:command _:node1a5jqhf0ux3 ;
	spin:constraint _:node1a5jqhf0ux3 ;
	spin:query _:node1a5jqhf0ux3 ;
	a rdfs:Class , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "Function" ;
	rdfs:subClassOf spin:Function , spin:Module , rdfs:Class , rdfs:Resource .

spin:Functions spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "Functions" ;
	rdfs:subClassOf spin:Functions , spin:Modules , rdfs:Resource .

spin:LibraryOntology a rdfs:Class , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "Library ontology" ;
	rdfs:subClassOf spin:LibraryOntology , rdfs:Resource , owl:Ontology .

spin:MagicProperties spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:MagicProperty , spin:Module , rdf:Property , rdfs:Class , rdfs:Resource ;
	rdfs:comment "An abstract superclass that can be used to group all spin:MagicProperty instances under a single parent class." ;
	rdfs:label "Magic properties" ;
	rdfs:subClassOf spin:Functions , spin:MagicProperties , spin:Modules , rdfs:Resource ;
	rdfs:subPropertyOf spin:MagicProperties , spin:systemProperty .

spin:MagicProperty a rdfs:Class , rdfs:Resource ;
	rdfs:label "Magic property" ;
	rdfs:subClassOf spin:Function , spin:MagicProperty , spin:Module , rdf:Property , rdfs:Class , rdfs:Resource .

spin:Module a rdfs:Class , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "Module" ;
	rdfs:subClassOf spin:Module , rdfs:Class , rdfs:Resource .

spin:Modules spin:command _:node1a5jqhf0ux4 ;
	spin:constructor _:node1a5jqhf0ux4 ;
	a rdfs:Class , rdfs:Resource ;
	rdfs:comment "An \"artificial\" parent class for all Functions and Templates." ;
	rdfs:label "Modules" ;
	rdfs:subClassOf spin:Modules , rdfs:Resource .

spin:Rule a rdfs:Class , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "Rule" ;
	rdfs:subClassOf sp:Command , sp:SystemClass , spin:Rule , rdfs:Resource .

spin:RuleProperty a rdfs:Class , rdfs:Resource ;
	rdfs:comment "The metaclass of spin:rule and its subproperties. spin:RuleProperties can have additional metadata attached to them." ;
	rdfs:label "Rule property" ;
	rdfs:subClassOf spin:RuleProperty , rdf:Property , rdfs:Resource .

spin:SelectTemplate spin:command _:node1a5jqhf0ux5 ;
	spin:constraint _:node1a5jqhf0ux5 ;
	spin:query _:node1a5jqhf0ux5 ;
	a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A SPIN template that wraps a SELECT query." ;
	rdfs:label "Select template" ;
	rdfs:subClassOf spin:Module , spin:SelectTemplate , spin:TableDataProvider , spin:Template , rdfs:Class , rdfs:Resource .

spin:SelectTemplates spin:abstract true ;
	spin:systemProperty true ;
	a spin:Module , spin:SelectTemplate , spin:TableDataProvider , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Suggested abstract base class for all SelectTemplates." ;
	rdfs:label "Select templates" ;
	rdfs:subClassOf spin:Modules , spin:SelectTemplates , spin:Templates , rdfs:Resource .

spin:TableDataProvider a rdfs:Class , rdfs:Resource ;
	rdfs: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.""" ;
	rdfs:label "Table data provider" ;
	rdfs:subClassOf spin:TableDataProvider , rdfs:Class , rdfs:Resource .

spin:Template spin:command _:node1a5jqhf0ux6 ;
	spin:constraint _:node1a5jqhf0ux6 ;
	spin:query _:node1a5jqhf0ux6 ;
	a rdfs:Class , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "Template" ;
	rdfs:subClassOf spin:Module , spin:Template , rdfs:Class , rdfs:Resource .

spin:Templates spin:abstract true ;
	spin:systemProperty true ;
	a spin:Module , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Suggested abstract base class for all Templates." ;
	rdfs:label "Templates" ;
	rdfs:subClassOf spin:Modules , spin:Templates , rdfs:Resource .

spin:UpdateTemplate spin:command _:node1a5jqhf0ux7 ;
	spin:constraint _:node1a5jqhf0ux7 ;
	spin:query _:node1a5jqhf0ux7 ;
	a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A SPIN template that has an UPDATE command as its body." ;
	rdfs:label "Update template" ;
	rdfs:subClassOf spin:Module , spin:Template , spin:UpdateTemplate , rdfs:Class , rdfs:Resource .

spin:UpdateTemplates spin:abstract true ;
	spin:systemProperty true ;
	a spin:Module , spin:Template , spin:UpdateTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Suggested abstract base class for all UpdateTemplates." ;
	rdfs:label "Update templates" ;
	rdfs:subClassOf spin:Modules , spin:Templates , spin:UpdateTemplates , rdfs:Resource .

spin:_arg1 sp:systemProperty "arg1" ;
	sp:varName "arg1" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

spin:_arg2 sp:systemProperty "arg2" ;
	sp:varName "arg2" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

spin:_arg3 sp:systemProperty "arg3" ;
	sp:varName "arg3" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

spin:_arg4 sp:systemProperty "arg4" ;
	sp:varName "arg4" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

spin:_arg5 sp:systemProperty "arg5" ;
	sp:varName "arg5" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource .

spin:_this sp:systemProperty "this" ;
	sp:varName "this" ;
	a sp:SystemClass , sp:Variable , rdfs:Resource ;
	rdfs:comment "A system variable representing the current context instance in a rule or constraint." ;
	rdfs:label "_this" .

spin:abstract a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:Module ;
	rdfs:label "abstract" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf spin:abstract , spin:systemProperty .

spin:ask a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs: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.""" ;
	rdfs:label "ask" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spin:ask , rdfs:Resource .

spin:body a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "body" ;
	rdfs:range sp:Command ;
	rdfs:subPropertyOf spin:body , spin:systemProperty .

spin:cachable a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:Function ;
	rdfs:label "cachable" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf spin:cachable , spin:systemProperty .

spin:column a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:TableDataProvider ;
	rdfs:label "column" ;
	rdfs:range spin:Column ;
	rdfs:subPropertyOf spin:column , spin:systemProperty .

spin:columnIndex a rdf:Property , rdfs:Resource ;
	rdfs:comment "The index of a column (from left to right) starting at 0." ;
	rdfs:domain spin:Column ;
	rdfs:label "column index" ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf spin:columnIndex , spin:systemProperty .

spin:columnType a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:Column ;
	rdfs:label "column type" ;
	rdfs:range rdfs:Class ;
	rdfs:subPropertyOf spin:columnType , spin:systemProperty .

spin:columnWidth a rdf:Property , rdfs:Resource ;
	rdfs:comment "The preferred width of the associated Column, for display purposes. Values in pixels (rendering engines may multiply the values depending on resolution)." ;
	rdfs:domain spin:Column ;
	rdfs:label "column width" ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf spin:columnWidth , spin:systemProperty .

spin:command a rdf:Property , rdfs:Resource ;
	rdfs:comment "Can be used to link a resource with a SPARQL query or update request (sp:Command)." ;
	rdfs:label "command" ;
	rdfs:range sp:Command ;
	rdfs:subPropertyOf spin:command .

spin:constraint a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain rdfs:Class ;
	rdfs:label "constraint" ;
	rdfs:subPropertyOf spin:command , spin:constraint , spin:query .

spin:construct a spin:Function , spin:MagicProperty , spin:Module , rdf:Property , rdfs:Class , rdfs:Resource ;
	rdfs: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.""" ;
	rdfs:label "construct" ;
	rdfs:subClassOf spin:Functions , spin:MagicProperties , spin:Modules , spin:construct , rdfs:Resource ;
	rdfs:subPropertyOf spin:construct .

spin:constructor a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain rdfs:Class ;
	rdfs:label "constructor" ;
	rdfs:range spin:Rule ;
	rdfs:subPropertyOf spin:command , spin:constructor .

spin:eval spin:command _:node1a5jqhf0ux100 ;
	spin:constraint _:node1a5jqhf0ux100 ;
	spin:query _:node1a5jqhf0ux100 ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "eval" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spin:eval , rdfs:Resource .

spin:fix a rdf:Property , rdfs:Resource ;
	rdfs:comment "Can be used to link a ConstraintViolation with one or more UPDATE Templates that would help fix the violation." ;
	rdfs:domain spin:ConstraintViolation ;
	rdfs:label "fix" ;
	rdfs:range spin:UpdateTemplate ;
	rdfs:subPropertyOf spin:fix , spin:systemProperty .

spin:imports a rdf:Property , rdfs:Resource , owl:OntologyProperty ;
	rdfs: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." ;
	rdfs:domain owl:Ontology ;
	rdfs:label "imports" ;
	rdfs:range owl:Ontology ;
	rdfs:subPropertyOf spin:imports , spin:systemProperty .

spin:labelTemplate a rdf:Property , rdfs:Resource ;
	rdfs: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.\"" ;
	rdfs:domain spin:Template ;
	rdfs:label "label template" ;
	rdfs:range xsd:string ;
	rdfs:subPropertyOf spin:labelTemplate , spin:systemProperty .

spin:nextRuleProperty a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:RuleProperty ;
	rdfs:label "next rule property" ;
	rdfs:range spin:RuleProperty ;
	rdfs:subPropertyOf spin:nextRuleProperty , spin:systemProperty .

spin:private a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:Module ;
	rdfs:label "private" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf spin:private , spin:systemProperty .

spin:query a rdf:Property , rdfs:Resource ;
	rdfs:comment "Can be used to point from any resource to a Query." ;
	rdfs:label "query" ;
	rdfs:range sp:Query ;
	rdfs:subPropertyOf spin:command , spin:query .

spin:returnType a rdf:Property , rdfs:Resource ;
	rdfs:comment "The return type of a Function, e.g. xsd:string." ;
	rdfs:domain spin:Function ;
	rdfs:label "return type" ;
	rdfs:range rdfs:Class ;
	rdfs:subPropertyOf spin:returnType , spin:systemProperty .

spin:rule a spin:RuleProperty , rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain rdfs:Class ;
	rdfs:label "rule" ;
	rdfs:range spin:Rule ;
	rdfs:subPropertyOf spin:command , spin:rule .

spin:rulePropertyMaxIterationCount a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:RuleProperty ;
	rdfs:label "rule property max iteration count" ;
	rdfs:range xsd:integer ;
	rdfs:subPropertyOf spin:rulePropertyMaxIterationCount , spin:systemProperty .

spin:select a spin:Function , spin:MagicProperty , spin:Module , rdf:Property , rdfs:Class , rdfs:Resource ;
	rdfs: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.""" ;
	rdfs:label "select" ;
	rdfs:subClassOf spin:Functions , spin:MagicProperties , spin:Modules , spin:select , rdfs:Resource ;
	rdfs:subPropertyOf spin:select .

spin:symbol a rdf:Property , rdfs:Resource ;
	rdfs:comment "The symbol of a function, e.g. \"=\" for the eq function." ;
	rdfs:domain spin:Function ;
	rdfs:label "symbol" ;
	rdfs:range xsd:string ;
	rdfs:subPropertyOf spin:symbol , spin:systemProperty .

spin:systemProperty a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:label "system property" ;
	rdfs:subPropertyOf spin:systemProperty .

spin:thisUnbound a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain sp:Construct ;
	rdfs:label "this unbound" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf spin:systemProperty , spin:thisUnbound .

spin:update a rdf:Property , rdfs:Resource ;
	rdfs:comment "Can be used to point from any resource to an Update." ;
	rdfs:label "update" ;
	rdfs:range sp:Update ;
	rdfs:subPropertyOf spin:command , spin:update .

spin:violationPath a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:ConstraintViolation ;
	rdfs:label "violation path" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf spin:systemProperty , spin:violationPath .

spin:violationRoot a rdf:Property , rdfs:Resource ;
	rdfs:comment "The root resource of the violation (often ?this in the constraint body)." ;
	rdfs:domain spin:ConstraintViolation ;
	rdfs:label "violation root" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf spin:systemProperty , spin:violationRoot .

spin:violationSource a rdf:Property , rdfs:Resource ;
	rdfs: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." ;
	rdfs:domain spin:ConstraintViolation ;
	rdfs:label "violation source" ;
	rdfs:range rdfs:Resource ;
	rdfs:subPropertyOf spin:systemProperty , spin:violationSource .

 a spin:LibraryOntology , rdfs:Resource , owl:Ontology ;
	rdfs:comment "A collection of generally useful SPARQL functions (expressed as SPIN functions), and SPIN templates. Also provides a top-level classification of functions, and definitions of the standard SPARQL functions." ;
	rdfs:label "SPIN Standard Library" ;
	owl:imports  ;
	owl:versionInfo "1.3.0" .

spl:AllArguments spin:body _:node1a5jqhf0ux101 ;
	spin:command _:node1a5jqhf0ux118 ;
	spin:constraint _:node1a5jqhf0ux118 ;
	spin:labelTemplate "All spl:Arguments of {?class}" ;
	spin:query _:node1a5jqhf0ux118 ;
	spin:systemProperty _:node1a5jqhf0ux101 , "All spl:Arguments of {?class}" ;
	a spin:Module , spin:SelectTemplate , spin:TableDataProvider , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets a list of all spl:Arguments declared at a given class and its superclasses." ;
	rdfs:label "All arguments" ;
	rdfs:subClassOf spin:Modules , spin:SelectTemplates , spin:Templates , spl:AllArguments , rdfs:Resource .

spl:Argument spin:body _:node1a5jqhf0ux119 ;
	spin:command _:node1a5jqhf0ux201 , _:node1a5jqhf0ux202 , _:node1a5jqhf0ux203 , _:node1a5jqhf0ux204 , _:node1a5jqhf0ux205 ;
	spin:constraint _:node1a5jqhf0ux201 , _:node1a5jqhf0ux202 , _:node1a5jqhf0ux203 , _:node1a5jqhf0ux204 , _:node1a5jqhf0ux205 ;
	spin:labelTemplate "Argument {?predicate} : {?valueType}" ;
	spin:query _:node1a5jqhf0ux201 , _:node1a5jqhf0ux202 , _:node1a5jqhf0ux203 , _:node1a5jqhf0ux204 , _:node1a5jqhf0ux205 ;
	spin:systemProperty _:node1a5jqhf0ux119 , "Argument {?predicate} : {?valueType}" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Provides metadata about an argument of a SPIN Function or Template. Arguments wrap a given rdf:Property (predicate) and specify its value type and whether the argument is optional. When used as spin:constraint, the body of this template will verify that a non-optional value exists and that it has the specified value type. Arguments that have been declared spl:optional true become optional if the type of ?this is spl:UnionTemplate. " ;
	rdfs:label "Argument" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Argument , rdfs:Resource .

spl:Attribute spin:body _:node1a5jqhf0ux206 ;
	spin:command _:node1a5jqhf0ux251 , _:node1a5jqhf0ux252 , _:node1a5jqhf0ux253 , _:node1a5jqhf0ux254 , _:node1a5jqhf0ux255 , _:node1a5jqhf0ux256 ;
	spin:constraint _:node1a5jqhf0ux251 , _:node1a5jqhf0ux252 , _:node1a5jqhf0ux253 , _:node1a5jqhf0ux254 , _:node1a5jqhf0ux255 , _:node1a5jqhf0ux256 ;
	spin:labelTemplate "Attribute {?predicate} : {?valueType} [{?minCount},{?maxCount}]" ;
	spin:query _:node1a5jqhf0ux251 , _:node1a5jqhf0ux252 , _:node1a5jqhf0ux253 , _:node1a5jqhf0ux254 , _:node1a5jqhf0ux255 , _:node1a5jqhf0ux256 ;
	spin:systemProperty _:node1a5jqhf0ux206 , "Attribute {?predicate} : {?valueType} [{?minCount},{?maxCount}]" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment """Defines an \"attribute\" of a class. Attribute definitions bundle common modeling patterns known from object-oriented languages like UML. Each attribute can have min and max cardinality, a value type and a default value. The attribute links a class with one RDF property. This template should be used as spin:constraints on a class to make sure that classes meet the expected cardinalities and valueType constraints.
If a model wants to use spl:defaultValue, then it should instantiate the spl:ConstructDefaultValues as a spin:constructor at some root class, such as rdfs:Resource.""" ;
	rdfs:label "Attribute" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:Attribute , rdfs:Resource .

spl:BooleanFunctions spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "A collection of functions that return a boolean value (true or false)." ;
	rdfs:label "Boolean functions" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:BooleanFunctions , rdfs:Resource .

spl:ConstraintTemplate a rdfs:Class , rdfs:Resource ;
	rdfs:comment "Metaclass for CONSTRUCT templates that create spin:ConstraintViolations and can be used as values of spin:constraint." ;
	rdfs:label "Constraint template" ;
	rdfs:subClassOf spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource .

spl:ConstraintTemplates spin:abstract true ;
	spin:systemProperty true ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Abstract superclass of templates that can be used as spin:constraints. The subclasses are expected to construct spin:ConstraintViolations and use ?this to talk about the instances of the associated class." ;
	rdfs:label "Constraint templates" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , rdfs:Resource .

spl:ConstructDefaultValues spin:body _:node1a5jqhf0ux257 ;
	spin:labelTemplate "Construct default values" ;
	spin:systemProperty _:node1a5jqhf0ux257 , "Construct default values" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "This template can be attached as spin:constructor to a root class such as rdfs:Resource to ensure that SPIN processors assign default values to certain properties. Looks for any templates attached as spin:constraints to the types of ?this and then assigns their declared spl:defaultValues." ;
	rdfs:label "Construct default values" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstructDefaultValues , rdfs:Resource .

spl:CountPropertyConstraintTemplates spin:abstract true ;
	spin:command _:node1a5jqhf0ux282 , _:node1a5jqhf0ux283 ;
	spin:constraint _:node1a5jqhf0ux282 , _:node1a5jqhf0ux283 ;
	spin:query _:node1a5jqhf0ux282 , _:node1a5jqhf0ux283 ;
	spin:systemProperty true ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Abstract superclass of property constraints that compare the number of values with either min or max count." ;
	rdfs:label "Count property constraint templates" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:CountPropertyConstraintTemplates , spl:PropertyConstraintTemplates , rdfs:Resource .

spl:DateFunctions spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "A collection of functions that operate on date/time literals." ;
	rdfs:label "Date functions" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:DateFunctions , rdfs:Resource .

spl:ExistencePropertyPairConstraint spin:body _:node1a5jqhf0ux284 ;
	spin:labelTemplate "The property {?property} must have a value whenever {?otherProperty} has a value" ;
	spin:systemProperty _:node1a5jqhf0ux284 , "The property {?property} must have a value whenever {?otherProperty} has a value" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:label "Existence property pair constraint" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:ExistencePropertyPairConstraint , spl:PropertyConstraintTemplates , spl:PropertyPairConstraintTemplates , rdfs:Resource .

spl:InferDefaultValue spin:body _:node1a5jqhf0ux314 ;
	spin:command _:node1a5jqhf0ux330 , _:node1a5jqhf0ux331 ;
	spin:constraint _:node1a5jqhf0ux330 , _:node1a5jqhf0ux331 ;
	spin:labelTemplate "Default value for {?predicate}: {?defaultValue}" ;
	spin:query _:node1a5jqhf0ux330 , _:node1a5jqhf0ux331 ;
	spin:systemProperty _:node1a5jqhf0ux314 , "Default value for {?predicate}: {?defaultValue}" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Can be used to infer default values for a given subject/predicate combination. This is typically assigned as spin:rule to a class. If ?this does not already have a value for a given property {?predicate}, then this will infer the value {?defaultValue}." ;
	rdfs:label "Infer default value" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:InferDefaultValue , rdfs:Resource .

spl:MathematicalFunctions spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "A collection of functions operating on numbers." ;
	rdfs:label "Mathematical functions" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:MathematicalFunctions , rdfs:Resource .

spl:MiscFunctions spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "A collection of functions that are difficult to categorize." ;
	rdfs:label "Misc functions" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:MiscFunctions , rdfs:Resource .

spl:NonExistencePropertyPairConstraint spin:body _:node1a5jqhf0ux332 ;
	spin:labelTemplate "The property {?property} must have no values as long as {?otherProperty} has none" ;
	spin:systemProperty _:node1a5jqhf0ux332 , "The property {?property} must have no values as long as {?otherProperty} has none" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:label "Non-existence property pair constraint" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:NonExistencePropertyPairConstraint , spl:PropertyConstraintTemplates , spl:PropertyPairConstraintTemplates , rdfs:Resource .

spl:ObjectCountPropertyConstraint spin:body _:node1a5jqhf0ux362 ;
	spin:labelTemplate "The property {?property} must have between {?minCount} and {?maxCount} values" ;
	spin:systemProperty _:node1a5jqhf0ux362 , "The property {?property} must have between {?minCount} and {?maxCount} values" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents a constraint that can be attached to a class to specify that a given property must have between min and max values." ;
	rdfs:label "Object count property constraint" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:CountPropertyConstraintTemplates , spl:ObjectCountPropertyConstraint , spl:PropertyConstraintTemplates , rdfs:Resource .

spl:OntologyFunctions spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "A collection of functions performing ontology-related operations." ;
	rdfs:label "Ontology functions" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , rdfs:Resource .

spl:PropertyConstraintTemplates spin:abstract true ;
	spin:command _:node1a5jqhf0ux398 ;
	spin:constraint _:node1a5jqhf0ux398 ;
	spin:query _:node1a5jqhf0ux398 ;
	spin:systemProperty true ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Abstract superclass of constraint templates that constrain exactly one property." ;
	rdfs:label "Property constraint templates" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:PropertyConstraintTemplates , rdfs:Resource .

spl:PropertyPairConstraintTemplates spin:abstract true ;
	spin:command _:node1a5jqhf0ux399 ;
	spin:constraint _:node1a5jqhf0ux399 ;
	spin:query _:node1a5jqhf0ux399 ;
	spin:systemProperty true ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Abstract base class for templates that take two properties as arguments and establish a relationship between them." ;
	rdfs:label "Property pair constraint templates" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:PropertyConstraintTemplates , spl:PropertyPairConstraintTemplates , rdfs:Resource .

spl:RangePropertyConstraint spin:abstract true ;
	spin:body _:node1a5jqhf0ux400 ;
	spin:command _:node1a5jqhf0ux437 , _:node1a5jqhf0ux438 ;
	spin:constraint _:node1a5jqhf0ux437 , _:node1a5jqhf0ux438 ;
	spin:labelTemplate "Values of {?property} must be within the interval [ {?min} , {?max} ]" ;
	spin:query _:node1a5jqhf0ux437 , _:node1a5jqhf0ux438 ;
	spin:systemProperty _:node1a5jqhf0ux400 , true , "Values of {?property} must be within the interval [ {?min} , {?max} ]" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Represents a constraint that narrows down a property by a minimum and maximum value compared by <= and >=." ;
	rdfs:label "Range property constraint" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:PropertyConstraintTemplates , spl:RangePropertyConstraint , rdfs:Resource .

spl:RegexPropertyConstraint spin:body _:node1a5jqhf0ux439 ;
	spin:command _:node1a5jqhf0ux467 ;
	spin:constraint _:node1a5jqhf0ux467 ;
	spin:labelTemplate "Values of {?property} must match the regular expression {?pattern}" ;
	spin:query _:node1a5jqhf0ux467 ;
	spin:systemProperty _:node1a5jqhf0ux439 , "Values of {?property} must match the regular expression {?pattern}" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:label "Regex property constraint" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:PropertyConstraintTemplates , spl:RegexPropertyConstraint , rdfs:Resource .

spl:RunTestCases spin:body _:node1a5jqhf0ux468 ;
	spin:systemProperty _:node1a5jqhf0ux468 ;
	a spin:Module , spin:SelectTemplate , spin:TableDataProvider , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Runs all spl:TestCases on the current model." ;
	rdfs:label "Run test cases" ;
	rdfs:subClassOf spin:Modules , spin:SelectTemplates , spin:Templates , spl:RunTestCases , rdfs:Resource .

spl:SPINOverview spin:body _:node1a5jqhf0ux504 ;
	spin:labelTemplate "SPIN Overview" ;
	spin:systemProperty _:node1a5jqhf0ux504 , "SPIN Overview" ;
	a spin:Module , spin:SelectTemplate , spin:TableDataProvider , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Finds all constraints and rules attached to classes in the current graph, using spin:constraint, spin:constructor, spin:rule or their sub-properties. The result set will contain the associated class, the predicate, and the SPIN rule." ;
	rdfs:label "SPIN Overview" ;
	rdfs:subClassOf spin:Modules , spin:SelectTemplates , spin:Templates , spl:SPINOverview , rdfs:Resource .

spl:StringFunctions spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "A collection of functions that return strings." ;
	rdfs:label "String functions" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:StringFunctions , rdfs:Resource .

spl:Test-instanceOf-lingualString sp:arg _:node1a5jqhf0ux552 , true ;
	spl:testExpression _:node1a5jqhf0ux552 ;
	spl:testResult true ;
	a spl:TestCase , rdfs:Resource .

spl:Test-instanceOf-rdfsClass sp:arg _:node1a5jqhf0ux553 , true ;
	spl:testExpression _:node1a5jqhf0ux553 ;
	spl:testResult true ;
	a spl:TestCase , rdfs:Resource .

spl:Test-instanceOf-rdfsClass-false sp:arg _:node1a5jqhf0ux554 , false ;
	spl:testExpression _:node1a5jqhf0ux554 ;
	spl:testResult false ;
	a spl:TestCase , rdfs:Resource .

spl:Test-instanceOf-rdfsClassInheritance sp:arg _:node1a5jqhf0ux555 , true ;
	spl:testExpression _:node1a5jqhf0ux555 ;
	spl:testResult true ;
	a spl:TestCase , rdfs:Resource .

spl:Test-instanceOf-rdfsLiteral sp:arg _:node1a5jqhf0ux556 , true ;
	spl:testExpression _:node1a5jqhf0ux556 ;
	spl:testResult true ;
	a spl:TestCase , rdfs:Resource .

spl:Test-instanceOf-rdfsLiteral-false sp:arg _:node1a5jqhf0ux557 , false ;
	spl:testExpression _:node1a5jqhf0ux557 ;
	spl:testResult false ;
	a spl:TestCase , rdfs:Resource .

spl:Test-instanceOf-typedString sp:arg _:node1a5jqhf0ux558 , true ;
	spl:testExpression _:node1a5jqhf0ux558 ;
	spl:testResult true ;
	a spl:TestCase , rdfs:Resource .

spl:Test-instanceOf-typedString-false sp:arg _:node1a5jqhf0ux559 , false ;
	spl:testExpression _:node1a5jqhf0ux559 ;
	spl:testResult false ;
	a spl:TestCase , rdfs:Resource .

spl:Test-instanceOf-untypedString sp:arg _:node1a5jqhf0ux560 , true ;
	spl:testExpression _:node1a5jqhf0ux560 ;
	spl:testResult true ;
	a spl:TestCase , rdfs:Resource .

spl:Test-object-labelOfArgument sp:arg _:node1a5jqhf0ux561 , "Argument" ;
	spl:testExpression _:node1a5jqhf0ux561 ;
	spl:testResult "Argument" ;
	a spl:TestCase , rdfs:Resource .

spl:Test-object-noValue sp:arg _:node1a5jqhf0ux570 ;
	spl:testExpression _:node1a5jqhf0ux570 ;
	a spl:TestCase , rdfs:Resource .

spl:TestCase spin:command _:node1a5jqhf0ux571 , _:node1a5jqhf0ux572 ;
	spin:constraint _:node1a5jqhf0ux571 , _:node1a5jqhf0ux572 ;
	spin:query _:node1a5jqhf0ux571 , _:node1a5jqhf0ux572 ;
	a rdfs:Class , rdfs:Resource ;
	rdfs:comment "A test to verify that a SPIN function or magic property works as expected, and to generate documentation of example uses of the function. Each TestCase consists of a SPARQL function call or an expression that can be executed with spin:eval, and an expected result. The test framework only needs to execute spin:eval on the expression and compare it with the expected result." ;
	rdfs:label "Test case" ;
	rdfs:subClassOf spl:TestCase , rdfs:Resource .

spl:URIFunctions spin:abstract true ;
	spin:systemProperty true ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "A collection of functions that create URI resources." ;
	rdfs:label "URI functions" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:URIFunctions , rdfs:Resource .

spl:UnionTemplate a rdfs:Class , rdfs:Resource ;
	rdfs:comment "This type can be used for templates that serve as the union (or \"collector\") of other templates. Union templates differ from other templates in that all spl:Arguments are optional. This means that union templates can be declared as subclasses of multiple other templates, yet when instantiated, only some of the arguments defined by the superclasses need to be filled in." ;
	rdfs:label "Union template" ;
	rdfs:subClassOf spin:Module , spin:Template , spl:UnionTemplate , rdfs:Class , rdfs:Resource .

spl:UntypedObjectPropertyConstraint spin:body _:node1a5jqhf0ux573 ;
	spin:labelTemplate "Values of {?property} must have a type" ;
	spin:systemProperty _:node1a5jqhf0ux573 , "Values of {?property} must have a type" ;
	a spin:ConstructTemplate , spin:Module , spin:Template , spl:ConstraintTemplate , rdfs:Class , rdfs:Resource ;
	rdfs:comment "A generic SPIN template that can be used to declare a constraint that all values of a given property must have an rdf:type." ;
	rdfs:label "Untyped object property constraint" ;
	rdfs:subClassOf spin:ConstructTemplates , spin:Modules , spin:Templates , spl:ConstraintTemplates , spl:PropertyConstraintTemplates , spl:UntypedObjectPropertyConstraint , rdfs:Resource .

spl:class a rdf:Property , rdfs:Resource ;
	rdfs:label "class" ;
	rdfs:subPropertyOf sp:arg , spl:class .

spl:count a rdf:Property , rdfs:Resource ;
	rdfs:label "count" ;
	rdfs:subPropertyOf sp:arg , spl:count .

spl:defaultValue a rdf:Property , rdfs:Resource ;
	rdfs:label "default value" ;
	rdfs:subPropertyOf sp:arg , spl:defaultValue .

spl:hasArgument spin:body _:node1a5jqhf0ux600 ;
	spin:command _:node1a5jqhf0ux613 ;
	spin:constraint _:node1a5jqhf0ux613 ;
	spin:query _:node1a5jqhf0ux613 ;
	spin:returnType xsd:boolean ;
	spin:systemProperty _:node1a5jqhf0ux600 , xsd:boolean ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks if a given module class (?module) has at least one declared spl:Argument." ;
	rdfs:label "has argument" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:BooleanFunctions , spl:hasArgument , rdfs:Resource .

spl:hasValue spin:body _:node1a5jqhf0ux614 ;
	spin:command _:node1a5jqhf0ux622 , _:node1a5jqhf0ux623 , _:node1a5jqhf0ux624 ;
	spin:constraint _:node1a5jqhf0ux622 , _:node1a5jqhf0ux623 , _:node1a5jqhf0ux624 ;
	spin:query _:node1a5jqhf0ux622 , _:node1a5jqhf0ux623 , _:node1a5jqhf0ux624 ;
	spin:returnType xsd:boolean ;
	spin:systemProperty _:node1a5jqhf0ux614 , xsd:boolean ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given resource (?arg1) has a given value (?arg3) for a given property (?arg2) or one of the sub-properties of it." ;
	rdfs:label "hasValue" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:BooleanFunctions , spl:hasValue , rdfs:Resource .

spl:hasValueOfType spin:body _:node1a5jqhf0ux625 ;
	spin:command _:node1a5jqhf0ux638 , _:node1a5jqhf0ux639 , _:node1a5jqhf0ux640 ;
	spin:constraint _:node1a5jqhf0ux638 , _:node1a5jqhf0ux639 , _:node1a5jqhf0ux640 ;
	spin:query _:node1a5jqhf0ux638 , _:node1a5jqhf0ux639 , _:node1a5jqhf0ux640 ;
	spin:returnType xsd:boolean ;
	spin:systemProperty _:node1a5jqhf0ux625 , xsd:boolean ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given subject (?arg1) has at least one value of a given type (?arg3) for a given property (?arg2) or one of its sub-properties." ;
	rdfs:label "hasValueOfType" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:BooleanFunctions , spl:hasValueOfType , rdfs:Resource .

spl:instance a rdf:Property , rdfs:Resource ;
	rdfs:domain sp:ModuleCall ;
	rdfs:label "instance" ;
	rdfs:subPropertyOf sp:arg , spl:instance .

spl:instanceOf spin:body _:node1a5jqhf0ux641 ;
	spin:command _:node1a5jqhf0ux682 , _:node1a5jqhf0ux683 ;
	spin:constraint _:node1a5jqhf0ux682 , _:node1a5jqhf0ux683 ;
	spin:labelTemplate "{?arg1} instance of {?arg2}" ;
	spin:query _:node1a5jqhf0ux682 , _:node1a5jqhf0ux683 ;
	spin:returnType xsd:boolean ;
	spin:systemProperty _:node1a5jqhf0ux641 , xsd:boolean , "{?arg1} instance of {?arg2}" ;
	a spin:Function , spin:Module , spin:Template , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given resource (?arg1) has a given type (?arg2). In order to fulfill this condition, there must either be a triple ?arg1 rdf:type ?arg2, or ?instance rdf:type ?subClass where ?subClass is a subclass of ?arg2. If the first argument is a literal, then the second argument must be the matching XSD datatype." ;
	rdfs:label "instanceOf" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:BooleanFunctions , spl:instanceOf , rdfs:Resource ;
	owl:versionInfo "Note that in TopBraid this function has been implemented in native Java code, for performance reasons." .

spl:isUntypedLiteral spin:body _:node1a5jqhf0ux684 ;
	spin:command _:node1a5jqhf0ux692 ;
	spin:constraint _:node1a5jqhf0ux692 ;
	spin:query _:node1a5jqhf0ux692 ;
	spin:returnType xsd:boolean ;
	spin:systemProperty _:node1a5jqhf0ux684 , xsd:boolean ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given literal is untyped. This function was introduced because the built-in datatype operand in SPARQL casts untyped literals to xsd:string, making it impossible to check it this way. This function here uses a work-around using sameTerm instead." ;
	rdfs:label "isUntypedLiteral" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:BooleanFunctions , spl:isUntypedLiteral , rdfs:Resource .

spl:max spin:body _:node1a5jqhf0ux693 ;
	spin:command _:node1a5jqhf0ux701 , _:node1a5jqhf0ux702 ;
	spin:constraint _:node1a5jqhf0ux701 , _:node1a5jqhf0ux702 ;
	spin:query _:node1a5jqhf0ux701 , _:node1a5jqhf0ux702 ;
	spin:returnType rdfs:Literal ;
	spin:systemProperty _:node1a5jqhf0ux693 , rdfs:Literal ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Takes two arguments and returns the larger one of them." ;
	rdfs:label "max" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:MathematicalFunctions , spl:max , rdfs:Resource .

spl:maxCount a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf sp:arg , spl:count , spl:maxCount .

spl:min spin:body _:node1a5jqhf0ux703 ;
	spin:command _:node1a5jqhf0ux711 , _:node1a5jqhf0ux712 ;
	spin:constraint _:node1a5jqhf0ux711 , _:node1a5jqhf0ux712 ;
	spin:query _:node1a5jqhf0ux711 , _:node1a5jqhf0ux712 ;
	spin:returnType rdfs:Literal ;
	spin:systemProperty _:node1a5jqhf0ux703 , rdfs:Literal ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Takes two arguments and returns the smaller one of them." ;
	rdfs:label "min" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:MathematicalFunctions , spl:min , rdfs:Resource .

spl:minCount a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf sp:arg , spl:count , spl:minCount .

spl:object spin:body _:node1a5jqhf0ux713 ;
	spin:command _:node1a5jqhf0ux719 , _:node1a5jqhf0ux720 ;
	spin:constraint _:node1a5jqhf0ux719 , _:node1a5jqhf0ux720 ;
	spin:query _:node1a5jqhf0ux719 , _:node1a5jqhf0ux720 ;
	spin:systemProperty _:node1a5jqhf0ux713 ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets the object of a given subject (?arg1) / predicate (?arg2) combination. Note that if multiple values are present then the result might be unpredictably random." ;
	rdfs:label "object" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , spl:object , rdfs:Resource ;
	owl:versionInfo "Note that in TopBraid this function has been implemented in native Java code, for performance reasons." .

spl:objectCount spin:body _:node1a5jqhf0ux721 ;
	spin:command _:node1a5jqhf0ux729 , _:node1a5jqhf0ux730 ;
	spin:constraint _:node1a5jqhf0ux729 , _:node1a5jqhf0ux730 ;
	spin:query _:node1a5jqhf0ux729 , _:node1a5jqhf0ux730 ;
	spin:returnType xsd:integer ;
	spin:systemProperty _:node1a5jqhf0ux721 , xsd:integer ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets the number of values of a given property (?arg2) at a given subject (?arg1). The result is the number of matches of (?arg1, ?arg2, ?object)." ;
	rdfs:label "objectCount" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , spl:objectCount , rdfs:Resource .

spl:objectInGraph spin:body _:node1a5jqhf0ux731 ;
	spin:command _:node1a5jqhf0ux739 , _:node1a5jqhf0ux740 , _:node1a5jqhf0ux741 ;
	spin:constraint _:node1a5jqhf0ux739 , _:node1a5jqhf0ux740 , _:node1a5jqhf0ux741 ;
	spin:query _:node1a5jqhf0ux739 , _:node1a5jqhf0ux740 , _:node1a5jqhf0ux741 ;
	spin:systemProperty _:node1a5jqhf0ux731 ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets the object of a given subject (?arg1) / predicate (?arg2) combination in a given graph ?arg3. Note that if multiple values are present then the result might be unpredictably random." ;
	rdfs:label "object in graph" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , spl:objectInGraph , rdfs:Resource .

spl:objectSubProp spin:body _:node1a5jqhf0ux742 ;
	spin:command _:node1a5jqhf0ux753 , _:node1a5jqhf0ux754 ;
	spin:constraint _:node1a5jqhf0ux753 , _:node1a5jqhf0ux754 ;
	spin:query _:node1a5jqhf0ux753 , _:node1a5jqhf0ux754 ;
	spin:systemProperty _:node1a5jqhf0ux742 ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets the object of a given subject (?arg1) / predicate (?arg2) combination, also taking the sub-properties of ?arg2 into account. Note that if multiple values are present then the result might be unpredictably random." ;
	rdfs:label "object sub prop" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , spl:objectSubProp , rdfs:Resource .

spl:optional a rdf:Property , rdfs:Resource ;
	rdfs:label "optional" ;
	rdfs:range xsd:boolean ;
	rdfs:subPropertyOf sp:arg , spl:optional .

spl:predicate a rdf:Property , rdfs:Resource ;
	rdfs:label "predicate" ;
	rdfs:subPropertyOf sp:arg , spl:predicate .

spl:relevantPropertyAtClass spin:body _:node1a5jqhf0ux755 ;
	spin:command _:node1a5jqhf0ux807 ;
	spin:constraint _:node1a5jqhf0ux807 ;
	spin:query _:node1a5jqhf0ux807 ;
	spin:returnType rdfs:Class ;
	spin:systemProperty _:node1a5jqhf0ux755 , rdfs:Class ;
	a spin:Function , spin:MagicProperty , spin:Module , rdf:Property , rdfs:Class , rdfs:Resource ;
	rdfs:comment """A magic property that establishes a relationship between properties (left) and classes (right) to determine which properties are \"relevant\" for the class. Relevant means that they have the class in their domain and/or restrictions, including superclasses and sub-properties (unless they define their own domain). Domains consisting of an owl:unionOf are also handled.

Note that the performance of the body of this magic property has been optimized for the case in which the class is given, so ideally use this for queries such as  ?property spl:relevantPropertyAtClass skos:Concept .""" ;
	rdfs:label "relevant property at class" ;
	rdfs:subClassOf spin:Functions , spin:MagicProperties , spin:Modules , spl:relevantPropertyAtClass , rdfs:Resource ;
	rdfs:subPropertyOf spl:relevantPropertyAtClass .

spl:subClassOf spin:body _:node1a5jqhf0ux808 ;
	spin:command _:node1a5jqhf0ux812 , _:node1a5jqhf0ux813 ;
	spin:constraint _:node1a5jqhf0ux812 , _:node1a5jqhf0ux813 ;
	spin:query _:node1a5jqhf0ux812 , _:node1a5jqhf0ux813 ;
	spin:returnType xsd:boolean ;
	spin:systemProperty _:node1a5jqhf0ux808 , xsd:boolean ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given class (?arg1) is a (transitive) sub-class of another class (?arg2)." ;
	rdfs:label "sub class of" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , spl:subClassOf , rdfs:Resource .

spl:subPropertyOf spin:body _:node1a5jqhf0ux814 ;
	spin:command _:node1a5jqhf0ux818 , _:node1a5jqhf0ux819 ;
	spin:constraint _:node1a5jqhf0ux818 , _:node1a5jqhf0ux819 ;
	spin:query _:node1a5jqhf0ux818 , _:node1a5jqhf0ux819 ;
	spin:returnType xsd:boolean ;
	spin:systemProperty _:node1a5jqhf0ux814 , xsd:boolean ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Checks whether a given property (?arg1) is a (transitive) sub-property of another property (?arg2)." ;
	rdfs:label "sub property of" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , spl:subPropertyOf , rdfs:Resource .

spl:subject spin:body _:node1a5jqhf0ux820 ;
	spin:command _:node1a5jqhf0ux826 , _:node1a5jqhf0ux827 ;
	spin:constraint _:node1a5jqhf0ux826 , _:node1a5jqhf0ux827 ;
	spin:query _:node1a5jqhf0ux826 , _:node1a5jqhf0ux827 ;
	spin:systemProperty _:node1a5jqhf0ux820 ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets the \"first\" subject of a given predicate (?arg1)/object (?arg2) combination. Note that if multiple values are present then the result might be unpredictably random." ;
	rdfs:label "subject" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , spl:subject , rdfs:Resource .

spl:subjectCount spin:body _:node1a5jqhf0ux828 ;
	spin:command _:node1a5jqhf0ux836 , _:node1a5jqhf0ux837 ;
	spin:constraint _:node1a5jqhf0ux836 , _:node1a5jqhf0ux837 ;
	spin:query _:node1a5jqhf0ux836 , _:node1a5jqhf0ux837 ;
	spin:returnType xsd:integer ;
	spin:systemProperty _:node1a5jqhf0ux828 , xsd:integer ;
	a spin:Function , spin:Module , rdfs:Class , rdfs:Resource ;
	rdfs:comment "Gets the number of values of a given property (?arg1) at a given object (?arg2). The result is the number of matches of (?subject, ?arg1, ?arg2)." ;
	rdfs:label "subjectCount" ;
	rdfs:subClassOf spin:Functions , spin:Modules , spl:OntologyFunctions , spl:subjectCount , rdfs:Resource .

spl:testExpression a rdf:Property , rdfs:Resource ;
	rdfs:label "test expression" ;
	rdfs:subPropertyOf sp:arg , spl:testExpression .

spl:testResult a rdf:Property , rdfs:Resource ;
	rdfs:label "testResult" ;
	rdfs:subPropertyOf sp:arg , spl:testResult .

spl:valueType a rdf:Property , rdfs:Resource ;
	rdfs:label "value type" ;
	rdfs:subPropertyOf sp:arg , spl:valueType .

 a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf  .

rdf:PlainLiteral a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdf:PlainLiteral , rdfs:Resource .

rdf:langString a rdfs:Resource .

rdfs:domain a sp:Path , sp:SystemClass .

xsd:boolean a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , xsd:boolean .

xsd:dateTime a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , xsd:dateTime .

xsd:double a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , xsd:double .

xsd:duration a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , xsd:duration .

xsd:integer a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , xsd:integer .

xsd:long a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , xsd:long .

xsd:string a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , xsd:string .

owl:DeprecatedClass a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , owl:DeprecatedClass .

owl:Ontology a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , owl:Ontology .

owl:OntologyProperty a rdfs:Class , rdfs:Resource ;
	rdfs:subClassOf rdfs:Resource , owl:OntologyProperty .

owl:Restriction a rdfs:Resource .

owl:Thing a rdfs:Resource .

owl:imports a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf owl:imports .

owl:onProperty a rdfs:Resource .

owl:unionOf a sp:Path , sp:SystemClass , rdfs:Resource .

owl:versionInfo a rdf:Property , rdfs:Resource ;
	rdfs:subPropertyOf owl:versionInfo .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .

 a rdfs:Resource .




© 2015 - 2024 Weber Informatics LLC | Privacy Policy