rdf - rdf 图上的数据记录规则改变事实的( bool )值

标签 rdf datalog knowledge-graph rdfox

我正在尝试编写一个简单的数据记录规则来操作 RDF 本体中的 bool 值。我现在正在尝试使用 RDFox 作为推理器。

RDF本体是这样的

:citizenVaccinated rdfs:label "vaccinated";
    a :citizen;
    :isCitizenOf : uk


:automatedDecisionMaking rdfs:label "automatedDecisionMaking";
    :hasValue xsd:True.


:basicInformationCheck rdfs:label "basicInformationCheck";
    rdf:type xsd:False.
    #:hasValue xsd:False.

我写了一个小的数据记录规则,上面写着

[:basicInformationCheck, rdf:type, xsd:True]:- [:citizenVaccinated, :isCitizenOf, :UK].

当我查询最终图表中 basicInformationCheck 的值时,我得到了事实

rdf:type xsd:False
rdf:type  xsd:True

我们如何更改此设置以仅适应更新的事实

最佳答案

RDFox 使您能够指定运行查询的“事实域”。 对于所有事实,这可以是 IDB(默认),对于仅显式事实,可以是 EDB,对于仅隐式事实,可以是 IDBrepNoEDB(这是您选择的事实)。想用)。 从版本 5.5 开始,这些事实域已重命名为 allexplicit衍生

要在 shell 中设置它们,只需执行以下操作:

set query.fact-domain IDBrepNoEDB
select ....

您还可以在 REST 中针对每个查询使用这些内容,方法是在回答查询时指定 fact-domain URL 参数,例如:

curl -i -X POST "<user>:<pw>@<server>:<port>/datastores/<datastore_name>/sparql?fact-domain=IDBrepNoEDB" -d "query=SELECT..."

关于rdf - rdf 图上的数据记录规则改变事实的( bool )值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69531082/

相关文章:

rdf - 在 Open RDF 中查询存储库并显示结果

SPARQL 将 MAX 应用于聚合值

java - 如何使用现有本体从 XML 文件中提取 RDF 三元组?

clojure - 如何构造与DataScript中的引用向量完全匹配的查询?

database - 如何防止 Datalog 规则修剪空值?

rdf - 我如何在 RDF 中表示一个 5 元组?

聚合值最大值的数据查询

python - Tensorflow 的多个版本导致问题

graph-databases - GRAQL 中的递归查询?

google-cloud-platform - JanusGraph 大规模数据摄取