【问题标题】:Storing separately individuals and ontology in sesame store在芝麻商店中分别存储个体和本体
【发布时间】:2015-06-22 14:12:36
【问题描述】:

我有一个我在芝麻存储库中导入的本体。 我想为我的本体中定义的类添加个体。

是否可以将个体添加到另一个存储库而不是存储本体的存储库中?如果可能的话,我如何将个体链接到本体并对其运行查询?

或者将它们全部存储在一起是一个好习惯吗?

【问题讨论】:

    标签: sparql semantic-web sesame


    【解决方案1】:

    可以将您的个人和本体存储在单独的存储库中,然后一起查询它们,是的。但是,这不是处理事情的常用方法。一个更简单的方法是将两个数据集放在同一个存储库中,但将每个数据集放在单独的 context命名图 中。 Sesame 是一个四元存储,这意味着它允许您在数据上设置命名图标识符(在 Sesame 的 API 中,这称为上下文标识符)。然后可以使用它来识别存储库中的子集。有关如何以编程方式使用上下文的更多详细信息,请参阅documentation about the Repository API。如果您通过 Workbench 手动工作,只需确保在上传文件时在相应的表单字段中设置了适当的上下文标识符(任何 URI 都可以,但最好让它易于记忆)。

    但是,如果您决定使用单独的存储库,则有两种开箱即用的方法可以查询多个存储库。

    第一个是使用 SPARQL SERVICE 子句。假设您有两个存储库,一个名为Instances,一个名为Ontology。每个 Sesame 存储库也是一个 SPARQL 端点,因此可以通过在 Instances 存储库上执行以下查询来查询组合数据集:

      SELECT ?i ?c
      WHERE { 
             SERVICE <http://localhost:8080/openrdf-sesame/repositories/Ontology> { 
                        ?c rdfs:subClassOf :SomeClass .
             }
             ?i a ?c .
      }
    

    第二种方法是在 Sesame 中创建一个联合存储库。联合存储库是一个“虚拟”数据库,由许多“成员”存储库组成。您可以像任何其他存储库一样查询联合存储库,并且在后台它将您的查询分发到成员商店并集成结果。有关如何设置 manually via the Workbenchprogrammatically 的详细信息,请参阅 Sesame 用户文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多