我正在尝试编写一个简单的数据记录规则来操作 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 开始,这些事实域已重命名为 all
、explicit
和 衍生
。
要在 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/