Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to run SPARQL Test Suite? #47

Open
leipert opened this issue Jun 9, 2017 · 10 comments
Open

How to run SPARQL Test Suite? #47

leipert opened this issue Jun 9, 2017 · 10 comments
Labels

Comments

@leipert
Copy link

leipert commented Jun 9, 2017

I really want to contribute new tests for SPARQL REGEX (#46). What is the easiest way to run the suite and produce an implementation report assuming I have an SPARQL endpoint running at http://localhost:8080?

I found kasei/sparql11-protocolvalidator, but I am unfamiliar with PERL (and PERL cgi). Could someone give me a hint?

@gkellogg
Copy link
Member

gkellogg commented Jun 9, 2017

Everyone has their own mechanism for running the tests. Typically, parsing the appropriate test manifest (such as [this one](http://w3c.github.io/rdf-tests/sparql11/data-r2/regex/manifest.ttl, and iterating through each entry. There are some basic instructions for running tests here. Typically, they involve creating a dataset and parsing and running the associated query, where either the result-set or RDF Graph is expected to match that referenced from mf:result.

@leipert
Copy link
Author

leipert commented Jun 9, 2017

Thank you for the introduction 👍
This probably means I have to come up with my own mechanism. sigh Is there any test mechanism for test mechanisms? (just kidding) Or I learn a bit PERL ;)

@lisp
Copy link

lisp commented Jun 9, 2017

there was a test harness which was introduced by an effort at inria (https://hal.inria.fr/hal-01104252/document), but i do not know its current status.
the website (http://sparqlscore.com) is not active.
there is a github repository (https://github.com/BorderCloud/TFT)which contains the php code.
we had issues with it at the protocol level, but it may serve your needs.

@afs
Copy link
Contributor

afs commented Jun 11, 2017

Apache Jena provides a command line qtest for running SPARQL-style manifests of tests.

I'm sure other toolkits tat submitted reports provide ways to run the tests.

@BorderCloud
Copy link
Contributor

BorderCloud commented Nov 21, 2017

@lisp Sparqlscore is always active but my time is limited.
You can find examples here :
https://github.com/BorderCloud/tft-jena-fuseki
https://github.com/BorderCloud/tft-virtuoso7-stable
https://github.com/BorderCloud/tft-stardog
https://github.com/BorderCloud/tft-blazegraph

I will write the doc this week but you can see my script.
I started to write a dynamic report (with students).

update: insert new examples

@ericprud
Copy link
Member

in SWObjects, you can make test to run the normal tests and TEST_ARGS=--earl make test to emit EARL, c.f. test_SPARQL1.1

@rubensworks
Copy link
Member

For reference, here's a tool for executing SPARQL-style test manifests for JavaScript implementations: https://www.npmjs.com/package/rdf-test-suite

@gkellogg gkellogg added the SPARQL label Nov 1, 2023
@namedgraph
Copy link

These links are dead:

I think this issue is still relevant: how do we run the SPARQL test suite?

Also why is the following still the case when we have a standard SPARQL protocol?

Everyone has their own mechanism for running the tests

@namedgraph
Copy link

@BorderCloud I don't understand why your approach requires a Docker image per product?

I'm thinking we just need a "test driver" Docker image, so that the actual triplestore is accessed via a SPARQL endpoint URL and the tests are executed over HTTP.
Wouldn't that make much more sense?

@gkellogg
Copy link
Member

These links are dead:

Where do you still find these links? The first would never have worked with a GitHub repo, the second was obsoleted as part of #84 and #90.

Generally, tests can be run from https://w3c.github.io/rdf-tests/sparql/ by following the manifests.

Exceptions are for the protocol test, which require an endpoint. I spent some time trying to make the manifests contain everything necessary to provision a local server to provide the appropriate responses (see #79), although this hasn't progressed in a while. This would be true for both sparql/sparql11/protocol and sparql/sparql11/http-rdf-update.

I think this issue is still relevant: how do we run the SPARQL test suite?

The top-level README could use some more specific instructions.

Also why is the following still the case when we have a standard SPARQL protocol?

Everyone has their own mechanism for running the tests

I run from https://w3c.github.io/rdf-tests/sparql with a local cache that prevents actual network access. Others run differently. Generally, tests (RDF and SPARQL) should be run as if accessing from GitHub.io, other than the protocol tests which require a runner be provisioned someplace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

8 participants