Sparql GraphDB-联邦查询
我想知道如何在GraphDB上执行联合搜索。例如,要在GraphDB中插入下面的代码,我应该怎么做?我们的想法是将下面的内容添加到我的本地GraphDB中Sparql GraphDB-联邦查询,sparql,graphdb,federated-queries,Sparql,Graphdb,Federated Queries,我想知道如何在GraphDB上执行联合搜索。例如,要在GraphDB中插入下面的代码,我应该怎么做?我们的想法是将下面的内容添加到我的本地GraphDB中 #Locations of air accidents in wikidata - https://query.wikidata.org/ SELECT ?label ?coord ?place WHERE { ?subj wdt:P31 wd:Q744913 . ?subj wdt:P625 ?coord . ?subj
#Locations of air accidents in wikidata - https://query.wikidata.org/
SELECT ?label ?coord ?place
WHERE
{
?subj wdt:P31 wd:Q744913 .
?subj wdt:P625 ?coord .
?subj rdfs:label ?label
filter (lang(?label) = "en")
}
发布@UninformedUser的评论作为更好可读性的答案
SPARQL 1.1提供了服务
功能,如下所述。您可以使用它直接在GraphDB中对Wikidata执行联合查询
SELECT * WHERE {
SERVICE <https://query.wikidata.org/sparql> {
?subj wdt:P31 wd:Q744913 ;
wdt:P625 ?coord ;
rdfs:label ?label
FILTER (lang(?label) = "en")
}
}
选择*WHERE{
服务{
?主体wdt:P31 wd:Q744913;
wdt:P625?坐标;
标签
过滤器(lang(?label)=“en”)
}
}
发布@UninformedUser的评论作为更好可读性的答案
SPARQL 1.1提供了服务
功能,如下所述。您可以使用它直接在GraphDB中对Wikidata执行联合查询
SELECT * WHERE {
SERVICE <https://query.wikidata.org/sparql> {
?subj wdt:P31 wd:Q744913 ;
wdt:P625 ?coord ;
rdfs:label ?label
FILTER (lang(?label) = "en")
}
}
选择*WHERE{
服务{
?主体wdt:P31 wd:Q744913;
wdt:P625?坐标;
标签
过滤器(lang(?label)=“en”)
}
}
要将数据插入本地图形数据库,请使用以下方法:
INSERT {
?subj wdt:P31 wd:Q744913 ;
wdt:P625 ?coord ;
rdfs:label ?label
} WHERE {
SERVICE <https://query.wikidata.org/sparql> {
?subj wdt:P31 wd:Q744913 ;
wdt:P625 ?coord ;
rdfs:label ?label
FILTER (lang(?label) = "en")
}
}
插入{
?主体wdt:P31 wd:Q744913;
wdt:P625?坐标;
标签
}在哪里{
服务{
?主体wdt:P31 wd:Q744913;
wdt:P625?坐标;
标签
过滤器(lang(?label)=“en”)
}
}
但是,您可能希望解包坐标并使用更容易理解的本体,例如:
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#> # see http://prefix.cc/wgs.sparql
INSERT {
?subj a :AirAccident;
wgs:lat ?lat; wgs:long ?long;
rdfs:label ?label
} WHERE {
SERVICE <https://query.wikidata.org/sparql> {
?subj wdt:P31 wd:Q744913 ;
p:P625/psv:P625 [wikibase:geoLatitude ?lat; wikibase:geoLongitude ?long];
rdfs:label ?label
FILTER (lang(?label) = "en")
}
}
前缀wgs:#参见http://prefix.cc/wgs.sparql
插入{
?主体a:航空事故;
wgs:lat?lat;wgs:long?long;
标签
}在哪里{
服务{
?主体wdt:P31 wd:Q744913;
p:P625/psv:P625[wikibase:geoLatitude?lat;wikibase:geoLatitude?long];
标签
过滤器(lang(?label)=“en”)
}
}
有关
p:P625、psv:P625、wikibase:geoLatitude
的内容,请参阅(如果您安装了它,wdq帮助本体
对此进行了颜色编码)要将数据插入到本地图形数据库中,请使用以下内容:
INSERT {
?subj wdt:P31 wd:Q744913 ;
wdt:P625 ?coord ;
rdfs:label ?label
} WHERE {
SERVICE <https://query.wikidata.org/sparql> {
?subj wdt:P31 wd:Q744913 ;
wdt:P625 ?coord ;
rdfs:label ?label
FILTER (lang(?label) = "en")
}
}
插入{
?主体wdt:P31 wd:Q744913;
wdt:P625?坐标;
标签
}在哪里{
服务{
?主体wdt:P31 wd:Q744913;
wdt:P625?坐标;
标签
过滤器(lang(?label)=“en”)
}
}
但是,您可能希望解包坐标并使用更容易理解的本体,例如:
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#> # see http://prefix.cc/wgs.sparql
INSERT {
?subj a :AirAccident;
wgs:lat ?lat; wgs:long ?long;
rdfs:label ?label
} WHERE {
SERVICE <https://query.wikidata.org/sparql> {
?subj wdt:P31 wd:Q744913 ;
p:P625/psv:P625 [wikibase:geoLatitude ?lat; wikibase:geoLongitude ?long];
rdfs:label ?label
FILTER (lang(?label) = "en")
}
}
前缀wgs:#参见http://prefix.cc/wgs.sparql
插入{
?主体a:航空事故;
wgs:lat?lat;wgs:long?long;
标签
}在哪里{
服务{
?主体wdt:P31 wd:Q744913;
p:P625/psv:P625[wikibase:geoLatitude?lat;wikibase:geoLatitude?long];
标签
过滤器(lang(?label)=“en”)
}
}
有关
p:P625、psv:P625、wikibase:geoLatitude
的内容,请参阅(如果您安装了它,wdq帮助本体
给出了此颜色编码)使用SPARQL 1.1服务
功能。如果您想将数据添加到本地回购协议中,您需要一个插入WHERE
查询。此外,根据SPARQL端点,返回的结果集大小可能会有限制-原因很明显,这是一个共享服务,太多/太昂贵的查询可能会阻塞整个服务感谢您的回答!你能举个例子吗?我的意思是,它应该或多或少像我说的那样:插入{sub-wdt:P31 wd:Q744913。?sub-wdt:P625?coord。?sub-rdfs:label?label。}其中{SERVICE{?sub-wdt:P31 wd:Q744913;wdt:P625?coord;rdfs:label?label过滤器(lang(?label)=“en”)}}
你好,斯坦尼斯拉夫!非常感谢您分享这些知识。来自巴西朋友。John.使用SPARQL 1.1服务
功能。如果您想将数据添加到本地回购协议中,您需要一个插入WHERE
查询。此外,根据SPARQL端点,返回的结果集大小可能会有限制-原因很明显,这是一个共享服务,太多/太昂贵的查询可能会阻塞整个服务感谢您的回答!你能举个例子吗?我的意思是,它应该或多或少像我说的那样:插入{sub-wdt:P31 wd:Q744913。?sub-wdt:P625?coord。?sub-rdfs:label?label。}其中{SERVICE{?sub-wdt:P31 wd:Q744913;wdt:P625?coord;rdfs:label?label过滤器(lang(?label)=“en”)}}
你好,斯坦尼斯拉夫!非常感谢您分享这些知识。来自巴西朋友。约翰,你好,理查德!非常感谢您分享这些知识。来自巴西朋友。约翰,你好,理查德!非常感谢您分享这些知识。来自巴西朋友。约翰,你好!谢谢你的回答。但是,我不理解第二个查询的好处。wdt:P625?coord
返回一个字符串<代码>p:P625/psv:P625将其解压到lat和long中,即提取结构化数据。它也被翻译成更容易理解的(rdf:typea:aircreant
)和更广泛使用的(wgs:lat;wgs:long
)本体术语。嗨!谢谢你的回答。但是,我不理解第二个查询的好处。wdt:P625?coord
返回一个字符串<代码>p:P625/psv:P625将其解压到lat和long中,即提取结构化数据。它也被翻译成更容易理解的(rdf:typea:aircreant
)和更广泛使用的(wgs:lat;wgs:long
)本体术语。