Sparql 尽管没有错误,但未使用INSERT更新Sesame存储库

Sparql 尽管没有错误,但未使用INSERT更新Sesame存储库,sparql,semantic-web,sesame,linked-data,Sparql,Semantic Web,Sesame,Linked Data,我正在尝试用dbpedia中的数据更新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-

我正在尝试用dbpedia中的数据更新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#>

INSERT{?s ?p ?o}

WHERE {
 SERVICE <http://dbpedia.org/sparql>{

{:Rotavirus_vaccine ?p ?o.
}
UNION
{
?s ?p :Rotavirus_vaccine.
}
}
}
前缀owl:
前缀xsd:
前缀rdfs:
前缀rdf:
前缀foaf:
前缀dc:
前缀:
前缀db2:
前缀dbpedia:
前缀skos:
插入{s?p?o}
在哪里{
服务{
{:轮状病毒疫苗。
}
联合
{
?s?p:轮状病毒疫苗。
}
}
}
此查询不显示任何错误,也不更新存储库。另一方面,将联合拆分为两个单独的查询,然后逐个更新存储库是可行的。为什么查询是独立工作的,而不是联合工作的?单个查询的代码为:

INSERT{:Rotavirus_vaccine ?p ?o}        
WHERE {
SERVICE <http://dbpedia.org/sparql>{
{:Rotavirus_vaccine ?p ?o.
}
}
}
插入{:轮状病毒疫苗?p?o}
在哪里{
服务{
{:轮状病毒疫苗。
}
}
}

“s?p?o”必须在一行中定义,模板才有意义。任何时候变量未绑定,都不会进行更新

在工会的一个分支中,标准普尔被定义,而在另一个分支中,标准普尔被定义。因此,所有3个都不是在同一行中定义的

添加绑定或过滤器,例如第一部分:

{:Rotavirus_vaccine ?p ?o. BIND(:Rotavirus_vaccine AS ?s) }

{?s ?p ?o. FILTER(?s = :Rotavirus_vaccine }
还是用这个

INSERT{:Rotavirus_vaccine ?p ?o.
       ?s ?p :Rotavirus_vaccine.
}

因为每种情况都定义了其中一个。我已经能够通过对UNION的两个子句使用BIND来执行函数查询。代码是:

INSERT{?s ?p ?o} 
WHERE 
{ 
SERVICE <dbpedia.org/sparql>
{ 
{:Rotavirus_vaccine ?p ?o. BIND(:Rotavirus_vaccine AS ?s)} 
UNION {?s ?p :Rotavirus_vaccine. BIND(:Rotavirus_vaccine AS ?o) } 
} 
}
插入{s?p?o}
哪里
{ 
服务
{ 
{:轮状病毒疫苗?p?o.结合(:轮状病毒疫苗AS?s)}
联合{s?p:轮状病毒疫苗.BIND(:轮状病毒疫苗AS?o)}
} 
}

安迪,你能发布完整的查询吗?如果使用插入时提到的三元组,则WHERE部分下包括哪些内容?