dev

La société QA sur les réseaux sociaux
qacompany/qendpointqacompany/qendpoint-wikidataLe Qendpoint est un magasin triple hautement évolutif avec support complet de texte et Geosparql. Il peut être utilisé comme point de terminaison SPARQL autonome ou comme dépendance. Le point Qend est par exemple utilisé dans Kohesio où chaque interaction avec l'interface utilisateur correspond à une requête SPARQL sous-jacente sur le point Qend. Qendpoint fait également partie de la question de la question de l'agrandissement de Qanswer répondant aux graphiques RDF.
Pour le backend / référence
Pour le frontend (non obligatoire pour exécuter le backend)
Vous pouvez installer Qendpoint à l'aide du Scoop Package Manager.
Vous devez ajouter le seau the-qa-company , puis vous pourrez installer le manifeste qendpoint , cela peut être fait en utilisant ces commandes
# Add the-qa-company bucket
scoop bucket add the - qa - company https: // github.com / the - qa - company / scoop - bucket.git
# Install qEndpoint CLI
scoop install qendpointVous pouvez installer Qendpoint à l'aide du Brew Package Manager.
Vous pouvez installer utilise cette commande
brew install the-qa-company/tap/qendpoint Si vous n'avez pas accès à Brew ou Scoop, l'interface de ligne de commande Qendpoint est disponible dans la page des versions sous le fichier qendpoint-cli.zip . En l'extrait, vous pouvez un répertoire bac qui peut être ajouté à votre chemin.
Clone The Qendpoint de ce lien: git clone https://github.com/the-qa-company/qEndpoint.git
Passez au répertoire back-end cd qendpoint-backend
Compilez le projet à l'aide de cette commande: mvn clean install -DskipTests
Exécutez le projet à l'aide de java -jar target/qendpoint-backend-1.2.3-exec.jar (Remplacez la version par la dernière version)
Vous pouvez utiliser le projet comme dépendance (remplacer la version par la dernière version)
<dependency>
<groupId>com.the_qa_company</groupId>
<artifactId>qendpoint</artifactId>
<version>1.2.3</version>
</dependency>
git clone https://github.com/the-qa-company/qEndpoint.gitcd qendpoint-frontendnpm installnpm start Les installateurs de points de terminaison pour Linux, MacOS et Windows peuvent être trouvés ici, les installateurs ne contiennent pas la ligne de commande (CLI), seulement le point de terminaison .
Vous pouvez utiliser l'une de nos images Docker préconfigurées.
qacompany/qendpointDockerHub : Qacompany / Qendpoint
Cette image Docker contient le point de terminaison, vous pouvez télécharger votre ensemble de données et commencer à l'utiliser.
Il vous suffit d'exécuter l'image et il préparera l'environnement en téléchargeant l'index et en configurant le référentiel à l'aide de l'extrait ci-dessous:
docker run -p 1234:1234 --name qendpoint qacompany/qendpointVous pouvez également spécifier la taille de la mémoire allouée en définissant la valeur d'environnement Docker mem_size . Par défaut, cette valeur est définie sur 6G. Vous ne devez pas définir cette valeur en dessous de la 4G car vous manquerez certainement de mémoire avec un grand ensemble de données. Pour un ensemble de données plus grand, une plus grande valeur est également recommandée pour le grand ensemble de données, par exemple, Wikidata-All ne fonctionnera pas sans au moins 10 g.
docker run -p 1234:1234 --name qendpoint --env MEM_SIZE=6G qacompany/qendpointVous pouvez arrêter le conteneur et le réinstaller à tout moment en maintenant les données à l'intérieur (Qendpoint est le nom du conteneur) en utilisant les commandes suivantes:
docker stop qendpoint
docker start qendpoint: Remarque Ce conteneur peut occuper une énorme partie du disque en raison de la taille de l'indice de données, alors assurez-vous de supprimer le conteneur si vous n'en avez plus besoin en utilisant la commande ci-dessous:
docker rm qendpointqacompany/qendpoint-wikidataDockerHub : Qacompany / Qendpoint-Wikidata
Cette image Docker contient le point de terminaison avec un script pour télécharger un index contenant les instructions de vérité Wikidata à partir de nos serveurs, vous devez donc attendre le téléchargement d'index et commencer à l'utiliser.
Il vous suffit d'exécuter l'image et il préparera l'environnement en téléchargeant l'index et en configurant le référentiel à l'aide du code ci-dessous:
docker run -p 1234:1234 --name qendpoint-wikidata qacompany/qendpoint-wikidataVous pouvez également spécifier la taille de la mémoire allouée en définissant la valeur d'environnement Docker mem_size . Par défaut, cette valeur est définie sur 6G, une valeur plus grande est également recommandée pour le grand ensemble de données, par exemple, Wikidata-ALL ne fonctionnera pas sans au moins 10 g.
docker run -p 1234:1234 --name qendpoint-wikidata --env MEM_SIZE=6G qacompany/qendpoint-wikidata Vous pouvez spécifier l'ensemble de données à télécharger à l'aide de la valeur d'environnement hdt_base , par défaut, la valeur est wikidata_truthy , mais les valeurs disponibles actuelles sont:
wikidata_truthy - instructions de vérité wikidata (besoin d'au moins 6G de mémoire)wikidata_all - instructions wikidata-all (besoin d'au moins 10G de mémoire) docker run -p 1234:1234 --name qendpoint-wikidata --env MEM_SIZE=10G --env HDT_BASE=wikidata_all qacompany/qendpoint-wikidataVous pouvez arrêter le conteneur et le réinstaller à tout moment en maintenant les données à l'intérieur (Qendpoint est le nom du conteneur) en utilisant le code ci-dessous:
docker stop qendpoint-wikidata
docker start qendpoint-wikidataRemarque Ce conteneur peut occuper une énorme partie du disque en raison de la taille de l'indice de données, alors assurez-vous de supprimer le conteneur si vous n'en avez plus besoin en utilisant la commande comme indiqué ci-dessous:
docker rm qendpoint-wikidataVous pouvez accéder à http: // localhost: 1234 où il y a une interface graphique où vous pouvez écrire des requêtes SPARQL et les exécuter, et il y a l'API RESTFul disponible que vous pouvez utiliser pour exécuter des requêtes à partir de n'importe quelle application sur HTTP comme ainsi:
curl -H ' Accept: application/sparql-results+json ' localhost:1234/api/endpoint/sparql --data-urlencode ' query=select * where{ ?s ?p ?o } limit 10 'Remarque La première requête prendra un certain temps afin de cartographier l'index à la mémoire, plus tard sera beaucoup plus rapide!
La plupart des formats de résultats sont disponibles, vous pouvez utiliser par exemple:
application/sparql-results+jsonapplication/sparql-results+xmlapplication/x-binary-rdf-results-tableVous pouvez exécuter le point de terminaison avec cette commande:
java -jar endpoint.jar &Vous pouvez trouver un modèle du fichier application.properties dans la source backend
Si vous avez le fichier HDT de votre graphique, vous pouvez le mettre avant de charger le point de terminaison dans le répertoire HDT-Store (par défaut hdt-store/index_dev.hdt )
Si vous n'avez pas le hdt, vous pouvez télécharger l'ensemble de données sur le point de terminaison en exécutant la commande pendant que le point de terminaison est en cours d'exécution:
curl " http://127.0.0.1:1234/api/endpoint/load " -F " [email protected] " Lorsque mydataset.nt est le fichier RDF à charger, vous pouvez utiliser tous les formats utilisés par RDF4J.
Vous pouvez créer un référentiel SPARQL en utilisant cette méthode, n'oubliez pas d'initialiser le référentiel
// Create a SPARQL repository
SparqlRepository repository = CompiledSail . compiler (). compileToSparqlRepository ();
// Init the repository
repository . init (); Vous pouvez exécuter des requêtes SPARQL à l'aide de executeTupleQuery , executeBooleanQuery , executeGraphQuery ou execute .
// execute the a tuple query
try ( ClosableResult < TupleQueryResult > execute = sparqlRepository . executeTupleQuery (
// the sparql query
"SELECT * WHERE { ?s ?p ?o }" ,
// the timeout
10
)) {
// get the result, no need to close it, closing execute will close the result
TupleQueryResult result = execute . getResult ();
// the tuples
for ( BindingSet set : result ) {
System . out . println ( "Subject: " + set . getValue ( "s" ));
System . out . println ( "Predicate: " + set . getValue ( "p" ));
System . out . println ( "Object: " + set . getValue ( "o" ));
}
}N'oubliez pas d'arrêter le référentiel après l'utilisation
// Shutdown the repository (better to release resources)
repository . shutDown (); Vous pouvez obtenir le référentiel RDF4J avec la méthode getRepository() .
// get the rdf4j repository (if required)
SailRepository rdf4jRepo = repository . getRepository ();Exécutez le point Qend localement
cd wikibase
Déplacez le fichier prefixes.sparql vers votre installation Qendpoint
(Re) Démarrez votre point de terminaison pour utiliser les préfixes
courir
java -cp wikidata-query-tools-0.3.59-SNAPSHOT-jar-with-dependencies.jar org.wikidata.query.rdf.tool.Update
--sparqlUrl http://localhost:1234/api/endpoint/sparql
--wikibaseHost https://linkedopendata.eu/
--wikibaseUrl https://linkedopendata.eu/
--conceptUri https://linkedopendata.eu/
--wikibaseScheme https
--entityNamespaces 120,122
--start 2022-06-28T11:27:08ZVous pouvez adapter les paramètres à votre wikibase, dans ce cas, nous interrogeons le graphique de connaissances de l'UE, vous pouvez également modifier l'heure de début.
Voir les problèmes ouverts pour une liste des fonctionnalités proposées (et des problèmes connus).
Contactez le mainteneur à l'un des endroits suivants:
Si vous voulez dire merci ou / et soutenir le développement actif de Qendpoint:
Tout d'abord, merci d'avoir pris le temps de contribuer! Les contributions font de la communauté open source un endroit incroyable pour apprendre, inspirer et créer. Toutes les contributions que vous faites profiteront à tous les autres et sont grandement appréciées .
Veuillez lire nos directives de contribution et merci d'être impliqués!
La configuration originale de ce référentiel est par la société d'AQ.
Pour une liste complète de tous les auteurs et contributeurs, consultez la page des contributeurs.
Qendpoint suit de bonnes pratiques de sécurité, mais la sécurité à 100% ne peut pas être assurée. Qendpoint est fourni "tel quel" sans aucune garantie . Utiliser à vos risques et périls.
Pour plus d'informations et pour signaler les problèmes de sécurité, veuillez vous référer à notre documentation de sécurité.
Ce projet est autorisé en vertu de la licence publique générale GNU V3 avec un avis.
Voir la licence pour plus d'informations.