For now I have my extracted information loaded into a mongodb and then virtualized using an SMS2 GraphQL mapping. So far so good - it works. Once written data will not changing over time but it needs to be mapped to some other materialized (or virtual) graphs.
So I would like to bypass mongodb altogether and leverage the SMS2 GaraphQL mapping to load JSON documents into a materialized (i.e. default) graph.
Can I do that from my Python code via an HTTP POST api?
Radu,
For the time being, the HTTP API to load JSON files is not stabilized. You should call out to stardog-admin virtual import from your Python script.
We are planning to release a stable HTTP API to import JSON in the Feb (or late Jan) release of Stardog. If you need to do this from your Python code, the best approach at the moment is to shell out to stardog-admin virtual import. You can do this using the os.system() method in Python.
Thank you for your response. Looking forward to use the new HTTP API.
Would it be possible to better understand the SMS2 roadmap?
Previously I had questions and suggestions such as IF/ELSE conditions support in SMS2. They may or have not been implemented yet. However if they are implemented - that will decrease my python code by a factor.
I don't believe we much in the way of a SMS2 roadmap. Do you have any particular questions?
We maintain a table that shows what each is supported in the different mapping syntaxes. For JSON, we have full support of SPARQL functions in bind expressions, so you can use IF().
Radu,
This is supported in Stardog 7.1.2. You can now import JSON and CSV files using SMS2 mappings with the HTTP API. Here is how it might be used from the command line with cURL: