AKSW / RDFUnit

An RDF Unit Testing Suite
http://RDFUnit.aksw.org
Apache License 2.0
150 stars 42 forks source link

[ERROR ValidateCLI] Error: Required arguments are missing. #77

Closed raedtjr closed 6 years ago

raedtjr commented 6 years ago

When trying this simple example by typing : bin/rdfunit -e http://dbpedia.org/sparql I got this error which I can not resolve.

[INFO RDFUnitUtils] Loaded 614 additional schema declarations from LOV SPARQL Endpoint [ERROR ValidateCLI] Error: Required arguments are missing. org.aksw.rdfunit.validate.ParameterException: Error: Required arguments are missing. at org.aksw.rdfunit.validate.utils.ValidateUtils.checkIfRequiredParametersMissing(ValidateUtils.java:314) at org.aksw.rdfunit.validate.utils.ValidateUtils.getConfigurationFromArguments(ValidateUtils.java:105) at org.aksw.rdfunit.validate.cli.ValidateCLI.main(ValidateCLI.java:73) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:282) at java.lang.Thread.run(Thread.java:745) usage: rdfunit Any suggestions ?

jimkont commented 6 years ago

you need to pass the -d option which refers to the dataset IRI. in this case it would be for instance bin/rdfunit -d http://dbpedia.org -e http://dbpedia.org/sparql

for simple cases we could simplify this and reuse the sparql endpoint IRI as dataset IRI can you please confirm?

raedtjr commented 6 years ago

Thank you for your answer. I tried your suggestion and I got this exception [INFO ValidateUtils] Searching for used schemata in dataset java.lang.RuntimeException: java.lang.RuntimeException: HttpException: HttpException: 500 HTTP 500 error making the query: SPARQL Request Failed: HTTP 500 error making the query: SPARQL Request Failed HTTP 500 error making the query: SPARQL Request Failed What i am trying to do is to get to know how RDFUnit works and then to use it on my SPARQL Endpoint to make a SPARQL vocabulary testing which I believe that RDFUnit can be used for this propose, right ?

jimkont commented 6 years ago

yes, if you don't specify the schemas you want explicitly with -s, RDFUnit tries to find them from the database and makes an expensive query on the endpoint. DBpedia has some limits for fair use and that is why you get this error

better experiment on a local endpoint

raedtjr commented 6 years ago

Could you please give some suggestions how to experience it on a local endpoint ?

jimkont commented 6 years ago

you can install a triplestore on your local machine, load some data that you want to test and then use an endpoint like http://localhost:port/sparql on RDFUnit.

You can google on how you can do that.

Otherwise, you can pass an RDF file directly on RDFUnit for testing with just the -d option

raedtjr commented 6 years ago

Thank you for the information :)