WOQL Class Reference

The JSON-LD definition of the WOQL language.

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.

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')
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')

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')

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')
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')

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')

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.

ArithmeticExpression

An abstract class specifying the AST super-class of all arithemtic expressions. It is a subdocument
Class: ArithmeticExpression

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.

Column

Description pending.
Class: Column

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.

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')

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

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.
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')

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')
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')

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')

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.

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.

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.

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.

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.

Exp

Exponentiate a number.
Class: Exp
Super class: ArithmeticExpression
Properties:
Property
Range
Desc
left
ArithmeticExpression
The base.
right
ArithmeticExpression
The exponent.

Floor

Find the integral part of a number.
Class: Floor
Super class: ArithmeticExpression
Properties:
Property
Range
Desc
argument
ArithmeticExpression
The number to floor.

FormatType

Description pending.
Class: FormatType

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 '*'.

Get

Description pending.
Class: Get
Super class: Query

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.

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.

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.

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.

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.

Indicator

Description pending.
Class: Indicator

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.

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.

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.

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.

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.

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.

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.