Sparql 如何得到考虑本体的构造结果
我正在玩GraphDB和SPARQL(现在,但有目的)。我现在试图实现的是从外部源(本例中为DBPedia)进行查询,并使用本地加载的本体来分析结果。为此,我已将DBPedia本体导入到GraphDB存储库中的命名图中(无数据语句) 现在,我提出以下问题:Sparql 如何得到考虑本体的构造结果,sparql,rdf,owl,dbpedia,graphdb,Sparql,Rdf,Owl,Dbpedia,Graphdb,我正在玩GraphDB和SPARQL(现在,但有目的)。我现在试图实现的是从外部源(本例中为DBPedia)进行查询,并使用本地加载的本体来分析结果。为此,我已将DBPedia本体导入到GraphDB存储库中的命名图中(无数据语句) 现在,我提出以下问题: PREFIX dbp: <http://dbpedia.org/property/> PREFIX dbo: <http://dbpedia.org/ontology/> construct { ?city
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
construct {
?city dbo:country ?country .
?city dbo:population ?apop .
}
WHERE {
SERVICE <https://dbpedia.org/sparql>
{
{
?city dbo:populationTotal | dbo:totalPopulation | dbo:population ?apop ;
a dbo:City ;
dbo:country ?country
.
FILTER(?apop > 1000000)
}
}
}
表视图包含这些属性。然而,当我试图想象结果时,它告诉我城市没有任何财产:
我甚至试图添加一个rdf:Property,这使得这个语句出现在图中,但仅此而已。根据来自的建议,我构建了dbo
图和我的结果的并集:
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
construct {
?city dbo:country ?country .
?city dbo:population ?apop .
?o ?p ?s.
}
FROM <http://dbpedia.org/ontology/owl>
WHERE {
{
?o ?p ?s
}
UNION {
SERVICE <https://dbpedia.org/sparql>
{
{
?city dbo:populationTotal | dbo:totalPopulation | dbo:population ?apop ;
a dbo:City ;
dbo:country ?country
FILTER(?apop > 1000000)
}
}
}
}
前缀dbp:
前缀dbo:
构造{
城市dbo:国家?国家。
?城市dbo:人口?apop。
o?p?s。
}
从…起
在哪里{
{
o?p?s
}
联合{
服务
{
{
?城市dbo:人口总数| dbo:总人口| dbo:人口?apop;
dbo:城市;
国家?国家
过滤器(?apop>1000000)
}
}
}
}
这导致了一个我无法可视化的大型图,但表视图显示了从dbpediaontology到远程结果的所有内容
Virtuoso单独处理模式,可以导入模式,但没有内置的可视化工具。我找不到一种方法来告诉GraphDB的可视化工具对图形使用特定的模式。存储库具有默认规则集RDFS Plus(已优化),之前手动添加的属性声明被正确推断为owl:ObjectProperty
我有点困惑。如何将联邦结果集与本地本体正确地“组合”?您是否尝试了
{VALUES?p{dbo:populationTotal dbo:totalPopulation dbo:population dbo:country}?p?o?s.}联合{
-您还应该尝试构造{?城市dbo:country?country。?城市dbo:populationTotal?apop.
因为dbo:population
是DBpedia@AKSWdbo:populationTotal
是我的第一个猜测,但给出了相同的结果。带有值的查询在图中添加了本体的额外语句,但在图中没有属性ities.Hm我无法复制这个。我在尝试了您的第一个查询-它可以工作,并通过链接数据原理获取查询中甚至不包含的属性。您可以在Factforge SPARQL端点上尝试它。这是您所期望的,对吗?@AKSW是的,有点。但是这个工具已经从DBPedia预加载了所有数据。我的GraphDB实例显示了属性If从本地数据查询。我明白了。我在本地尝试过,发现问题出在服务
请求上。所有这些内容,如节点颜色、标签、检索、属性检索,都基于您可以在“可视图形”中配置的查询视图,您可以在其中设置自定义配置。但是:所有这些查询都不适用于构造
查询的结果。这意味着,例如,在“节点额外”选项卡中,您必须配置查询,以便它通过服务
关键字进行查找。
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX dbo: <http://dbpedia.org/ontology/>
construct {
?city dbo:country ?country .
?city dbo:population ?apop .
?o ?p ?s.
}
FROM <http://dbpedia.org/ontology/owl>
WHERE {
{
?o ?p ?s
}
UNION {
SERVICE <https://dbpedia.org/sparql>
{
{
?city dbo:populationTotal | dbo:totalPopulation | dbo:population ?apop ;
a dbo:City ;
dbo:country ?country
FILTER(?apop > 1000000)
}
}
}
}