Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Confirm that solid:instanceContainer container contains documents containing instances? #34

Open
josephguillaume opened this issue Aug 29, 2024 · 1 comment

Comments

@josephguillaume
Copy link

The spec says:
"solid:instanceContainer - This predicate maps a type to a Solid container which the client would have to list to get the instances of that type."

My understanding is that this should be interpreted as
"a Solid container containing documents which the client needs to read to get instances of that type."

This interpretation provides an affirmative answer to:
#30 (comment) "A container contains documents, not instances of the given type. So does it mean I have to read all documents contained in the container and consider all instances of the type found in those documents?"

This interpretation is based on:

  1. This seems to be how it is implemented in practice at the moment
  2. The notion that "Linked data is a set of documents" Add predicate to link TypeIndex to TypeRegistrations. #8 (comment)

Additionally, to maintain an open world assumption, it appears that not all the documents in the container are required to contain instances of the registered type.
This may cause surprises, with clients parsing data they do not expect to parse or did not need to parse.
See e.g. NoelDeMartin/media-kraken#34 (comment)

@josephguillaume
Copy link
Author

A counterexample in solidos, where the objects of ldp:contains will directly be of the class defined by solid:forClass.

:photos solid:forClass schema:Image; solid:instanceContainer  ${AlicePhotoFolder} .

https://github.com/SolidOS/solid-logic/blob/efa1982bb7c91373121c723952b8d7b1fc915e4e/test/helpers/dataSetup.ts#L68

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant