gpt4 book ai didi

rdf - 奇怪的 Apache Jena 可选行为

转载 作者:行者123 更新时间:2023-12-04 17:19:57 26 4
gpt4 key购买 nike

我正在使用 Maven 存储库中的 Jena(TDB 0.10.1,CORE/ARQ 2.10.1)。我导入了这个 file :

tdbloader --graph=http://linkedgeodata.org --loc=$bsdStore $lgdData"supermarkets.ttl"

我现在正尝试像这样查询这个模型:

PREFIX lgd: <http://linkedgeodata.org/ontology/> 
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX geo: <http://geovocab.org/geometry#>
PREFIX gis: <http://www.opengis.net/ont/geosparql#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT ?supermarket ?label ?latitude ?longitude ?points
FROM <http://linkedgeodata.org>
WHERE {
?supermarket a lgd:Supermarket .
?supermarket ?p ?o .
OPTIONAL {
?supermarket rdfs:label ?label .
?supermarket geo:geometry ?geo .
?geo gis:asWKT ?points .
?supermarket wgs:lat ?latitude .
?supermarket wgs:long ?longitude .
}
}

不幸的是,这会返回空结果集。如果我现在将 wgs 模式移动到单独的可选我得到正确的结果。

SELECT DISTINCT ?supermarket ?label ?latitude ?longitude ?points  
FROM <http://linkedgeodata.org>
WHERE {
?supermarket a lgd:Supermarket .
?supermarket ?p ?o .
OPTIONAL {
?supermarket rdfs:label ?label .
?supermarket geo:geometry ?geo .
?geo gis:asWKT ?points .
}
OPTIONAL {
?supermarket wgs:lat ?latitude .
?supermarket wgs:long ?longitude .
}
}

这是耶拿的错误还是我的查询有误?干杯,丹尼尔

最佳答案

整个可选 block 必须匹配;它不会使每个三重模式独立可选。那将是:

WHERE {  
?supermarket a lgd:Supermarket .
?supermarket ?p ?o .
OPTIONAL { ?supermarket rdfs:label ?label . }
OPTIONAL { ?supermarket geo:geometry ?geo . }
OPTIONAL { ?geo gis:asWKT ?points . }
OPTIONAL { ?supermarket wgs:lat ?latitude . }
OPTIONAL { ?supermarket wgs:long ?longitude . }
}
}

因此,如果第二个有一些结果,大概对于任何一个?超市,一个可选的匹配而另一个不匹配。

关于rdf - 奇怪的 Apache Jena 可选行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18399758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com