Expanded Items [module proposal]

Intro

This idea is posted here to get feedback of the Omeka S community. Is this a user story you can relate to? Is the described functionality not already present in an existing Omeka S module? Is the description/requirements clear enough (in order for a developer to work on a module)?

User story

I’d like to request an Item via the API in RDF (in a format I specify, see URI resolving, RDF formats and content-negotiation [module proposal]), including all of the “sub-items”. I think this is somewhat similar to the concept of expansion in REST API’s.

Example

For example, a schema:DataCatalog (Item 1) has zero or more schema:Datasets (Items 2,3), each Dataset has zero of more schema:DataDownloads (Items 4,5). In order, to get a “complete” schema:DataCatalog, I not only want the RDF of Item 1, but also Items 2-5 when I request the “expanded” version of an Item.

Example

Real-world example, see the schema:DataCatalog item https://www.goudatijdmachine.nl/data/api/items/12997 and the the one with all “expanded” sub-items (in Turtle): https://www.goudatijdmachine.nl/data/files/datacatalog.ttl

Note

This user story is NOT about blank nodes. Although a relevant functionality, there’s already a module Nested Data types module for this (albeit not performant and not v4 compatible).