for example if you have a /book/foo
resource and its chapters, do not mint a /book/foo/chapters
URI for a hydra:Collection. this practice will spread like wildfire across resources which are not strictly your domain and also pollute the domain identifiers too.
instead simply create the collection identifier once and persist it somewhere along your data, with a link (reference) to the book it belongs to.
I store RDF so I have </book/foo/chapters> ex:book </book/foo>
and use that relation in the queries, thus avoiding the need to explicitly name any resources
an additional benefit is that if you ever change the naming scheme, nothing should break. for example when you migrate from hierarchical URIs like <book/{id}/chapter/{chapter}>
to a flat structure </book/{id}>
and </chapter/{id}>
. the old identifiers should continue to work while the new data has a different naming space
Stream
interface not meant to extend NodeJS.ReadableStream
on object mode (in @types/rdfjs
)? (Refs https://github.com/libero/article-store/pull/64#discussion_r352029306)
1.0
version, but with an experimental message inside, and there doesn't seem to be much tooling.