2017-06-15 4 views
0

Ist es möglich, eine einzige inf. Regel mit mehr als einer Einschränkung für eine Variable. Zum Beispiel ist es möglich, die folgende RegelGraphdb-Inferenzregeln - Multiple Constraint für eine Variable

a b c [Constraint b != <rdf:type>] 
    b <rdfs:domain> d 
------------------------------------ 
    a <rdf:type> d 

so zu erweitern (versucht, aber die Regel nicht aktiviert ist)

a b c [Constraint b != <rdf:type>, b != <rdfs:label>] 
    b <rdfs:domain> d 
------------------------------------ 
    a <rdf:type> d 

Dank

Antwort

2

Nach den neuesten GraphDB documentation dies eine gültige Regelsyntax. Beide Bedingungen werden mit AND ausgeführt, sodass die Regel nur für die Werte rdf:type und rdfs:label nicht funktioniert. Hier ist das vollständige Beispiel:

Prefices 
{ 
    rdf : http://www.w3.org/1999/02/22-rdf-syntax-ns# 
    rdfs : http://www.w3.org/2000/01/rdf-schema# 
} 

Axioms 
{ 
} 

Rules 
{ 
    Id: test 

    a b c [Constraint b != <rdf:type>, b != <rdfs:label>] 
    b <rdfs:domain> d 
    ------------------------------------ 
    a <rdf:type> d 

} 

Nach der Beispieldatei einfügen, werden Sie implizites Ergebnis erhalten nur für <urn:a1>:

<urn:a1> <urn:b1> <urn:c1> . 
<urn:b1> <http://www.w3.org/2000/01/rdf-schema#domain> <urn:d1> . 
<urn:a2> <http://www.w3.org/2000/01/rdf-schema#label> <urn:c2> . 
<urn:b2> <http://www.w3.org/2000/01/rdf-schema#domain> <urn:d2> . 
+0

Dank Vassil. Gibt es andere Betreiber, die gleich sind? ist es möglich, OR-Logik in der Ausführung anzuwenden? – Evangelos

Verwandte Themen