本文整理汇总了PHP中Dataset::getDefaultGraph方法的典型用法代码示例。如果您正苦于以下问题:PHP Dataset::getDefaultGraph方法的具体用法?PHP Dataset::getDefaultGraph怎么用?PHP Dataset::getDefaultGraph使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dataset
的用法示例。
在下文中一共展示了Dataset::getDefaultGraph方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: findTuplesMatchingOnePattern
/**
* Finds Tuples matching one TriplePattern.
*
* @param TriplePattern $pattern
* @param Array $graphlist
* @return Array
*/
protected function findTuplesMatchingOnePattern($pattern, $graphlist)
{
$var = null;
$sub = $pattern->getSubject();
$pred = $pattern->getPredicate();
$obj = $pattern->getObject();
if (is_string($sub) || $sub instanceof BlankNode) {
if (is_string($sub)) {
$var['sub'] = $sub;
}
$sub = null;
}
if (is_string($pred) || $pred instanceof BlankNode) {
if (is_string($pred)) {
$var['pred'] = $pred;
}
$pred = null;
}
if (is_string($obj) || $obj instanceof BlankNode) {
if (is_string($obj)) {
$var['obj'] = $obj;
}
$obj = null;
}
$intBindings = $this->_buildIntBindings($var);
$k = 0;
$key = 0;
// search in named graphs
if ($graphlist['var'][0] != null || $graphlist['list'][0] != null) {
foreach ($graphlist['list'] as $key => $graphnode) {
// query the dataset
$it = $this->dataset->findInNamedGraphs($graphnode, $sub, $pred, $obj, false);
if ($it->valid()) {
// add statements to the result list
while ($it->valid()) {
if ($graphnode == null) {
$element = $it->current()->getStatement();
$grname = $it->current()->getGraphname();
} else {
if ($it->current() instanceof Quad) {
$element = $it->current()->getStatement();
} else {
$element = $it->current();
}
$grname = $graphnode;
}
if ($this->checkIntBindings($element, $intBindings)) {
$resmodel['trip'][$k] = $element;
$resmodel['graph'][$k] = $grname;
// $resmodel['graphvar'][$k] = $graphlist['var'][$key];
$resmodel['graphvar'][$k] = $graphlist['var'][0];
$k++;
}
$it->next();
}
}
}
}
// search in the default graph
if ($graphlist['list'][0] == null && $graphlist['var'][0] == null) {
$gr = $this->dataset->getDefaultGraph();
$res = $gr->find($sub, $pred, $obj);
foreach ($res->triples as $innerkey => $element) {
if ($this->checkIntBindings($element, $intBindings)) {
$resmodel['trip'][$k] = $element;
$resmodel['graph'][$k] = null;
$resmodel['graphvar'][$k] = $graphlist['var'][$key];
$k++;
}
}
}
if ($k == 0) {
return false;
}
return $this->_buildResultSet($pattern, $resmodel);
}