StrixDB

Cet article est une ébauche concernant le Web sémantique.

StrixDB
StrixDB
Description de l'image StrixDB logo.png.

Informations
Développé par Olivier Poirel
Écrit en C, C++
Environnement Windows
Langues Anglais
Type Web sémantique
Licence propriétaire
Site web strixdb

StrixDB est une base de données dédiée RDF. Elle est conçue pour permettre la manipulation et le raisonnement pour des graphes RDF de taille moyenne.

Caractéristiques

StrixDB a les caractéristiques suivantes :

  • requêtes avec SPARQL et modifications avec SPARQL/Update.
  • inférence dans SPARQL avec des règles Datalog (règles avec récursion, négation et négation dans la récursion).
  • propriétés ACID (atomicity, consistency, isolation, durability). StrixDB utilise le SGBD Gigabase.
  • serialisation des graphes RDF au format standard XML ou Turtle.

StrixDB peut être utilisé :

  • en tant que serveur SPARQL (utilisation en tant que module d'un serveur HTTP Apache).
  • en tant qu'application avec le langage de script Lua.
  • appelé par tout langage de programmation en tant que DLL.

La résolution Datalog utilise une variante de l'algorithme SLG[1] adaptée aux triples RDF.

Exemples de règles

Les règles s'expriment dans une syntaxe inspirée de Datalog ou de Turtle. En supposant que la ressource http://myserver/famillyRules contienne les règles suivantes :

prefix ns: <http://myserver/familly#>.
prefix foaf: <http://xmlns.com/foaf/0.1/>.
{?x ns:ancestorOf ?y } :- {?x ns:parentOf ?y}
{?x ns:ancestorOf ?y} :- {?x ns:parentOf ?z. ?z ns:ancestorOf ?y}

ns:motherOf(?mother,?child) :- ns:parentOf(?mother,?child), not ns:fatherOf(?mother,?child).

ns:fatherOf(?f,?child) :- ns:parentOf(?f,?child), not foaf:gender(?f,foaf:female).

Les règles peuvent être utilisées dans une requête SPARQL en utilisant la clause USING. Cette clause, spécifique à StrixDB est similaire à la clause FROM.

PREFIX ns: <http://myserver/familly#>
SELECT ?person ?ancestor
USING <http://myserver/famillyRules>
WHERE { ?person ns:ancestorOf ?ancestor }

Exemple de raisonnement OWL

Les règles suivantes implementent le raisonnement sur les propriétés d'OWL. Remarque: les prédicats peuvent être des variables.

?p(?x,?y) :- a(?p, owl:SymmetricProperty), ?p(?y,?x).

?p(?x,?y) :- a(?p, owl:TransitiveProperty), ?p(?x,?z), ?p(?z,?y).

?invers1(?x,?y) :- owl:inverseOf(?invers1,?invers2), ?invers2(?y,?x).
?invers1(?x,?y) :- owl:inverseOf(?invers2,?invers1), ?invers2(?y,?x).

?equiv1(?x,?y) :- owl:equivalentProperty(?equiv1,?equiv2), ?equiv2(?x,?y).
?equiv1(?x,?y) :- owl:equivalentProperty(?equiv2,?equiv1), ?equiv2(?x,?y).

?p(?x,?y) :- rdfs:subPropertyOf(?p1,?p), ?p1(?x,?y).

Liens internes

Liens externes

Références

  1. Tabled Evaluation with Delaying for General Logic Programs - Weidong Chen, David S. Warren (1996)

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.