new $k.StructuredQuery(domains)
Constructs structured query
Name | Type | Description |
---|---|---|
domains |
$k.Domain |
optional
The domain or internal name of a type |
- Since:
- 4.1.0 Represents a structured query
Extends
Methods
addAlternativeGroup() : $k.AlternativeGroupCondition
Add an empty alternative condition group (OR group)
- Since:
- 4.2.0
Returns:
Type | Description |
---|---|
$k.AlternativeGroupCondition |
addAttribute(type) : $k.HasAttributeCondition
Add an empty attribute condition without value/cardinality conditions
Name | Type | Description |
---|---|---|
type |
AttributeType or internal name |
- Since:
- 4.1.0
Throws:
Type | Description |
---|---|
$k.exception.ObjectNotFound | If the attribute cannot be found |
$k.exception.TypeError | If the type is not an attribute type |
$k.exception.QueryError | If the condition is not valid |
Returns:
Type | Description |
---|---|
$k.HasAttributeCondition |
addAttributeValue(type, parameter, operator, defaultValue) : $k.AttributeValueCondition
Add an attribute value condition
Name | Type | Description |
---|---|---|
type |
AttributeType or internal name |
|
parameter |
optional
Parameter name of the value |
|
operator |
string |
optional
Name of operator |
defaultValue |
optional
Default value if no parameter is specified |
- Since:
- 4.1.0
Throws:
Type | Description |
---|---|
$k.exception.ObjectNotFound | If the attribute cannot be found |
$k.exception.TypeError | If the type is not an attribute type |
$k.exception.QueryError | If the condition is not valid |
Returns:
Type | Description |
---|---|
$k.AttributeValueCondition |
addCardinality(type, cardinality, operator)
Add a cardinality condition
Name | Type | Description |
---|---|---|
type |
AttributeType or internal name |
|
cardinality |
number |
Cardinality. Must be an integer >= 0. |
operator |
string |
optional
Name of cardinality operator. "Equal cardinality" if not specified |
- Since:
- 4.1.0
Throws:
Type | Description |
---|---|
$k.exception.ObjectNotFound | If the type cannot be found |
$k.exception.TypeError | If the type is not a property type |
$k.exception.QueryError | If the condition is not valid |
Returns:
HasAttribute or HasRelation conditionaddElementsFilter(parameter) : $k.ElementsCondition
Add an element condition. Only elements from the list / parameter are returned.
Name | Type | Description |
---|---|---|
parameter |
Element or array of elements or the name of a parameter to use its value |
- Since:
- 4.1.0
Throws:
Type | Description |
---|---|
$k.exception.TypeError | If neither elements or a parameter was passed |
$k.exception.QueryError | If the condition is not valid |
Returns:
Type | Description |
---|---|
$k.ElementsCondition |
addHandle(parameter) : Condition
Add a handle
Name | Type | Description |
---|---|---|
parameter |
string |
- Version:
- Experimental feature, might be removed at any time
- Since:
- 4.1.0
Returns:
Type | Description |
---|---|
Condition |
addQueryReference(query, operator) : QueryReferenceCondition
References another query that selects elements of this query according to the operator. If $k.Operator.EQUAL or NOT_EQUAL are selected, then the reference works in both directions. If $k.Operator.FILTER is selected, then the subquery is only applied to this query.
Name | Type | Description |
---|---|---|
query |
optional
Referenced query. A new empty query will be referenced if not defined |
|
operator |
string |
optional
An operator that defines how the subquery is applied. One of $k.Operator.EQUAL, NOT_EQUAL, FILTER. Default is FILTER |
- Since:
- 4.1.0
Throws:
Type | Description |
---|---|
$k.exception.QueryError | If the condition is not valid |
Returns:
Type | Description |
---|---|
QueryReferenceCondition | Condition for the subquery |
addRelation(type) : $k.HasRelationCondition
Add an empty relation condition without target/cardinality conditions
Name | Type | Description |
---|---|---|
type |
RelationType or internal name |
- Since:
- 4.1.0
Throws:
Type | Description |
---|---|
$k.exception.ObjectNotFound | If the relation cannot be found |
$k.exception.TypeError | If the type is not an relation type |
$k.exception.QueryError | If the condition is not valid |
Returns:
Type | Description |
---|---|
$k.HasRelationCondition |
addRelationTarget(type, targetQuery) : $k.RelationTargetCondition
Add a relation target condition
Name | Type | Description |
---|---|---|
type |
RelationType or internal name |
|
targetQuery |
optional
Target query. If not specified an empty subquery will be build |
- Since:
- 4.1.0
Throws:
Type | Description |
---|---|
$k.exception.ObjectNotFound | If the relation cannot be found |
$k.exception.TypeError | If the type is not an relation type |
$k.exception.QueryError | If the condition is not valid |
Returns:
Type | Description |
---|---|
$k.RelationTargetCondition | Condition for the relation target |
clone() : $k.StructuredQuery
Returns a copy of the query. The copy can be modified.
- Since:
- 4.1.0
Throws:
Type | Description |
---|---|
$k.exception.QueryError | If the query cannot be cloned |
Returns:
Type | Description |
---|---|
$k.StructuredQuery |
conditions() : Array.<QueryConditon>
Returns the conditions of the query
- Since:
- 4.1.0
Returns:
Type | Description |
---|---|
Array.<QueryConditon> |
domains() : Array.<$k.Domain>
Returns the domains of the query
- Since:
- 4.1.0
Returns:
Type | Description |
---|---|
Array.<$k.Domain> |
inheritance() : boolean
Returns true if elements of subdomains should be returned
- Since:
- 4.1.0
Returns:
Type | Description |
---|---|
boolean |
inverseConditions() : Array.<QueryConditon>
Returns the conditions pointing to this query
- Since:
- 4.1.0
Returns:
Type | Description |
---|---|
Array.<QueryConditon> |
setAlternatives(conditions)
Set the conditions as alternatives (OR group). If <= 1 conditions are passed this will be a no-op.
Name | Type | Description |
---|---|---|
conditions |
Array.<QueryCondition> |
Conditions of this query that should be alternatives |
- Since:
- 4.1.0
- Deprecated
- Use
addAlternativeGroup()
instead
- Use
Throws:
Type | Description |
---|---|
$k.exception.QueryError | If the conditions cannot be alternatives of this query |
$k.exception.TypeError |
setInheritance(useInheritance)
Set to false if elements of subdomains should not be returned
Name | Type | Description |
---|---|---|
useInheritance |
boolean |
- Since:
- 4.1.0