Java+;杰娜+;Rdf:需要帮助编写正确的sparql查询吗

Java+;杰娜+;Rdf:需要帮助编写正确的sparql查询吗,rdf,sparql,jena,Rdf,Sparql,Jena,我有这样一个RDF文件(test.RDF): 特伦蒂诺·阿尔托·阿迪奇——贝尼建筑艺术大师 序列号 基德 科穆尼 省 大区 本地人à; 诺姆 地址 Uso 蒂波 数据聚集 蒂波图特拉 鳕鱼不动 科迪斯省 Codice CMP 科姆尼密码 科迪斯弗雷泽 Codice tipo不动 Codice uso不动 codice不动PRT PRT 科迪斯图特拉 范畴 谢列佐涅 伊切塔德酒店 竞技场 做什么 杜克斯 视图1 1. 安东尼奥·阿巴特酋长酒店 基耶萨 基耶萨 10/04/2001 我对L

我有这样一个RDF文件(
test.RDF
):


特伦蒂诺·阿尔托·阿迪奇——贝尼建筑艺术大师
序列号
基德
科穆尼
省
大区
本地人à;
诺姆
地址
Uso
蒂波
数据聚集
蒂波图特拉
鳕鱼不动
科迪斯省
Codice CMP
科姆尼密码
科迪斯弗雷泽
Codice tipo不动
Codice uso不动
codice不动PRT
PRT
科迪斯图特拉
范畴
谢列佐涅
伊切塔德酒店
竞技场
做什么
杜克斯
视图1
1.
安东尼奥·阿巴特酋长酒店
基耶萨
基耶萨
10/04/2001
我对LGS的文化感兴趣。2004年1月22日第42号
155.0004
22
6.
155
0
18
7.
2.
教会
1
贝尼宗教
1.
T244
T245
46.3958455087868
11.1224323995498
视图2
2.
马索·巴托洛梅奥
阿比塔锡安
马赛
10/04/2001
我对LGS的文化感兴趣。2004年1月22日第42号
155.0001
22
6.
155
0
26
1.
3.
女贞
1
人工授精
0
46.39434215468
11.1090853812521
.....
.....
.....
查看建筑图1835
1835
埃雷莫·基耶萨·迪·比亚吉奥
埃雷莫
10/04/2001
我对LGS的文化感兴趣。2004年1月22日第42号
154.0001
22
6.
154
0
68
0
3.
女贞
1
贝尼宗教
1.
T243
T244
46.3921621030441
11.0775100584678
如何提取具有lat/lon坐标的行 在给定范围内?我使用Java和Jena按照以下模式代码构建查询:

Model m=FileManager.get().loadModel(Config.OntoBasePath+“test.rdf”);
字符串查询字符串=
“前缀db:”+
“前缀rdfs:”+
“前缀owl:”+
“前缀映射:”+
“前缀xsd:”+
“前缀rdf:”+
“前缀B:”+
“选择科目横向长度”+
“其中{”+
“主题rdfs:标签?标签”+
“主题词汇:视图\u tbeni\u architectonici\u glatitude?lat”+
“主题词汇:查看建筑风格”+

“FILTER(xsd:float(?lat)-46.39584550您的
vocab
前缀在数据和查询中看起来应该是相同的,但事实并非如此。在数据中,您有:

xmlns:vocab="http://www.datiopen.it/rdf/resource/vocab/" 
但在你的询问中,你有

PREFIX vocab: <http://www.datiopen.it/CatalogSparql/resource/vocab/>
前缀vocab:
实际上有几个前缀是这样的

@prefix db:      <http://www.datiopen.it/rdf/resource/> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix map:     <http://www.datiopen.it/rdf/resource/#> .
@prefix vocab:   <http://www.datiopen.it/rdf/resource/vocab/> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms:  <http://purl.org/dc/terms/> .
@前缀db:。
@前缀rdfs:。
@前缀owl:。
@前缀xsd:。
@前缀映射:。
@前缀vocab:。
@前缀rdf:。
@前缀dcterms:。
您的查询包含以下内容:

PREFIX db: <http://www.datiopen.it/CatalogSparql/resource/>             
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>                    
PREFIX owl: <http://www.w3.org/2002/07/owl#>                            
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>                         
PREFIX map: <http://www.datiopen.it/CatalogSparql/resource/#>           
PREFIX vocab: <http://www.datiopen.it/CatalogSparql/resource/vocab/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>               
前缀db:
前缀rdfs:
前缀owl:
前缀xsd:
前缀映射:
前缀b:
前缀rdf:

前缀
db
map
vocab
不匹配,因此您实际上查询的内容与数据中的内容大不相同。

尝试删除部分查询,直到生成一些结果。将删除的位加回去。然后您就知道是哪个部分导致缺少结果。太好了!这是enough更正标记vocab以确保一切正常!标记db:and:map我已删除,因为没有使用它们。我没有意识到错误。非常感谢。