예제 #1
0
 /**
  * @param $query
  * @param $variable
  * @param $uri
  */
 private function bindVariableAsUri($query, $variable, $criteria)
 {
     if (isset($criteria['uri'])) {
         if (is_string($criteria['uri'])) {
             $criteria['uri'] = array($criteria['uri']);
         }
         foreach ($criteria['uri'] as $uri) {
             $query->andWhere("BIND (<" . $this->_rm->getNamespaceRegistry()->expand($uri) . "> AS {$variable}).");
         }
     }
 }
예제 #2
0
 /**
  * @param $object
  * @param $objectsList
  *
  * @return bool
  */
 private function containsObject($object, $objectsList)
 {
     foreach ($objectsList as $obj) {
         if ($obj['type'] === $object['type']) {
             if ($obj['type'] === 'uri') {
                 $objValue = $this->_rm->getNamespaceRegistry()->shorten($obj['value']) ? $this->_rm->getNamespaceRegistry()->shorten($obj['value']) : $obj['value'];
                 $objectValue = $this->_rm->getNamespaceRegistry()->shorten($object['value']) ? $this->_rm->getNamespaceRegistry()->shorten($object['value']) : $object['value'];
                 if ($objValue === $objectValue) {
                     return true;
                 }
             } elseif ($obj['value'] === $object['value']) {
                 return true;
             }
         }
     }
     return false;
 }