public function hydrateResources($options = array()) { if (!array_key_exists('rdf:type', $options)) { throw new MissingOptionsException('Missing key rdf:type in options'); } $resources = $this->graph->allOfType($options['rdf:type']); $collectionUri = uniqid('collection:'); $collection = new Collection($collectionUri, $this->graph); //building collection foreach ($resources as $resource) { $collection->append($resource); } $this->rm->getUnitOfWork()->blackListCollection($collection); foreach ($resources as $resource) { $this->rm->getUnitOfWork()->registerResource($resource); } return $collection; }
/** * @param $graph * @param $className * * @return Collection */ private function extractResources($graph, $className) { $res = $graph->allOfType($className); $collUri = $this->nextCollectionUri(); $this->_rm->getUnitOfWork()->managementBlackList($collUri); $coll = new Collection($collUri, $graph); //building collection foreach ($res as $re) { $coll->append($re); } $this->_rm->getUnitOfWork()->blackListCollection($coll); foreach ($res as $re) { $this->declareResource($re); } return $coll; }