StrixDB

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

Vous pouvez partager vos connaissances en l’améliorant (comment ?) — pour plus d’indications, visitez le projet Web Sémantique.
Page d’aide sur l’homonymie

Pour les articles homonymes, voir Strix (homonymie).

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 :

StrixDB peut être utilisé :

La résolution Datalog utilise une variante de l'algorithme SLG 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)