StrixDBStrixDB
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éristiquesStrixDB a les caractéristiques suivantes :
StrixDB peut être utilisé :
La résolution Datalog utilise une variante de l'algorithme SLG[1] adaptée aux triples RDF. Exemples de règlesLes 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 OWLLes 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 internesLiens externesRéférences
|
Portal di Ensiklopedia Dunia