Fwd: Refactoring Alcaeus to use RDFJS Dataset for data model

Forwarding from Hydra CG mailing list

(With corrections)


On 21 January 2020 at 11:00:29, Tomasz Pluskiewicz (tomasz@t-code.pl) wrote:
> Hello Hydra,
>  
> Unfortunately conflicting schedule prevents me from joining the con call this time  
> again.
>  
> However, I would like to share exciting news from my progress of refactoring Alcaeus  
> (Hydra client) to use the DatasetCore [1] as the underlying data model.
>  
> ----
>  
> The current version does some awkward transformations to create a rich JS object model.  
> In the new version, which I now alpha-test as the upcoming v1.0, the internal architecture  
> changes significantly. I completely remove the JSON-LD processing and the underlying  
> data model becomes RDF/JS dataset [1]. This will cause some important changes to what  
> is possible and how representations are stored and processed:
>  
> First, each resource (also ApiDocumentations) will reside in a graph in the in-memory  
> dataset. Previously, resources were completely detached JS objects. Thanks to putting  
> them all in a shared RDF-native, quad structure, they will inherently become connected  
> as the Linked Data they are. So for example, fetching individual members of a collection  
> or its subsequent pages will build-up a larger graph.
>  
> As consequence, all individual representations can be traversed as if they were a single  
> data structure, even though they are retrieved as individual resources.
>  
> Also, because the implementation simply wraps around the RDF/JS standard, any compliant  
> tools can be used to directly access that dataset, either to manipulate the data or add  
> more triples from other sources.
>  
> Finally, the entire dataset can be trivially serialised a quads and restored, for example  
> when the browser page is reloaded. The entire data state of an application can be condensed  
> to the RDF model!
>  
> —
>  
> Those changes will enable previously the awkward or impossible, such as straightforward  
> caching, working with multiple ApiDocumentation or combining vocabularies with resource
> representations.
>  
>  
> Hope you like what you hear. Let me know what you think. I will share more info when I’m done  
> with the alpha version and a beta is released.
>  
> Have a good day,
> Tom
>  
> [1]: https://rdf.js.org/dataset-spec/
>  
>  
>  

Received on Tuesday, 21 January 2020 10:03:26 UTC