我使用 Brightstardb 作为三元存储和“Brightstardb 的 Polaris 管理工具”来导入 RDF 并运行查询。
我将此 RDF 导入到三重存储:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix : <http://www.sample.org/abc#> .
:dog a rdfs:Class .
然后我运行这个 SPARQL 查询:
PREFIX declarations ... ... ...
...
ASK { :dog a rdfs:Class . }
结果是TRUE
。
但是,当我运行此查询时:
PREFIX declarations ... ... ...
...
ASK { :dog a rdfs:Resource . }
结果是FALSE
。
最后一个结果似乎不正确,因为根据定义,RDF 中的任何内容都是 Resource,如规范中所述。
我需要一种方法来在我的 SPARQL 查询中包含 RDF 和 RDFS 规范的所有基本公理,以便在推理系统中使用。我怎样才能做到这一点?我必须显式键入隐式公理吗?
W3C 规范中的基本公理示例:
rdf:Property a rdfs:Class .
因为Property
是Class
所有 RDF 属性的。
rdfs:subClassOf a rdf:Property . rdf:type a rdf:Property .
因为subClassOf
是 a将它们之间的Property
2关联起来,并且是将 a ( Subject ) 与( Object ) 关联起来。Classes
type
Property
Resource
Class