diff --git a/jsonld.php b/jsonld.php index 5802100..6461aff 100644 --- a/jsonld.php +++ b/jsonld.php @@ -3300,13 +3300,13 @@ class JsonLdProcessor { if(property_exists($input, '@type')) { $type = $input->{'@type'}; // rename @type blank node - if(strpos($type, '_:') === 0) { - $type = $input->{'@type'} = $namer->getName($type); - } - if(!property_exists($graphs->{$graph}, $type)) { - $graphs->{$graph}->{$type} = (object)array('@id' => $type); + if(strpos($type, '_:') === 0) { + $type = $input->{'@type'} = $namer->getName($type); } - } + if(!property_exists($graphs->{$graph}, $type)) { + $graphs->{$graph}->{$type} = (object)array('@id' => $type); + } + } if($list !== null) { $list[] = $input; } @@ -3412,10 +3412,10 @@ class JsonLdProcessor { foreach($objects as $o) { if($property === '@type') { // rename @type blank nodes - $o = (strpos($o, '_:') === 0) ? $namer->getName($o) : $o; - if(!property_exists($graphs->{$graph}, $o)) { - $graphs->{$graph}->{$o} = (object)array('@id' => $o); - } + $o = (strpos($o, '_:') === 0) ? $namer->getName($o) : $o; + if(!property_exists($graphs->{$graph}, $o)) { + $graphs->{$graph}->{$o} = (object)array('@id' => $o); + } } // handle embedded subject or subject reference @@ -3563,7 +3563,7 @@ class JsonLdProcessor { // recurse into subject reference if(self::_isSubjectReference($o)) { $this->_matchFrame( - $state, array($o->{'@id'}), $frame->{$prop}, + $state, array($o->{'@id'}), $frame->{$prop}[0]->{'@list'}, $list, '@list'); } // include other values automatically