2016-07-04 1 views
3

Je consigne mes explorations de données RDF en exécutant des requêtes SPARQL dans un bloc-notes Jupyter (environnement REPL basé sur le Web).Une requête SPARQL peut-elle importer ou réutiliser un ensemble de définitions PREFIX (bindings d'espaces de noms)?

Très souvent, je crée une requête en copiant la requête précédente pour la peaufiner. Le bloc-notes se remplit de requêtes SPARQL qui commencent toutes par les mêmes huit définitions PREFIX (par exemple, PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>). Je garde la liste PREFIX courte afin de réduire l'encombrement, mais cela signifie que je dois souvent changer de fenêtre pour rechercher un autre préfixe qui doit être ajouté (par exemple, PREFIX eurovoc: ...).

Existe-t-il un moyen de sauvegarder les définitions PREFIX dans un fichier, puis d'importer simplement ces définitions dans une requête? Sinon, comme j'exécute actuellement les requêtes dans Jupyter Notebook à l'aide de l'utilitaire de ligne de commande Apache JENA arq, je serais satisfait de tout utilitaire de ligne de commande permettant de diviser une requête SPARQL en plusieurs fichiers, ou autre de telles solutions de contournement.

J'ai cherché une réponse à la question sur stackoverflow.com et sur le Web en essayant de nombreuses requêtes impliquant les mots SPARQL, PREFIX, déclaration, définition, reundant, importer, réutiliser, réutiliser, espace de noms, liaison, séparer, fichier et multiple, que je reproduis ici afin de rendre cette question plus facilement trouvable par d'autres qui pourraient poser la même question.

+0

Pas pour ARQ - bien qu'il soit juste une question de concaténer les préfixes avec la requête et l'alimentation de la sortie à la commande sparql dans tout système d'exploitation ou de l'environnement que vous êtes – AndyS

+1

Les travaux suivants: '%% de script bash QUERY = $ (cat prefixes.sparql query.sparql) arq --data agro.n3 "$ QUERY" ' (où' %% script bash' dit que tout ce qui suit dans la cellule de Jupyter est interprété par ' bash'). Pas joli, et cela signifie que je devrais coller les requêtes dans le cahier séparément, mais réalisable. Merci! –

Répondre

0

Je viens de trébucher sur cette question, tout en cherchant quelque chose de similaire. AFAIK, SPARQL n'a pas de directive d'importation, mais il existe des outils comme rdf.sh, qui peuvent regarder tous les préfixes que vous utilisez dans un fichier et construire les définitions requises (elles sont généralement basées sur prefix.cc).

En outre, j'ai vu des points de terminaison (par exemple, Fuseki) qui ont des définitions de préfixes prédéfinies et terminer votre SPARQL automatiquement, mais en s'appuyant sur eux rend les requêtes moins portables. .