An RDF Schema to syntactically represent SPARQL queries (including SPARQL UPDATE) as RDF triples. SPIN SPARQL Syntax 1.4.0 The base class of SPARQL property path expressions. Paths are used by sp:TriplePath triple paths. Path Marker to indicate ascending order. Asc Represents sum aggregations, e.g. SELECT SUM(?varName)... SUM Union A UNION group. A triple pattern used in the body of a query. Triple pattern A LOAD Update operation. The document to load is specified using sp:document, and the (optional) target graph using sp:into. Load 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. Delete data Marker to indicate descending order. Desc A prototypical triple used as template in the head of a Construct query. May contain variables. Triple template Represents MAX aggregations. MAX Insert 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. Represents AVG aggregations. AVG 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. Modify Element An abstract base class for all pattern elements. 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). Triple path Element group Abstract base class of group patterns. Let Deprecated: use sp:Bind instead. A variable assignment (LET (?<varName> := <expression>)). Not part of the SPARQL 1.0 standard, but (for example) ARQ. A list of Elements. This class is never instantiated directly as SPIN will use plain rdf:Lists to store element lists. Element list Sub query A nested SELECT query inside of an element list. The query is stored in sp:query. Delete 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. Bind A BIND element. Represents MIN aggregations. MIN Optional An optional element in a query. Alt path An alternative path with the union of sp:path1 and sp:path2. 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(*). COUNT A path with reversed direction. Reverse path 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). Construct 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. Variable An ASK query that returns true if the condition in the body is met by at least one result set. Ask A modified path such as rdfs:subClassOf*. Mod path Abstract base class for things that have subject and object. Tuple Create An Update operation that creates a new empty graph with a name specified by sp:graphIRI. May have sp:silent set to true. Aggregation Base class of aggregation types (not part of the SPARQL 1.0 standard but supported by ARQ and other engines). A named Graph element such as GRAPH <uri> {...}. Named graph 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"). Query Reverse link path Not exists A NOT EXISTS element group. Abstract base class to group the various SPARQL UPDATE commands. Update Drop 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. 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. Insert data Delete where An Update operation where the triples matched by the WHERE clause (sp:where) will be the triples deleted. Triple A base class for TriplePattern and TripleTemplate. This basically specifies that subject, predicate and object must be present. A SERVICE call that matches a nested sub-pattern against a SPARQL end point specified by a URI. Service 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. Order by condition A SELECT-type query that returns variable bindings as its result. Select query A constraint element that evaluates a given expression to true or false. Filter Minus A MINUS element group. SP System class 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. Clear 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. Describe A DESCRIBE-type Query. Command A shared superclass for sp:Query and sp:Update that can be used to specify that the range of property can be either one. A sequence of multiple paths. Seq path 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. arg5 The first child path of a property path. Used by sp:AltPath and sp:SeqPath. path1 The first argument of a function call. arg1 default Used in DROP and CLEAR. An RDF Node or Variable describing the object of a triple. object The name (URI or Variable) of a NamedGraph. graph name node The name of a Variable. varName named Used in DROP and CLEAR. as Points to a Variable used in an AS statement such as COUNT aggregates. SP system property An abstract base proprerty that groups together the SP system properties. Users typically don't need to see them anyway. distinct A marker property to indicate that a Select query is of type SELECT DISTINCT. The second child path of a property path. Used by sp:AltPath and sp:SeqPath. path2 order by 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. variable The variable of a Bind element. The forth argument of a function call. arg4 silent Points from a SELECT query to a list of HAVING expressions. having Links a SubQuery resource with the nested Query. query Points from a Query to the list of GROUP BY expressions. group by graph IRI Points to graph names (IRIs) in various sp:Update operations. limit The LIMIT solution modifier of a Query. using templates Points to a list of TripleTemplates that form the head of a Construct query. result nodes Contains the result nodes (URI resources or Variables) of a Describe query. using named The third argument of a function call. arg3 A property with true to indicate that a Select query has a REDUCED flag. reduced The child path of a property path expression. This is used by ReversePath and ModPath. sub path The (optional) target of a LOAD Update operation. into with Used by sp:Service to specify the URI of the SPARQL end point to invoke. Must point to a URI node. service URI The URI of the document to load using a LOAD Update operation. document where The WHERE clause of a Query. An rdf:List of variables that are returned by a Select query. result variables text 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. path Points from a TriplePath to its path. mod max Abstract superproperty for the enumerated arg1, arg2 etc. arg A resource or Variable describing the predicate of a triple. predicate Points to an ElementList, for example in an Optional element. elements node Specifies a named RDF Dataset used by a Query (FROM NAMED syntax in SPARQL). Values of this property must be URI resources. from named The second argument of a function call. arg2 A resource or Variable describing the subject of a triple. subject Points to an expression, for example in a Filter or Assignment. expression delete pattern Points to a list of sp:TripleTemplates and sp:NamedGraphs in a modify operation. all Used in DROP and CLEAR. The OFFSET solution modifier of a Query. offset from Specifies an RDF Dataset used by a Query (FROM syntax in SPARQL). Values of this property must be URI resources. mod min insert pattern Points to a list of sp:TripleTemplates or sp:NamedGraphs in a modify command.