Virtuoso SPARQL端点推理规则

Virtuoso SPARQL端点推理规则,sparql,rdf,dbpedia,endpoint,virtuoso,Sparql,Rdf,Dbpedia,Endpoint,Virtuoso,使用中承载的端点时,可以使用一组预定义的规则(通过右上角的链接访问) 如果需要使用这些规则之一,我可以在端点的查询空间中包括以下内容: define input:inference 'ldp' 但是,当我尝试包含一个外部推理规则集(在上一个列表中未预定义)时,它会触发一个错误,如下所示: define input:inference <http://purl.org/goodrelations/v1> 定义输入:推理 Virtuoso 37000错误SP031:SPARQL编

使用中承载的端点时,可以使用一组预定义的规则(通过右上角的链接访问)

如果需要使用这些规则之一,我可以在端点的查询空间中包括以下内容:

define input:inference 'ldp'
但是,当我尝试包含一个外部推理规则集(在上一个列表中未预定义)时,它会触发一个错误,如下所示:

define input:inference <http://purl.org/goodrelations/v1> 
定义输入:推理
Virtuoso 37000错误SP031:SPARQL编译器:“定义输入:推理引用未定义的推理规则集”http://purl.org/goodrelations/v1“

问题:

是否可以包含来自其他词汇表的外部规则?如果是,怎么做?

DBpedia实例(以及任何其他Virtuoso实例)包括一个预加载的推理规则列表。当然,出于各种原因(安全、合理使用等),我们不允许临时包含来自外部来源的推理规则

注:Virtuoso中的推理规则是规则和本体之间的映射(请参阅)。它是查询的推理规则pragma中使用的规则名称,然后向SPARQL处理器指示以下内容:

  • 需要调用推理上下文
  • 要调用的特定规则(同样,映射到定义了关系语义的本体)

  • 有没有理由假设这是一个规则集,而不仅仅是某个其他本体?我不认为您可以加载外部规则集。它们不应该首先通过一些内部调用加载到Virtuoso中,然后可以作为来自Web UI等的引用吗?但老实说,我不是一个演奏家,所以我的答案很有可能是错的。@JoshuaTaylor是的。我相信这是本体论,你是对的。但是,如果您检查问题中链接的端点提供的推理规则(推理规则链接),您会发现这有点误导Virtuoso。它们实际上是一种词汇包含。至少我是这么认为的。是的,有一个DBpedia端点支持的推理规则集列表,但我不认为这些规则集是在本体中定义的,它们可能恰好以本体命名。我不认为这些是从那些URI读取的;我认为这些URI只是用来识别规则集。不过,我不是一个演奏家专家,所以我不能肯定这一点。当在演奏家特定的空间(如公共空间、公共空间或机密空间)被问到演奏家特定的问题时,通常会得到更快、更准确的回答。我也可以帮忙。