首页 > 解决方案 > 如何将所有相关属性添加到 SPARQL 中的容器中?

问题描述

我在 Blazegraph 数据库中有更多类,我想将特定类的所有相关信息添加到单个容器中。对于任何类实例,我都会创建一个包含所有相关三元组的新容器。为此,我尝试了:

INSERT
{
  ?inst a ?classURI. 
  ?inst a ?containerURI. 
  ?containerURI a ldp:Container.
}
WHERE
{
?inst a ?classURI.
  
BIND(URI(CONCAT(STR( ?inst ), "/container"))  AS ?containerURI) .
} 

上面的查询使用我需要的 URI 创建了容器,例如<http://example.org/Ana/container> 这为所有类实例创建了容器,但是我如何将与某个实例相关的所有属性添加到它们的容器中?例如:

@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.

<http://example.org/Ana/container> a ldp:Container;
   dcterms:title "A container for Ana";
   ldp:contains
      <http://example.org/Age/12>,
      <http://example.org/City/Berlin>,
      <http://example.org/Country/Germany>.

我如何使用插入查询来添加ldp:contains所有 Ana 的属性?并且对每个人也适用同样的原则。(我需要一个标准的插入查询)。

标签: databasecontainerssparqltriplestoretriples

解决方案


推荐阅读