【发布时间】:2019-06-15 07:59:17
【问题描述】:
我想知道如何使用 SPARQL 从 RDF/本体文件中下载/提取谓词列表?
例如,假设我们正在讨论“rdfs”URI。我想列出所有属性(谓词),例如范围、域、类型等。这可能吗?还是我在这里犯了一个概念上的错误?
【问题讨论】:
-
所以到目前为止你基本上什么都没试过?没有阅读 SPARQL 教程?连搜索功能都没用过?也不是 100% 清楚您要的是什么,一个本体的所有谓词或 RDF、RDFS 和 OWL 词汇表的所有内置谓词。对于后者,除了您感兴趣的领域的本体之外,还必须显式加载相应的本体。
-
absic 查询本身很简单,它包含一个简单的三元组模式
?s ?p ?o,以防这些谓词都被实例数据使用。如果不是,那么模式三元组也必须是查询,例如?p rdfs:range ?r、?p a rdf:Property、?p1 rdfs:subPropertyOf ?p2等等 - 因此,对于模式三元组,查询变得更加复杂,具体取决于您的模式。语言,即只是 RDFS 三元组或 OWL 公理 -
对于 RDFS 谓词,加载 RDFS 本体并查询
?p a rdf:Property -
好的。正如我所说,这取决于数据。本体论。理想情况下,有声明每个属性类型的三元组。在这种情况下,您将通过
SELECT ?p {VALUES ?type {rdf:Property owl:ObjectProperty owl:DatatypeProperty} ?p a ?type}找到所有谓词 - 试试看,也许这已经奏效了? -
select distinct ?p {?s ?p ?o}?