--- title: WOQL Class Reference Guide nextjs: metadata: title: WOQL Class Reference Guide description: The JSON-LD definition of the WOQL language openGraph: images: https://assets.terminusdb.com/docs/technical-documentation-terminuscms-og.png alternates: canonical: https://terminusdb.org/docs/woql-class-reference-guide/ media: [] --- ## WOQL Schema This is the WOQL schema. It gives a complete specification of the syntax of the WOQL query language. This allows WOQL queries to be checked for syntactic correctness, helps to prevent errors and detect conflicts in merge of queries, and allows the storage and retrieval of queries so that queries can be associated with data products. **Authored by:** Gavin Mendel-Gleason > Syntax is listed in alphabetical order. {% anchor id="AddData" /%} #### AddData Add a (terminal) edge with a data value. **Class:** `AddData` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `DataValue` | A datatype or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="AddLink" /%} #### AddLink Add an edge which links between nodes in the graph. **Class:** `AddLink` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `NodeValue` | A URI or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="AddTriple" /%} #### AddTriple Specify an edge to add to the graph. **Class:** `AddTriple` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `Value` | A URI, datatype or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="AddedData" /%} #### AddedData Specify an edge pattern with data value which was added in \*this\* commit\*. **Class:** `AddedData` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `DataValue` | A datatype or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="AddedLink" /%} #### AddedLink Specify an edge pattern which links between nodes at \*this\* commit. **Class:** `AddedLink` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `NodeValue` | A URI or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="AddedTriple" /%} #### AddedTriple Specify an edge pattern which was \*added\* at \*this commit\*. **Class:** `AddedTriple` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `Value` | A URI, datatype or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="And" /%} #### And A conjunction of queries which must all have a solution. **Class:** `And` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `and` | `Query` | List of queries which must hold. | * * * {% anchor id="ArithmeticExpression" /%} #### ArithmeticExpression An abstract class specifying the AST super-class of all arithemtic expressions. It is a subdocument **Class:** `ArithmeticExpression` * * * {% anchor id="ArithmeticValue" /%} #### ArithmeticValue A variable or node. It is a subdocument **Class:** `ArithmeticValue` **Super class:** `ArithmeticExpression` **Properties:** | Property | Range | Desc | |----------|-------|------| | `data` | `xsd:anySimpleType` | An xsd data type value. | | `variable` | `xsd:string` | A variable. | * * * {% anchor id="Column" /%} #### Column Description pending. **Class:** `Column` * * * {% anchor id="Concatenate" /%} #### Concatenate Concatenate a list of strings. **Class:** `Concatenate` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `list` | `DataValue` | The list to concatenate. | | `result` | `DataValue` | The result string. | * * * {% anchor id="Count" /%} #### Count Counts the number of solutions of a query. **Class:** `Count` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The query from which to obtain the count. | | `count` | `DataValue` | The count of the number of solutions. | * * * #### Data Specify an edge pattern which is terminal, and provides a data value association. **Class:** `Data` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `DataValue` | A data type or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="DataValue" /%} #### DataValue A variable or node. It is a subdocument **Class:** `DataValue` **Properties:** | Property | Range | Desc | |----------|-------|------| | `data` | `xsd:anySimpleType` | An xsd data type value. | | `variable` | `xsd:string` | A variable. | | `list` | `DataValue` | A list of datavalues | * * * {% anchor id="DeleteDocument" /%} #### DeleteDocument Delete a document from the graph. **Class:** `DeleteDocument` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `identifier` | `NodeValue` | An identifier specifying the documentation location to delete. | * * * {% anchor id="DeleteLink" /%} #### DeleteLink Delete an edge linking nodes. **Class:** `DeleteLink` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. The variable must be bound. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. The variable must be bound. | | `object` | `NodeValue` | A URI or variable which is the target or object of the graph edge. The variable must be bound. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="DeleteTriple" /%} #### DeleteTriple Specify an edge pattern to remove from the graph. **Class:** `DeleteTriple` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `Value` | A URI, datatype or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="DeletedLink" /%} #### DeletedLink An edge pattern specifying a link beween nodes deleted \*at this commit\*. **Class:** `DeletedLink` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `NodeValue` | A URI or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="DeletedTriple" /%} #### DeletedTriple Specify an edge pattern which was \*deleted\* at \*this commit\*. **Class:** `DeletedTriple` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `Value` | A URI, datatype or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="Distinct" /%} #### Distinct Ensure variables listed result in distinct solutions. **Class:** `Distinct` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `variables` | `xsd:string` | The variables which must be distinct from the query. | | `query` | `Query` | The query which will be run prior to selection. | * * * #### Div Integer divide two numbers. **Class:** `Div` **Super class:** `ArithmeticExpression` **Properties:** | Property | Range | Desc | |----------|-------|------| | `left` | `ArithmeticExpression` | First operand of div. | | `right` | `ArithmeticExpression` | Second operand of div. | * * * {% anchor id="Divide" /%} #### Divide Divide two numbers. **Class:** `Divide` **Super class:** `ArithmeticExpression` **Properties:** | Property | Range | Desc | |----------|-------|------| | `left` | `ArithmeticExpression` | First operand of divide. | | `right` | `ArithmeticExpression` | Second operand of divide. | * * * {% anchor id="Dot" /%} #### Dot Extract the value of a key in a bound document. **Class:** `Dot` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `star` | `undefined` | A path patterns. | * * * {% anchor id="Equals" /%} #### Equals True whenever 'left' is the same as 'right'. Performs unification. **Class:** `Equals` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `child` | `undefined` | A URI, data value or variable. | | `parent` | `undefined` | A URI, data value or variable. | * * * {% anchor id="Eval" /%} #### Eval Evaluate an arithmetic expression to obtain a result. **Class:** `Eval` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `expression` | `ArithmeticExpression` | The expression to be evaluated. | | `result` | `ArithmeticValue` | The numeric result. | * * * {% anchor id="Exp" /%} #### Exp Exponentiate a number. **Class:** `Exp` **Super class:** `ArithmeticExpression` **Properties:** | Property | Range | Desc | |----------|-------|------| | `left` | `ArithmeticExpression` | The base. | | `right` | `ArithmeticExpression` | The exponent. | * * * {% anchor id="Floor" /%} #### Floor Find the integral part of a number. **Class:** `Floor` **Super class:** `ArithmeticExpression` **Properties:** | Property | Range | Desc | |----------|-------|------| | `argument` | `ArithmeticExpression` | The number to floor. | * * * {% anchor id="FormatType" /%} #### FormatType Description pending. **Class:** `FormatType` * * * {% anchor id="From" /%} #### From Change the default read graph (between instance/schema). **Class:** `From` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The subquery with a new default graph. | | `graph_filter` | `xsd:string` | The graph filter: 'schema' or 'instance' or '\*'. | * * * {% anchor id="Get" /%} #### Get Description pending. **Class:** `Get` **Super class:** `Query` * * * {% anchor id="Greater" /%} #### Greater Predicate determining if one thing is greater than another according to natural ordering. **Class:** `Greater` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `left` | `DataValue` | The greater element. | | `right` | `DataValue` | The lesser element. | * * * {% anchor id="GroupBy" /%} #### GroupBy Group a query into a list with each element of the list specified by 'template' using a given variable set for the group. **Class:** `GroupBy` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `template` | `xsd:string` | The template of elements in the result list. | | `group_by` | `xsd:string` | The variables which should be grouped into like solutions. | | `query` | `Query` | The subquery providing the solutions for the grouping. | | `grouped` | `Value` | The final list of templated solutions. | * * * {% anchor id="HashKey" /%} #### HashKey Generates a key identical to those generated automatically by 'HashKey' specifications. **Class:** `HashKey` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `base` | `DataValue` | The URI base to the left of the key. | | `key_list` | `DataValue` | List of data elements required to generate the key. | | `uri` | `NodeValue` | The resulting URI. | * * * {% anchor id="If" /%} #### If A conditional which runs the then clause for every success from the test clause, otherwise runs the else clause. **Class:** `If` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `test` | `Query` | A query which will provide bindings for the then clause. | | `then` | `Query` | A query which will run for every solution of test with associated bindings. | | `else` | `Query` | A query which runs whenever test fails. | * * * {% anchor id="Immediately" /%} #### Immediately Attempts to perform all side-effecting operations immediately. Can have strange non-backtracking effects but can also increase performance. Use at your own risk. **Class:** `Immediately` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The query from which to obtain the side-effects. | * * * {% anchor id="Indicator" /%} #### Indicator Description pending. **Class:** `Indicator` * * * {% anchor id="Into" /%} #### Into Change the default write graph (between instance/schema). **Class:** `Into` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The subquery with a new default write graph. | | `graph` | `xsd:string` | The graph filter: schema or instance. | * * * {% anchor id="InversePathPredicate" /%} #### InversePathPredicate A predicate to traverse \*backwards\*. **Class:** `InversePathPredicate` **Super class:** `PathPattern` **Properties:** | Property | Range | Desc | |----------|-------|------| | `predicate` | `xsd:string` | The predicate to use in reverse direction in the pattern traversal. | * * * {% anchor id="IsA" /%} #### IsA Test (or generate) the type of an element. **Class:** `IsA` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `element` | `NodeValue` | The element to test. | | `type` | `NodeValue` | The type of the element. | * * * {% anchor id="Join" /%} #### Join Join a list of strings using 'separator'. **Class:** `Join` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `list` | `DataValue` | The list to concatenate. | | `separator` | `DataValue` | The separator between each joined string | | `result` | `DataValue` | The result string. | * * * {% anchor id="Length" /%} #### Length The length of a list. **Class:** `Length` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `list` | `DataValue` | The list of which to find the length. | | `length` | `DataValue` | The length of the list. | * * * {% anchor id="Less" /%} #### Less Predicate determining if one thing is less than another according to natural ordering. **Class:** `Less` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `left` | `DataValue` | The lesser element. | | `right` | `DataValue` | The greater element. | * * * {% anchor id="LexicalKey" /%} #### LexicalKey Generates a key identical to those generated automatically by 'LexicalKey' specifications. **Class:** `LexicalKey` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `base` | `DataValue` | The URI base to the left of the key. | | `key_list` | `DataValue` | List of data elements required to generate the key. | | `uri` | `NodeValue` | The resulting URI. | * * * {% anchor id="Like" /%} #### Like Distance between strings, similar to a Levenstein distance. **Class:** `Like` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `left` | `DataValue` | The first string. | | `right` | `DataValue` | The second string. | | `similarity` | `DataValue` | Number between -1 and 1 which gives a scale for similarity. | * * * {% anchor id="Limit" /%} #### Limit Limit a query to a particular maximum number of solutions specified by 'limit'. Can be used with start to perform paging. **Class:** `Limit` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The query to perform. | | `limit` | `xsd:nonNegativeInteger` | Maximum number of solutions. | * * * {% anchor id="Link" /%} #### Link Specify an edge pattern which is not terminal, but a link between objects. **Class:** `Link` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `NodeValue` | A URI or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="Lower" /%} #### Lower Lowercase a string. **Class:** `Lower` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `mixed` | `DataValue` | The mixed case string. | | `uppser` | `undefined` | The lower case string. | * * * {% anchor id="Member" /%} #### Member Generate or test every element of a list. **Class:** `Member` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `member` | `DataValue` | The element to test for membership or to supply as generated. | | `list` | `DataValue` | The list of elements against which to generate or test. | * * * {% anchor id="Minus" /%} #### Minus Subtract two numbers. **Class:** `Minus` **Super class:** `ArithmeticExpression` **Properties:** | Property | Range | Desc | |----------|-------|------| | `left` | `ArithmeticExpression` | First operand of minus. | | `right` | `ArithmeticExpression` | Second operand of minus. | * * * {% anchor id="NamedParametricQuery" /%} #### NamedParametricQuery A named parametric query which names a specific query for later retrieval and re-use and allows the specification of bindings for a specific set of variables in the query. **Class:** `NamedParametricQuery` **Properties:** | Property | Range | Desc | |----------|-------|------| | `name` | `xsd:string` | The name of the NamedParametricQuery to be retrieved. | | `parameters` | `xsd:string` | Variable name list for auxilliary bindings. | | `query` | `Query` | The query AST as WOQL JSON. | * * * {% anchor id="NamedQuery" /%} #### NamedQuery A named query names a specific query for later retrieval and re-use. **Class:** `NamedQuery` **Properties:** | Property | Range | Desc | |----------|-------|------| | `name` | `xsd:string` | The name of the NamedQuery to be retrieved | | `query` | `Query` | The query AST as WOQL JSON | * * * {% anchor id="NodeValue" /%} #### NodeValue A variable or node. It is a subdocument **Class:** `NodeValue` **Properties:** | Property | Range | Desc | |----------|-------|------| | `node` | `xsd:string` | A URI representing a resource. | | `variable` | `xsd:string` | A variable. | * * * {% anchor id="Not" /%} #### Not The negation of a query. Provides no solution bindings, but will succeed if its sub-query fails. **Class:** `Not` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The query which must not hold. | * * * {% anchor id="Once" /%} #### Once Obtains exactly one solution from a query. Simliar to a limit of 1. **Class:** `Once` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The query from which to obtain a solution. | * * * {% anchor id="Optional" /%} #### Optional A query which will succeed (without bindings) even in the case of failure. **Class:** `Optional` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The query to run. | * * * {% anchor id="Or" /%} #### Or A disjunction of queries any of which can provide a solution. **Class:** `Or` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `or` | `Query` | List of queries which may hold. | * * * {% anchor id="Order" /%} #### Order Description pending. **Class:** `Order` * * * {% anchor id="OrderBy" /%} #### OrderBy Orders query results according to an ordering specification. **Class:** `OrderBy` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The base query giving the solutions to order. | | `ordering` | `OrderTemplate` | A specification of the ordering of solutions. | * * * {% anchor id="OrderTemplate" /%} #### OrderTemplate The order template, consisting of the variable and ordering direction. It is a subdocument **Class:** `OrderTemplate` **Properties:** | Property | Range | Desc | |----------|-------|------| | `order` | `Order` | An enum either 'asc' or 'desc'. | | `variable` | `xsd:string` | The variable to order. | * * * {% anchor id="Pad" /%} #### Pad Pad a string. **Class:** `Pad` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `string` | `DataValue` | The starting string. | | `char` | `DataValue` | The padding character. | | `times` | `DataValue` | The number of times to repeat the padding character. | | `result` | `DataValue` | The result of the padding as a string. | * * * {% anchor id="Path" /%} #### Path Find a path through the graph according to 'pattern'. This 'pattern' is a regular graph expression which avoids cycles. **Class:** `Path` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `Value` | The starting node. | | `pattern` | `PathPattern` | The pattern which describes how to traverse edges. | | `object` | `Value` | The ending node. | | `path` | `Value` | An optional list of edges traversed. | * * * {% anchor id="PathOr" /%} #### PathOr A set of patterns in which each of the patterns can result in objects starting from our current subject set. **Class:** `PathOr` **Super class:** `PathPattern` **Properties:** | Property | Range | Desc | |----------|-------|------| | `or` | `PathPattern` | A disjunction of path patterns. | * * * {% anchor id="PathPattern" /%} #### PathPattern Description pending. **Class:** `PathPattern` * * * {% anchor id="PathPlus" /%} #### PathPlus The path pattern specified by 'plus' must hold one or more times in succession. **Class:** `PathPlus` **Super class:** `PathPattern` **Properties:** | Property | Range | Desc | |----------|-------|------| | `plus` | `PathPattern` | A path patterns. | * * * {% anchor id="PathPredicate" /%} #### PathPredicate A predicate to traverse. **Class:** `PathPredicate` **Super class:** `PathPattern` **Properties:** | Property | Range | Desc | |----------|-------|------| | `predicate` | `xsd:string` | The predicate to use in the pattern traversal. | * * * {% anchor id="PathSequence" /%} #### PathSequence A sequence of patterns in which each of the patterns in the list must result in objects which are subjects of the next pattern in the list. **Class:** `PathSequence` **Super class:** `PathPattern` **Properties:** | Property | Range | Desc | |----------|-------|------| | `sequence` | `PathPattern` | A sequence of path patterns. | * * * {% anchor id="PathStar" /%} #### PathStar The path pattern specified by 'star' may hold zero or more times in succession. **Class:** `PathStar` **Super class:** `PathPattern` **Properties:** | Property | Range | Desc | |----------|-------|------| | `star` | `PathPattern` | A path patterns. | * * * {% anchor id="PathTimes" /%} #### PathTimes The path pattern specified by 'times' may hold 'from' to 'to' times in succession. **Class:** `PathTimes` **Super class:** `PathPattern` **Properties:** | Property | Range | Desc | |----------|-------|------| | `star` | `undefined` | A path patterns. | * * * {% anchor id="Plus" /%} #### Plus Add two numbers. **Class:** `Plus` **Super class:** `ArithmeticExpression` **Properties:** | Property | Range | Desc | |----------|-------|------| | `left` | `ArithmeticExpression` | First operand of add. | | `right` | `ArithmeticExpression` | Second operand of add. | * * * {% anchor id="Put" /%} #### Put Description pending. **Class:** `Put` **Super class:** `Query` * * * {% anchor id="Query" /%} #### Query An abstract class which represents an arbitrary query AST. It is a subdocument **Class:** `Query` * * * {% anchor id="QueryResource" /%} #### QueryResource Description pending. **Class:** `QueryResource` * * * {% anchor id="RandomKey" /%} #### RandomKey Generates a key identical to those generated automatically by 'RandomKey' specifications. **Class:** `RandomKey` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `base` | `DataValue` | The URI base to the left of the key. | | `uri` | `NodeValue` | The resulting URI. | * * * {% anchor id="ReadDocument" /%} #### ReadDocument Read a full document from an identifier. **Class:** `ReadDocument` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `document` | `DataValue` | Variable which will be bound to the document. | | `identifier` | `NodeValue` | The URI of the document to load. | * * * {% anchor id="Regexp" /%} #### Regexp Test a string against a PCRE style regex pattern. **Class:** `Regexp` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `pattern` | `DataValue` | The PCRE style pattern. | | `string` | `DataValue` | The string to test. | | `result` | `DataValue` | An optional result list of matches. | * * * {% anchor id="Select" /%} #### Select Select specific variables from a query to return. **Class:** `Select` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `variables` | `xsd:string` | The variables to select from the query. | | `query` | `Query` | The query which will be run prior to selection. | * * * {% anchor id="Size" /%} #### Size Size of a database in magic units (bytes?). **Class:** `Size` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `resource` | `xsd:string` | The resource to obtain the size of. | | `size` | `DataValue` | The size. | * * * {% anchor id="Source" /%} #### Source Description pending. **Class:** `Source` * * * {% anchor id="Split" /%} #### Split Split a string. **Class:** `Split` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `string` | `DataValue` | The starting string. | | `pattern` | `DataValue` | The splitting pattern. | | `list` | `DataValue` | The result list of strings. | * * * {% anchor id="Start" /%} #### Start Start a query at the nth solution specified by 'start'. Allows resumption and paging of queries. **Class:** `Start` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `query` | `Query` | The query to perform. | | `start` | `xsd:nonNegativeInteger` | The numbered solution to start at. | * * * {% anchor id="Substring" /%} #### Substring Finds the boundaries of a substring in a string. **Class:** `Substring` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `string` | `DataValue` | The super-string as data or variable. | | `substring` | `DataValue` | The super-string as data or variable. | | `length` | `DataValue` | The length of the string as an integer or variable. | | `before` | `DataValue` | The count of characters before substring as an integer or variable. | | `after` | `DataValue` | The count of characters after substring as an integer or variable. | * * * {% anchor id="Subsumption" /%} #### Subsumption Provides class subsumption (the inheritance model) according to the schema design. True whenver 'child' is a child of 'parent'. Can be used as a generator or a check. **Class:** `Subsumption` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `child` | `NodeValue` | The child class as a URI or variable. | | `parent` | `NodeValue` | The parent class as a URI or variable | * * * {% anchor id="Sum" /%} #### Sum Sum a list of strings. **Class:** `Sum` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `list` | `DataValue` | The list of numbers to sum. | | `result` | `DataValue` | The result of the sum as a number. | * * * {% anchor id="Trim" /%} #### Trim Trims whitespace from 'untrimmed'. **Class:** `Trim` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `untrimmed` | `DataValue` | The untrimmed string. | | `trimmed` | `DataValue` | The string to be trimmed. | * * * {% anchor id="Triple" /%} #### Triple Specify an edge pattern in the graph. **Class:** `Triple` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `subject` | `NodeValue` | A URI or variable which is the source or subject of the graph edge. | | `predicate` | `NodeValue` | A URI or variable which is the edge-label or predicate of the graph edge. | | `object` | `Value` | A URI, datatype or variable which is the target or object of the graph edge. | | `graph` | `xsd:string` | An optional graph (either 'instance' or 'schema') | * * * {% anchor id="TripleCount" /%} #### TripleCount The number of edges in a database. **Class:** `TripleCount` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `resource` | `xsd:string` | The resource to obtain the edges from. | | `count` | `DataValue` | The count of edges. | * * * {% anchor id="True" /%} #### True The query which is always true. **Class:** `True` **Super class:** `Query` * * * {% anchor id="Typecast" /%} #### Typecast Casts one type as another if possible. **Class:** `Typecast` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `value` | `Value` | The value to cast. | | `type` | `NodeValue` | The type to which to cast. | | `result` | `Value` | The resulting value after cast. | * * * {% anchor id="UpdateDocument" /%} #### UpdateDocument Update a document in the graph. **Class:** `UpdateDocument` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `document` | `DataValue` | The document to update. Must either have an '@id' or have a class specified key. | | `identifier` | `NodeValue` | An optional returned identifier specifying the documentation location. | * * * {% anchor id="Upper" /%} #### Upper Uppercase a string. **Class:** `Upper` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `mixed` | `DataValue` | The mixed case string. | | `uppser` | `undefined` | The upper case string. | * * * {% anchor id="Using" /%} #### Using Select a specific collection for query. **Class:** `Using` **Super class:** `Query` **Properties:** | Property | Range | Desc | |----------|-------|------| | `collection` | `xsd:string` | The resource over which to run the query. | | `query` | `Query` | The query which will be run on the selected collection. | * * * {% anchor id="Value" /%} #### Value A variable, node or data point. It is a subdocument **Class:** `Value` **Properties:** | Property | Range | Desc | |----------|-------|------| | `node` | `xsd:string` | A URI representing a resource. | | `variable` | `xsd:string` | A variable. | | `list` | `Value` | A list of datavalues | | `data` | `xsd:anySimpleType` | An xsd data type value. |