Java 语义web-sparql查询

Java 语义web-sparql查询,java,sparql,jena,Java,Sparql,Jena,我尝试了这个查询,它被编译并运行。但它只检索列名,而不检索它们的值。如何检索它们的值?有什么特别的方法吗 String str = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"+ "PREFIX dbo: <http://dbpedia.org/ontology/>"+ "PREFIX dbpprop: <http://dbpedia.org/property/>"+ "P

我尝试了这个查询,它被编译并运行。但它只检索列名,而不检索它们的值。如何检索它们的值?有什么特别的方法吗

String str = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"+
    "PREFIX dbo: <http://dbpedia.org/ontology/>"+
    "PREFIX dbpprop: <http://dbpedia.org/property/>"+
    "PREFIX foaf: <http://xmlns.com/foaf/0.1/>"+
    "SELECT DISTINCT ?label ?abstract ?placeOfBirth"+
        "?birthPlace ?birthDate ?deathDate ?page ?thumbnail WHERE {"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ; dbo:abstract ?abstract ; foaf:page ?page .}"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ; dbpprop:birthPlace ?birthPlace ;}"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ;  dbo:birthDate ?birthDate ;}"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ;  dbo:deathdate ?deathDate ;}"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ; dbo:thumbnail ?thumbnail .}"+
        "FILTER (LANG(?label) = 'en')"+    
        "FILTER (LANG(?abstract) = 'en')}"+
    "LIMIT 1";
String str=“前缀rdfs:”+
“前缀dbo:”+
“前缀dbpprop:”+
“前缀foaf:”+
“选择不同的?标签?摘要?出生地点”+
“?出生地?出生日期?死亡日期?页面?缩略图,其中{”+
“可选{dbpprop:placeOfBirth?placeOfBirth;dbo:abstract?abstract;foaf:page?page.}”+
“可选{dbpprop:placeOfBirth?placeOfBirth;dbpprop:出生地?出生地;}”+
“可选{dbpprop:placeOfBirth?placeOfBirth;dbo:birthDate?birthDate;}”+
“可选{dbpprop:placeOfBirth?placeOfBirth;dbo:deathdate?deathdate;}”+
“可选{dbpprop:placeOfBirth?placeOfBirth;dbo:thumbnail?thumbnail.}”+
“过滤器(LANG(?label)='en')”+
“过滤器(LANG(?abstract)='en')}”+
“限制1”;

如果您得到了列名,但没有值,则可能意味着您的查询没有答案


尝试删除部分查询,直到得到答案-主要部分是
过滤器
子句。您正在筛选的变量实际上并没有绑定到查询中的任何位置,因此它们的计算结果总是为false,不会产生任何结果

注意:字符串中
?出生地点
?出生地
之间没有空格,请将RobV的回答标记为正确(绿色勾号),如果有帮助的话,非常感谢,你的答案很有帮助。如果你觉得罗布的答案很有帮助,也许你应该把答案标记为正确。