【发布时间】:2015-07-06 06:36:00
【问题描述】:
我正在尝试使用 SPARQL 更新功能将三元组添加到我的 Sesame 存储库。声明如下:
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX : <http://dbpedia.org/resource/>
PREFIX dbpedia2: <http://dbpedia.org/property/>
PREFIX dbpedia: <http://dbpedia.org/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX my_namespace: <http://purl.org/net/ontology_name/my_namespace/>
INSERT {my_namespace:Rota owl:sameAs ?o}
WHERE
{my_namespace:Rota owl:sameAs :Rotavirus_vaccine}
查询被执行,但没有三元组被添加到存储库中。我需要做些什么不同的事情?
此问题与Sesame repository not being updated using INSERT despite no error 中的问题不同。在这个问题中,我没有添加任何外部数据。 my_namespace:Rota 和 :Rotavirus_vaccine(来自 dbpedia)已经存在于三重存储中。我想断言 my_namespace:Rota 与 :Rotavirus_vaccine 是同一实体,以便前者可以继承 dbpedia 中与后者相关的所有信息。
【问题讨论】:
-
我尝试了以下代码,但它不起作用: INSERT{?s ?p ?o} WHERE { my_namespace:Rota owl:sameAs :Rotavirus_vaccine. BIND(my_namespace:Rota AS ?s) } 请让我知道我需要更改什么。
-
查看其他问题来解释发生了什么。
-
我不确定我理解为什么上面的查询不起作用。这个问题与另一个问题略有不同。这里,存储库中已经存在 my_namespace:Rota 和 :Rotavirus_vaccine(从 DBpedia 检索)。在另一个问题中,我正在从 DBpedia 检索信息以添加到存储库中。本质上,我试图断言 my_namespace:Rota 与 :Rotavirus_vaccine 相同,以便前者可以继承后者的属性。如何在存储库中断言这种关系?
标签: sparql semantic-web sesame linked-data