sparql - 数据记录规则需要永远计算

标签 sparql rdf datalog rdfox

我使用的是 RDFox v3,当我导入以下规则时,需要很长时间才能运行。我的数据存储区有 CRM 信息,我正在尝试使用规则对它们的来源进行分类。

[ ?customer, :referral, "true"] :-  [ ?customer, :has, ?referralLink] .

我不明白我做错了什么。

谢谢!

最佳答案

这表明您的数据中有很多 :has 关系。如果是这种情况,您列为 ?customer?referralLink 的变量与 :has 相关的所有内容都匹配。无论他们是否是客户,这种情况都会发生,这就是我建议可能需要花时间的原因。

如果 ?customer?referralLink 具有类型,您可能需要在规则中指定它。例如,假设它们的类型为 :CustomerType:ReferralLinkType 那么您的规则将变为:

[ ?customer, :referral, "true"] :- 
   [ ?customer, :has, ?referralLink] ,
   [ ?customer, a, :CustomerType] ,
   [ ?referralLink, a, :ReferralLinkType] .

希望有帮助。

关于sparql - 数据记录规则需要永远计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61913481/

相关文章:

SPARQL 中的 UTF-8 格式

sparql - SPARQL 中的 lang 函数是什么?

java - 从lastfm.rdfize.com 添加RDF 模型

graph-theory - 在数据记录中添加循环边缘 (bddbddb)

sparql - 如何使用 SPARQL 使用实体名称查询 Wikidata 并检查替代标签?

prolog - 使用 append/3 谓词创建 SPARQL 参数化查询

rdf - 多语言 OpenCalais 之类的系统?

prolog - datalog 和 prolog 的语义是什么?

java - 如何在 Datomic 查询中使用/?