def objectify(self, load, node, depth=<NUM_LIT:2>, path=None):
if path is None:<EOL><INDENT>path = set()<EOL><DEDENT>if self.is_object:<EOL><INDENT>if depth < <NUM_LIT:1>:<EOL><INDENT>return<EOL><DEDENT>return self._objectify_object(load, node, depth, path)<EOL><DEDENT>elif self.is_array:<EOL><INDENT>if depth < <NUM_LIT:1>:<EOL><INDENT>return<EOL><DEDENT>return [self.items.objectify(load, node, depth, path)]<EOL><DEDENT>else:<EOL><INDENT>return node<EOL><DEDENT>
Given a node ID, return an object the information available about
        this node. This accepts a loader function as it's first argument, which
        is expected to return all tuples of (predicate, object, source) for
        the given subject.