linkedpipes / etl

LinkedPipes ETL is an RDF based, lightweight ETL tool
https://etl.linkedpipes.com
Other
144 stars 30 forks source link

Rename SPARQL Update endpoint DPU #141

Closed jindrichmynarz closed 8 years ago

jindrichmynarz commented 8 years ago

The SPARQL Update endpoint DPU only allows to load data using the INSERT DATA SPARQL Update operation. Since the other SPARQL Update operations are not supported, I suggest to rename the DPU to something like "SPARQL loader". An alternative solution could be to extend the DPU to support other SPARQL Update operations.

jakubklimek commented 8 years ago

It is a loader, so other SPARQL Update operations than INSERT DATA do not make sense. It is also an opposite to e-sparqlEndpoint extractor. I don't think this is confusing.

jindrichmynarz commented 8 years ago

How would you call then a DPU that implements other SPARQL Update operations?

It is unclear why only INSERT DATA (and not INSERT WHERE for example) should be supported.

jakubklimek commented 8 years ago

The component which implements other SPARQL update operations is called SPARQL Update. This makes sense for local data, but does not make sense for remote endpoints. That would be something like "remote SPARQL". A loader loads its input data, it does not query it. Therefore, there are no other SPARQL Update operations to be supported by a SPARQL endpoint loader.

jindrichmynarz commented 8 years ago

I agree that not all SPARQL 1.1 Update operations fit the functions of a loader. However, there are operations besides INSERT DATA that definitely fit the functions of a loader, such as LOAD or CREATE.

Nevertheless, we can close this issue for now and re-open it if someone else finds the name of this DPU confusing.

rizktouma commented 4 years ago

I know this is an old issue but I do find the name of this component to be a bit confusing. For example, "SPARQL endpoint select" takes as configuration an endpoint URL and SELECT query and executes the query on the given endpoint.

Similarly, the name "SPARQL update endpoint" suggests that the component takes a SPARQL UPDATE query and an enpoint URL in its configuration parameters and executes the query on the endpoint. It is only after reading the description of the component that you get the sense that it only "stores" RDF triples. This is also made more confusing by the fact that when you add a new component and search for "update", the only other component that appears is "SPARQL update", which does execute an UPDATE query.

jakubklimek commented 4 years ago

@rizktouma The reasoning behind this naming is taking into account the component type. Therefore a SPARQL Update transformer transforms data in the pipeline using SPARQL Update query, whereas SPARQL Update loader loads data using a SPARQL Update endpoint (as opposed to the HTTP Graph Store protocol loader which uses the graph store endpoint.)

Nevertheless, I see your point. Any suggestions for a different name?

rizktouma commented 4 years ago

Perhaps "SPARQL Endpoint Loader" / "SPARQL Endpoint Upload" / "SPARQL Endpoint Store" might be less confusing and still indicate what the component does.