StrixDB

StrixDB
StrixDB
StrixDB logo.png
Développeur Olivier Poirel
Environnements Windows
Langues Anglais
Type Web sémantique
Site web www.strixdb.com

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.

Sommaire

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 resource 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 }


Example 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

References

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

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article StrixDB de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Triplestore — Un triplestore est une base de données spécialement conçus pour le stockage et la récupération de données RDF (Resource Description Framework)[1]. Tout comme une base de données relationnelle, un triplestore stocke des données et il les récupère… …   Wikipédia en Français

  • Datalog — is a query and rule language for deductive databases that syntactically is a subset of Prolog. Its origins date back to the beginning of logic programming, but it became prominent as a separate area around 1977 when Hervé Gallaire and Jack Minker …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”