Rdf 服务上的Sparql构造

Rdf 服务上的Sparql构造,rdf,sparql,semantic-web,Rdf,Sparql,Semantic Web,是否可以在远程enpoint上使用Where子句执行sparql构造 CONSTRUCT { ?idbcountry skos:definition ?def . } WHERE { ?idbcountry a skos:Concept . ?idbcountry rdfs:label ?label . FILTER(lang(?label) = "en") Service <http://dbpedi

是否可以在远程enpoint上使用Where子句执行sparql构造

CONSTRUCT { ?idbcountry skos:definition ?def . }

WHERE {

            ?idbcountry a skos:Concept .
            ?idbcountry rdfs:label ?label .
            FILTER(lang(?label) = "en") 

    Service <http://dbpedia.org/sparql> {
                ?s a <http://dbpedia.org/ontology/Country> .
                ?s rdfs:label ?label .
                ?s rdfs:comment ?def
                FILTER(lang(?label) = "en")
                FILTER(lang(?def) = "en")
    }
}
CONSTRUCT{?idbcorry skos:definition?def.}
在哪里{
?IDBA skos国家:概念。
?idbcountry rdfs:标签?标签。
过滤器(lang(?label)=“en”)
服务{
这是一个好主意。
?s rdfs:标签?标签。
?s rdfs:注释?定义
过滤器(lang(?label)=“en”)
过滤器(lang(?def)=“en”)
}
}

我发现了问题,原因是TopBraid编辑器。这是一个间距问题。Where和Construct之间的分隔线不应超过两条。。。。。几乎没有其他的角间距的情况。更一般地说,间距在TopBraid Sparql编辑器中很重要


因此,查询是正确的。

是。当你尝试这个的时候,你遇到了什么问题吗?如果是这样的话,怎么办?另外,不要使用lang(…)=“en”。使用
langMatches(lang(…),“en”)
。由于查询的select版本起作用,并且我可以想象结果是好的,我最终只使用了查询的Insert版本,它就起作用了。可能是TopBraid Sparql编辑器,但我的语法没有通过。发现了问题,这是由于TopBraid编辑器。间距问题。Where和CONSTRUCTION之间的分隔线不应超过两条。还有其他类似的事情。。。。