当前位置: 首页>>代码示例>>PHP>>正文


PHP Dataset::getDefaultGraph方法代码示例

本文整理汇总了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);
 }
开发者ID:p4535992,项目名称:programate,代码行数:83,代码来源:SparqlEngine.php


注:本文中的Dataset::getDefaultGraph方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。