예제 #1
0
 /**
  * Queries for all resources pointing to the current one, and declares resources.
  *
  * @param $resource
  */
 private function removeUplinks(BaseResource $resource)
 {
     /** @var Graph $result */
     $result = $this->_rm->createQueryBuilder()->construct('?s a ?t; ?p <' . $resource->getUri() . '>')->where('?s a ?t; ?p <' . $resource->getUri() . '>')->getQuery()->execute();
     $resources = $result->resources();
     /** @var \Conjecto\Nemrod\Resource $re */
     foreach ($resources as $re) {
         $this->registerResource($re);
         foreach ($result->properties($re->getUri()) as $prop) {
             if ($prop !== 'rdf:type') {
                 $re->delete($prop);
             }
         }
     }
 }
예제 #2
0
 /**
  * @param BaseResource $resource
  *
  * @return \Conjecto\Nemrod\Resource
  */
 public function getSnapshot($resource)
 {
     //check if $resource is known by getting type.
     //if uri is not known or result is null, resource is not known
     try {
         $typ = $this->get($resource->getUri(), 'rdf:type');
         if (!$typ) {
             return;
         }
     } catch (Exception $e) {
         return;
     }
     $res = $this->resource($resource->getUri());
     return $res;
 }