我正在使用JENA,我正在为学习目的进行一些简单的查询。其中之一是:查询结果中没有结果SPARQL
PREFIX uni:<http://www.university.fake/university#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
SELECT ?person
WHERE {
?person rdf:type/rdfs:subClassOf <uni:Person>.
?person uni:has_name ?name.
?person uni:member_of ?dep.
?dep uni:dep_city "Patras".
}
没有第四届三重其余做,如果第三一个?dep
被替换为引用值产生的结果。但是,添加第四个三元组时,没有结果。三元组本身确实会在自己的查询中产生结果,所以我认为那里没有任何问题。
一些RDF数据:
<rdf:Property rdf:about="uni:member_of">
<rdfs:domain rdf:resource="uni:Person"/>
<rdfs:range rdf:resource="uni:Department"/>
</rdf:Property>
<rdf:Property rdf:about="uni:dep_city">
<rdfs:domain rdf:resource="uni:Department"/>
<rdfs:range rdf:resource="uni:Literal"/>
</rdf:Property>
<rdf:Description rdf:about="uni:dep1">
<uni:dep_name>CEID</uni:dep_name>
<uni:dep_city>Patras</uni:dep_city>
</rdf:Description>
<rdf:Description rdf:about="uni:prof2">
<uni:has_name>Bob Ross</uni:has_name>
<uni:has_phone>6981234566</uni:has_phone>
<uni:has_age>52</uni:has_age>
<uni:member_of>CEID</uni:member_of>
<uni:teaches>Painting</uni:teaches>
<rdf:type rdf:resource="uni:Professor"/>
</rdf:Description>
因此'?dep uni:dep_city“Patras”'起作用了吗?尝试从那里反向工作,那就是尝试'?person uni:member_of?dep。 ?dep uni:dep_city“Patras”等 – user205512
另外,如果可能,请提供数据。很难诊断没有数据。 – user205512
是的,它的工作原理。您建议的第二个查询不起作用,这可能是问题所在。RDF数据的一个示例是: \t Bob Ross uni:has_name> \t 6981234566 uni :has_phone> \t 52 UNI:has_age> \t CEID UNI:MEMBER_OF> \t 绘画 UNI:教导> \t rdf:Description的> \t CEID UNI:dep_name> \t Patras uni:dep_city> rdf:说明>' –