From dddddb0f4fbcd3cced5acaf9e9a1b3712ff2aa66 Mon Sep 17 00:00:00 2001 From: Dave Longley Date: Mon, 21 Oct 2013 22:45:41 -0400 Subject: [PATCH] Do not relabel blank nodes w/@reverse property. --- jsonld.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/jsonld.php b/jsonld.php index cf92ee3..4c955ab 100644 --- a/jsonld.php +++ b/jsonld.php @@ -3594,10 +3594,17 @@ class JsonLdProcessor { $reverse_map = $input->{'@reverse'}; foreach($reverse_map as $reverse_property => $items) { foreach($items as $item) { + $item_name = null; + if(property_exists($item, '@id')) { + $item_name = $item->{'@id'}; + } + if(self::_isBlankNode($item)) { + $item_name = $namer->getName($item_name); + } + $this->_createNodeMap($item, $graphs, $graph, $namer, $item_name); self::addValue( - $item, $reverse_property, $referenced_node, + $subjects->{$item_name}, $reverse_property, $referenced_node, array('propertyIsArray' => true, 'allowDuplicate' => false)); - $this->_createNodeMap($item, $graphs, $graph, $namer); } } continue;