Semantic MediaWiki and related extensions
Public Member Functions | Protected Member Functions | List of all members
SMW\SPARQLStore\QueryEngine\ConditionBuilder Class Reference

Public Member Functions

 __construct (DescriptionInterpreterFactory $descriptionInterpreterFactory, EngineOptions $engineOptions=null)
 
 setResultVariable ( $resultVariable)
 
 getNextVariable ( $prefix='v')
 
 setSortKeys ( $sortKeys)
 
 getSortKeys ()
 
 getErrors ()
 
 addError ( $error, $type=Message::TEXT)
 
 setCircularReferenceGuard (CircularReferenceGuard $circularReferenceGuard)
 
 getCircularReferenceGuard ()
 
 setHierarchyLookup (HierarchyLookup $hierarchyLookup)
 
 getHierarchyLookup ()
 
 setJoinVariable ( $joinVariable)
 
 getJoinVariable ()
 
 setOrderByProperty ( $orderByProperty)
 
 getOrderByProperty ()
 
 getConditionFrom (Description $description)
 
 mapDescriptionToCondition (Description $description)
 
 convertConditionToString (Condition &$condition)
 
 newTrueCondition ( $joinVariable, $orderByProperty)
 
 tryToFindRedirectVariableForDataItem (DataItem $dataItem=null)
 
 isSetFlag ( $featureFlag)
 
 addOrderByDataForProperty (Condition &$sparqlCondition, $mainVariable, $orderByProperty, $diType=DataItem::TYPE_NOTYPE)
 
 addOrderByData (Condition &$condition, $mainVariable, $diType)
 

Protected Member Functions

 addMissingOrderByConditions (Condition &$condition)
 

Detailed Description

Build an internal representation for a SPARQL condition from individual query descriptions

GNU GPL v2+

Since
2.0
Author
Markus Krötzsch
mwjames

Constructor & Destructor Documentation

◆ __construct()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::__construct ( DescriptionInterpreterFactory  $descriptionInterpreterFactory,
EngineOptions  $engineOptions = null 
)
Since
2.2
Parameters
DescriptionInterpreterFactory$descriptionInterpreterFactory
EngineOptions | null$engineOptions

Member Function Documentation

◆ addError()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::addError (   $error,
  $type = Message::TEXT 
)
Since
2.2
Parameters
string$error

◆ addMissingOrderByConditions()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::addMissingOrderByConditions ( Condition $condition)
protected

Extend the given Condition with additional conditions to ensure that it can be ordered by all requested properties. After this operation, every key in sortKeys is assigned to a query variable by $sparqlCondition->orderVariables.

Parameters
Condition$conditioncondition to modify

◆ addOrderByData()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::addOrderByData ( Condition $condition,
  $mainVariable,
  $diType 
)

Extend the given SPARQL condition by a suitable order by variable, possibly adding conditions if required for the type of data.

Parameters
Condition$sparqlConditioncondition to modify
string$mainVariablethe variable that represents the value to be ordered
integer$diTypeDataItem type id

◆ addOrderByDataForProperty()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::addOrderByDataForProperty ( Condition $sparqlCondition,
  $mainVariable,
  $orderByProperty,
  $diType = DataItem::TYPE_NOTYPE 
)

Extend the given SPARQL condition by a suitable order by variable, if an order by property is set.

Parameters
Condition$sparqlConditioncondition to modify
string$mainVariablethe variable that represents the value to be ordered
mixed$orderByPropertyDIProperty or null
integer$diTypeDataItem type id if known, or DataItem::TYPE_NOTYPE to determine it from the property

◆ convertConditionToString()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::convertConditionToString ( Condition $condition)

Build the condition (WHERE) string for a given Condition. The function also expresses the single value of SingletonCondition objects in the condition, which may lead to additional namespaces for serializing its URI.

Parameters
Condition$condition
Returns
string

◆ getCircularReferenceGuard()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::getCircularReferenceGuard ( )
Since
2.2
Returns
CircularReferenceGuard

◆ getConditionFrom()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::getConditionFrom ( Description  $description)

Get a Condition object for a Description.

This conversion is implemented by a number of recursive functions, and this is the main entry point for this recursion. In particular, it resets global variables that are used for the construction.

If property value variables should be recorded for ordering results later on, the keys of the respective properties need to be given in sortKeys earlier.

Parameters
Description$description
Returns
Condition

◆ getErrors()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::getErrors ( )
Since
2.2
Returns
array

◆ getHierarchyLookup()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::getHierarchyLookup ( )
Since
2.3
Returns
HierarchyLookup

◆ getJoinVariable()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::getJoinVariable ( )
Since
2.2
Returns
string

◆ getNextVariable()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::getNextVariable (   $prefix = 'v')

Get a fresh unused variable name for building SPARQL conditions.

Returns
string

◆ getOrderByProperty()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::getOrderByProperty ( )
Since
2.2
Returns
DIProperty|null

◆ getSortKeys()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::getSortKeys ( )
Since
2.1
Returns
array

◆ isSetFlag()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::isSetFlag (   $featureFlag)
Since
2.3
Parameters
integer$featureFlag
Returns
boolean

◆ mapDescriptionToCondition()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::mapDescriptionToCondition ( Description  $description)

Recursively create a Condition from a Description

Parameters
Description$description
Returns
Condition

◆ newTrueCondition()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::newTrueCondition (   $joinVariable,
  $orderByProperty 
)

Create an Condition from an empty (true) description. May still require helper conditions for ordering.

Parameters
$joinVariablestring name, see mapDescriptionToCondition()
$orderByPropertymixed DIProperty or null, see mapDescriptionToCondition()
Returns
Condition

◆ setCircularReferenceGuard()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::setCircularReferenceGuard ( CircularReferenceGuard  $circularReferenceGuard)
Since
2.2
Parameters
CircularReferenceGuard$circularReferenceGuard

◆ setHierarchyLookup()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::setHierarchyLookup ( HierarchyLookup  $hierarchyLookup)
Since
2.3
Parameters
HierarchyLookup$hierarchyLookup

◆ setJoinVariable()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::setJoinVariable (   $joinVariable)
Since
2.2
Parameters
string$joinVariablename of the variable that conditions will refer to

◆ setOrderByProperty()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::setOrderByProperty (   $orderByProperty)
Since
2.2
Parameters
DIProperty | null$orderByPropertyif given then this is the property the values of which this condition will refer to, and the condition should also enable ordering by this value

◆ setResultVariable()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::setResultVariable (   $resultVariable)
Since
2.0
Parameters
string$resultVariable

◆ setSortKeys()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::setSortKeys (   $sortKeys)
Since
2.0
Parameters
array$sortKeys

◆ tryToFindRedirectVariableForDataItem()

SMW\SPARQLStore\QueryEngine\ConditionBuilder::tryToFindRedirectVariableForDataItem ( DataItem  $dataItem = null)
Since
2.3
Parameters
DataItem | null$dataItem
Returns
string|null

The documentation for this class was generated from the following file:

About | General disclaimer | Privacy policy