我正在尝试学习如何使用 Blazegraph。我创建了一个本体并将其添加到数据库中。没问题。Blazegraph 似乎很容易使用。现在我的问题。我注意到,如果我现在查询数据库,我会从本体中获得三元组作为 sparql 查询的答案。因此,如果我将数据添加到同一个数据库,来自 sparql 查询的答案将来自与数据本身混合的本体。我是否应该将本体保存在同一个数据库中,或者如何避免将本体与数据混合?
问问题
203 次
1 回答
0
为避免将本体与数据混合,您可以命名本体。例如,
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<#JW>
a foaf:Person ;
foaf:name "James Wales" ;
foaf:mbox <mailto:jwales@bomis.com> ;
foaf:homepage <http://www.jameswales.com> ;
foaf:nick "Jimbo" ;
foaf:depiction <http://www.jameswales.com/aus_img_small.jpg> ;
foaf:interest <http://www.wikimedia.org> ;
foaf:knows [
a foaf:Person ;
foaf:name "Angela Beesley"
] .
<http://www.wikimedia.org>
rdfs:label "Wikimedia" .
rdf
, rdfs
, 和foaf
都是本体。不是将它们全部放入文档中,而是在命名空间中声明它们。您可以将命名空间指向您的 owl 文件(或任何您的本体所在的文件)并以相同的方式使用它。只要 Blazegraph 可以访问本体定义,它仍然能够对图进行推理。
于 2020-09-02T01:49:50.320 回答