我安装了Virtuoso Open Source Edition 07.20.3217。
但是GeoSPARQL并没有像我预期的那样工作。
我插入了10个三元组
prefix owl: <http://www.w3.org/2002/07/owl#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix geo: <http://www.opengis.net/ont/geosparql#>
prefix ex: <http://www.example.org/POI#>
prefix sf: <http://www.opengis.net/ont/sf#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
ex:WashingtonMonument
rdf:type ex:Monument
rdfs:label "Washington Monument" ;
geo:hasGeometry ex:WMPoint .
ex:WMPoint
rdf:type sf:Point ;
geo:asWKT "POINT(-77.03524 38.889468)"^^geo:wktLiteral .
ex:NationalMall
a ex:Park ;
rdfs:label "National Mall" ;
geo:hasGeometry ex:NMPoly .
ex:NMPoly
a sf:Polygon ;
geo:asWKT "POLYGON((-77.050125 38.892086, -77.039482 38.892036, -77.039482 38.895393, -77.033669 38.895508, -77.033585 38.892052, -77.031906 38.892086, -77.031883 38.887474, -77.050232 38.887142, -77.050125 38.892086 ))"^^geo:wktLiteral .然后我尝试了这个GeoSPARQL查询--
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
SELECT *
WHERE {
?m geo:hasGeometry ?mgeo .
?p geo:hasGeometry ?pgeo .
FILTER (bif:st_within(?mgeo, ?pgeo))
}但是没有结果。
我做错什么了?
感谢您的回复。
发布于 2016-08-17 21:12:50
我想你可能想要指定你在寻找公园内的纪念碑。另外,我不认为你想要一个通配符的结果,只想要这样的古迹和公园的列表。
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
SELECT ?monument
?park
WHERE
{
?monument a ex:Monument ;
geo:hasGeometry ?mgeo .
?park a ex:Park ;
geo:hasGeometry ?pgeo .
FILTER (bif:st_within(?mgeo, ?pgeo))
}Live examples通常比假设更有用,所以这里的an adjusted query确实会产生结果,尽管纪念碑与公园的指定似乎存在问题,而且两者都有POINT几何结构(即没有POLYGON数据) --
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX lgdo: <http://linkedgeodata.org/ontology/>
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?monument ?mlabel ?mgeo
?park ?plabel ?pgeo
WHERE
{
?monument a lgdo:Monument ;
rdfs:label ?mlabel ;
wgs:geometry ?mgeo .
?park a lgdo:Park ;
rdfs:label ?plabel ;
wgs:geometry ?pgeo .
FILTER (bif:st_within(?mgeo, ?pgeo))
}我没有时间找到一个实时数据集,其中包括公园的纪念碑几何图形,并准确地将纪念碑POINTs放在这样的公园POLYGONs中,所以我不能深入挖掘……但是,如果您可以将您的实例设置为公共实例,或者指向包含此类数据的活动公共实例,我们可以更进一步。
https://stackoverflow.com/questions/38993908
复制相似问题