Skip to content
Snippets Groups Projects
Commit a626feac4ea4 authored by Fabien Amarger's avatar Fabien Amarger
Browse files

feat(process): Use upload_graph_to_sparql_endpoint into the default process type

parent 4e4f83244752
No related branches found
No related tags found
1 merge request!22Export data into SPARQL endpoint
...@@ -2,5 +2,4 @@ ...@@ -2,5 +2,4 @@
from rdflib import Graph from rdflib import Graph
from cubicweb.appobject import AppObject from cubicweb.appobject import AppObject
from cubicweb import Binary
...@@ -6,5 +5,8 @@ ...@@ -6,5 +5,8 @@
from cubicweb_rodolf.process_helpers import get_graph_from_url from cubicweb_rodolf.process_helpers import (
get_graph_from_url,
upload_graph_to_sparql_endpoint,
)
from cubicweb_rodolf.schema import ImportProcess from cubicweb_rodolf.schema import ImportProcess
...@@ -14,5 +16,6 @@ ...@@ -14,5 +16,6 @@
def __call__(self, import_process: ImportProcess, log: logging.Logger) -> Graph: def __call__(self, import_process: ImportProcess, log: logging.Logger) -> Graph:
import_recipe = import_process.import_recipe[0] import_recipe = import_process.import_recipe[0]
import_procedure = import_process.import_procedure[0]
dataservice = import_recipe.dataservice[0] dataservice = import_recipe.dataservice[0]
graph = get_graph_from_url(dataservice.data_url, log) graph = get_graph_from_url(dataservice.data_url, log)
...@@ -17,3 +20,10 @@ ...@@ -17,3 +20,10 @@
dataservice = import_recipe.dataservice[0] dataservice = import_recipe.dataservice[0]
graph = get_graph_from_url(dataservice.data_url, log) graph = get_graph_from_url(dataservice.data_url, log)
dataset_file = self._cw.create_entity(
"File",
title=f"Graph file for ImportProcess#{import_process.eid}",
data=Binary(graph.serialize(format="ttl").encode("utf8")),
data_name=f"data_ImportProcess_{import_process.eid}.ttl",
data_format="text/turtle",
)
import_process.cw_set( import_process.cw_set(
...@@ -19,10 +29,11 @@ ...@@ -19,10 +29,11 @@
import_process.cw_set( import_process.cw_set(
has_output_dataset=self._cw.create_entity( has_output_dataset=dataset_file,
"File", )
title=f"Graph file for ImportProcess#{import_process.eid}", upload_graph_to_sparql_endpoint(
data=Binary(graph.serialize(format="ttl").encode("utf8")), import_procedure,
data_name=f"data_ImportProcess_{import_process.eid}.ttl", graph,
data_format="text/turtle", import_recipe.graph_uri,
) dataset_file.data_name,
log,
) )
return graph return graph
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment