diff --git a/src/Parser/Parser.php b/src/Parser/Parser.php index 86df4c2..70fef26 100644 --- a/src/Parser/Parser.php +++ b/src/Parser/Parser.php @@ -234,7 +234,8 @@ private function parseResource(ResourceInterface $resource): iterable } // parse relationships only for resources not seen before (prevents infinite loop for circular references) - if ($seenBefore === false) { + // or parse top level resource relationships + if ($seenBefore === false || $resource->getPosition()->getLevel() <= ParserInterface::ROOT_LEVEL) { // remember by id and type $this->resourcesTracker[$resource->getId()][$resource->getType()] = true;