load from more than one ttl file
tpluscode opened this issue · 0 comments
I propose to implement the facility for loading graphs from remote locations as a library and a CLI. The crucial part is defining how to define the "imports". SHACL loaned owl:imports
used as a property of the shape itself but it is a little awkward TBH. For the lack other alternatives I thought to go a slightly different route and separate the imports from the actual contents of the graph itself. A blank node found in that graph would define what to load and from where
# namespace TBD
[ :import <https://example.org/shared-pipeline-steps> ] .
<pipeline> a p:Pipeline .
# pipeline steps
Here, the contents of https://example.org/shared-pipeline-steps
could be simply fetched from the web and merged with the local contents.
The library would need to be configurable to allow changing how and where from these graphs would be loaded, including:
node_modules
(needed for #85)- explicit
file:
paths http
links directly from the webhttp
links from SPARQL endpoint (graph store?)- local files by relative resource paths
Implemented as a stream transform could easily be incorporated in many scenarios and would recursively follow :import
. Bottom line the transform would replace any occurrence of a :import
triple with the loaded graph.