2016-04-05 13 views
2

Wenn ein Endpunkt verwenden, die in Virtuoso gehostet wird, (wie DBpedia endpoint), gibt es einen vordefinierten Satz von Regeln, die (zugänglich über die Inference rules Link auf der oben rechts) verwendet werden kann.Virtuoso SPARQL Endpunkte Inferenzregeln

Wenn ich brauche eine dieser Regeln verwenden I enthalten kann, wie die folgende in der Abfrage Raum am Endpunkt:

define input:inference 'ldp' 

aber wenn ich versuche, eine externe Inferenzregeln gesetzt, einschließen, die nicht ist vordefiniert in der vorherigen Liste, löst es einen Fehler, wie das folgende:

define input:inference <http://purl.org/goodrelations/v1> 

Virtuoso 37000 Error SP031: SPARQL compiler: 'define input:inference refers to undefined inference rule set "http://purl.org/goodrelations/v1"

FRAGE:

Ist es möglich, externe Regeln von anderen Vokabulare aufzunehmen? und wenn ja, wie?

+1

Gibt es einen Grund zu der Annahme, dass http://purl.org/goodrelations/v1 eine Regel festgelegt ist und nicht nur eine andere Ontologie? –

+2

Ich glaube nicht, dass Sie externe Regelsätze laden können. Sollten sie nicht zuerst durch einige interne Aufrufe in Virtuoso geladen werden, dann können sie Referenzen von z.B. das Web-UI? Aber um ehrlich zu sein, ich bin kein Experte in Virtuoso, also hat meine Antwort eine hohe Chance, falsch zu liegen. – AKSW

+0

@JoshuaTaylor ja da ist. Ich glaube, dass es (tatsächlich) Ontologie ist, Sie haben Recht. Wenn Sie jedoch die vom Endpunkt bereitgestellten Inferenzregeln überprüfen, die in der Frage verknüpft sind (Link "Inferenzregeln"), können Sie feststellen, dass dies eine etwas irreführende Notation von Virtuoso ist. Was sie wirklich sind, ist eine Art Vokabular. Zumindest denke ich das. –

Antwort

0

Die DBpedia-Instanz (und jede andere Virtuoso-Instanz) enthält eine Liste vorgeladener Inferenzregeln. Natürlich erlauben wir aus verschiedenen Gründen (Sicherheit, faire Verwendung usw.) keine Ad-hoc-Aufnahme von Inferenzregeln aus externen Quellen.

Hinweis: Eine Inferenzregel in Virtuoso ist eine Zuordnung zwischen einer Regel und einer Ontologie [1]. Es ist der Name der Regel, die in der Inferenzregel Pragma der Abfrage verwendet, die dann die folgenden zum SPARQL Prozessor zeigt:

  1. Need
  2. Spezielle Regeln Inferenz Kontext aufzurufen (wieder Zuordnungen zu einer Ontology wo Beziehung Semantik definiert), die aufgerufen werden sollen.

1https://medium.com/virtuoso-blog/using-british-royal-family-data-snippets-to-demonstrate-sparql-query-language-based-reasoning-56626a152419#.oe8a2ghjs