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

Sparql Query Parsing Error in Rudolf #14

Closed
schmaluk opened this issue Jul 7, 2016 · 6 comments
Closed

Sparql Query Parsing Error in Rudolf #14

schmaluk opened this issue Jul 7, 2016 · 6 comments

Comments

@schmaluk
Copy link

schmaluk commented Jul 7, 2016

I have forwarded /search/... to Rudolf in nginx,
Opening this url http://eis-openbudgets.iais.fraunhofer.de/viewer/

also sends this request to the server:
http://eis-openbudgets.iais.fraunhofer.de/search/package?size=10000

I get a 500 Internal server error back from the server and this is in the logs:

2016-07-07 16:35:35] production.ERROR: EasyRdf_Exception: HTTP request for SPARQL query failed: Error 400: Parse error:
PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# PREFIX qb: http://purl.org/linked-data/cube# PREFIX skos: http://www.w3.org/2004/02/skos/core# PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# PREFIX xro: http://purl.org/xro/ns# SELECT DISTINCT ?attribute ?label ?attachment ?propertyType ?shortName ?dataset ?name WHERE { ?dsd qb:component ?component . ?dataset a qb:DataSet ; qb:structure ?dsd . ?component ?componentProperty ?attribute . ?componentProperty rdfs:subPropertyOf qb:componentProperty . OPTIONAL { ?attribute rdfs:label ?label . } OPTIONAL { ?component qb:componentAttachment ?attachment . } OPTIONAL { ?attribute a ?propertyType . FILTER (?propertyType in (qb:CodedProperty, qb:MeasureProperty, qb:DimensionProperty)) } FILTER NOT EXISTS { ?component qb:componentAttachment qb:DataSet . } BIND (REPLACE(str(?attribute), '^.(#|/)', "") AS ?shortName) BIND (CONCAT(REPLACE(str(?dataset), '^.(#|/)', ""), '__', SUBSTR(MD5(STR(?dataset)),1,5)) AS ?name) } GROUP BY ?attribute ?label ?propertyType ?shortName ?attachment
Non-group key variable in SELECT: ?dataset

Fuseki - version 2.4.0 (Build date: 2016-05-10T11:59:39+0000)
in /var/www/rudolf/vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Client.php:290
Stack trace:
#0 /var/www/rudolf/vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Client.php(120): EasyRdf_Sparql_Client->request('query', 'PREFIX rdfs: <h...')
#1 /var/www/rudolf/app/Model/SearchResult.php(55): EasyRdf_Sparql_Client->query('PREFIX rdfs: <h...')
#2 /var/www/rudolf/app/Model/SearchResult.php(24): App\Model\SearchResult->load()
#3 /var/www/rudolf/app/Http/Controllers/SearchController.php(18): App\Model\SearchResult->__construct()
#4 [internal function]: App\Http\Controllers\SearchController->index()
#5 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(80): call_user_func_array(Array, Array)
#6 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(146): Illuminate\Routing\Controller->callAction('index', Array)
#7 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(94): Illuminate\Routing\ControllerDispatcher->call(Object(App\Http\Controllers\SearchController), Object(Illuminate\Routing\Route), 'index')
#8 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#9 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#10 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#11 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#12 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(96): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#13 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(54): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(App\Http\Controllers\SearchController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'index')
#14 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Route.php(174): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'App\Http\Contro...', 'index')
#15 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Route.php(140): Illuminate\Routing\Route->runController(Object(Illuminate\Http\Request))
#16 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Router.php(724): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#17 [internal function]: Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#18 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#19 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#20 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#21 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Router.php(726): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#22 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Router.php(699): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#23 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Router.php(675): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#24 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(246): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#25 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(Object(Illuminate\Http\Request))
#26 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#27 /var/www/rudolf/vendor/barryvdh/laravel-cors/src/HandleCors.php(34): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#28 [internal function]: Barryvdh\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#30 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#31 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#32 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(44): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#33 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#34 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(136): call_user_func_array(Array, Array)
#35 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))
#36 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#37 [internal function]: Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))
#38 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#39 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(132): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#40 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(99): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#41 /var/www/rudolf/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#42 {main}

@larjohn
Copy link
Collaborator

larjohn commented Jul 7, 2016

This is one more side effect of RDF stores implementing different restrictions.

94b4c6e should solve this.

@schmaluk
Copy link
Author

schmaluk commented Jul 7, 2016

Getting now a slightly different message in the logs:
[2016-07-07 17:07:12] production.ERROR: EasyRdf_Exception: HTTP request for SPARQL query failed: Error 400: Parse error:
PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# PREFIX qb: http://purl.org/linked-data/cube# PREFIX skos: http://www.w3.org/2004/02/skos/core# PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# PREFIX xro: http://purl.org/xro/ns# SELECT DISTINCT ?attribute ?label ?attachment ?propertyType ?shortName ?dataset ?name WHERE { ?dsd qb:component ?component . ?dataset a qb:DataSet ; qb:structure ?dsd . ?component ?componentProperty ?attribute . ?componentProperty rdfs:subPropertyOf qb:componentProperty . OPTIONAL { ?attribute rdfs:label ?label . } OPTIONAL { ?component qb:componentAttachment ?attachment . } OPTIONAL { ?attribute a ?propertyType . FILTER (?propertyType in (qb:CodedProperty, qb:MeasureProperty, qb:DimensionProperty)) } FILTER NOT EXISTS { ?component qb:componentAttachment qb:DataSet . } BIND (REPLACE(str(?attribute), '^.(#|/)', "") AS ?shortName) BIND (CONCAT(REPLACE(str(?dataset), '^.(#|/)', ""), '__', SUBSTR(MD5(STR(?dataset)),1,5)) AS ?name) } GROUP BY ?attribute ?label ?propertyType ?shortName ?attachment ?dataset
Non-group key variable in SELECT: ?name

@larjohn
Copy link
Collaborator

larjohn commented Jul 7, 2016

I have pushed a new commit 70c883b

@schmaluk
Copy link
Author

schmaluk commented Jul 8, 2016

Thanks,
seeing this logs:
[2016-07-08 07:51:43] production.ERROR: ErrorException: Undefined variable: packages in /var/www/rudolf/app/Model/SearchResult.php:223
Stack trace:
#0 /var/www/rudolf/app/Model/SearchResult.php(223): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Undefined varia...', '/var/www/rudolf...', 223, Array)
#1 /var/www/rudolf/app/Model/SearchResult.php(24): App\Model\SearchResult->load()
#2 /var/www/rudolf/app/Http/Controllers/SearchController.php(18): App\Model\SearchResult->__construct()
#3 [internal function]: App\Http\Controllers\SearchController->index()
#4 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(80): call_user_func_array(Array, Array)
#5 /var/www/rudolf/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(146): Illuminate\Routing\Controller->callAction('index', Array)

@larjohn
Copy link
Collaborator

larjohn commented Jul 8, 2016

Is this SPARQL endpoint public so that I can query it locally to resolve the issue?

@larjohn
Copy link
Collaborator

larjohn commented Jul 12, 2016

Must have been resolved with f812e54

@larjohn larjohn closed this as completed Nov 5, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants