Datalog 规则永远计算

Datalog Rule taking forever to compute

我正在使用 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] .

希望对您有所帮助。