def parse(cls, resource, direction="children", **additional_parameters) -> "DtsCollection":
        """ Given a dict representation of a json object, generate a DTS Collection

        :param resource:
        :type resource: dict
        :param direction: Direction of the hydra:members value
        :return: DTSCollection parsed
        :rtype: DtsCollection
        """

        data = jsonld.expand(resource)
        if len(data) == 0:
            raise JsonLdCollectionMissing("Missing collection in JSON")
        data = data[0]

        obj = cls(
            identifier=resource["@id"],
            **additional_parameters
        )

        obj._parse_metadata(data)
        obj._parse_members(data, direction=direction, **additional_parameters)

        return obj
Given a dict representation of a json object, generate a DTS Collection

        :param resource:
        :type resource: dict
        :param direction: Direction of the hydra:members value
        :return: DTSCollection parsed
        :rtype: DtsCollection