1

我正在尝试学习如何使用 Blazegraph。我创建了一个本体并将其添加到数据库中。没问题。Blazegraph 似乎很容易使用。现在我的问题。我注意到,如果我现在查询数据库,我会从本体中获得三元组作为 sparql 查询的答案。因此,如果我将数据添加到同一个数据库,来自 sparql 查询的答案将来自与数据本身混合的本体。我是否应该将本体保存在同一个数据库中,或者如何避免将本体与数据混合?

4

1 回答 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 回答