This commit contains work-in-progress changes across many files. The main changes include:
introduce a new composable 'graphdata.js' responsible for managing the graph dataset which is currently loaded on app startup and then made available to all components
use rdf.dataset as the graph database, with accompanying functionality
load the RDF-ified penguin dataset from a ttl file as the starting content of the dataset
use rdf.grapois for graph traversal; this still needs much exploration. The main current use case is to find a particular subset of nodes that need to form part of a list for selection inside a InstanceSelector component, based on the sh:Class of the property shape for which the instance selector is rendered. For example, in a 'Distribution' form, when the instance selector for 'Authors' is rendered, it should contain all existing 'Person's in the database that the user might want to select from. This proved challenging with the grapois result of e.g. finding all triple subjects that reference a specific object via a specific predicate depending on how exactly the predicate and object are provided, e.g. as literals with datatype, or as URIs. This needs improved code to make the outcomes robust to changes in how triples exist within the database.
fix a bug in the 'toCURIE' function that previously returned incorrect prefixes for a curie
This commit contains work-in-progress changes across many files. The main changes include: