Java Jena SPARQL不';没有显示期望的结果
当我从自己的RDF查询时,使用Jena和SPARQL时遇到了问题。我从中得到了这个例子。这是我的查询代码:Java Jena SPARQL不';没有显示期望的结果,java,lucene,full-text-search,sparql,jena,Java,Lucene,Full Text Search,Sparql,Jena,当我从自己的RDF查询时,使用Jena和SPARQL时遇到了问题。我从中得到了这个例子。这是我的查询代码: public static void queryData( Dataset dataset ) { System.out.println("Query data...") ; String prefix = "PREFIX cs: <" + URI + "> " + "PREFIX text: <http://
public static void queryData( Dataset dataset )
{
System.out.println("Query data...") ;
String prefix = "PREFIX cs: <" + URI + "> " +
"PREFIX text: <http://jena.apache.org/text#> ";
String query = "SELECT * WHERE " +
"{ ?informatika text:query (cs:hasBranch 'sistem') ." +
"?informatika cs:hasBranch ?konsentrasi."+
" }";
long startTime = System.currentTimeMillis() ;
dataset.begin( ReadWrite.READ ) ;
try
{
Query q = QueryFactory.create( prefix + query );
QueryExecution qexec = QueryExecutionFactory.create( q , dataset );
QueryExecUtils.executeQuery( q, qexec );
}
finally
{
dataset.end() ;
}
publicstaticvoidquerydata(数据集)
{
System.out.println(“查询数据…”);
字符串前缀=“前缀cs:”+
“前缀文本:”;
String query=“选择*WHERE”+
“{?informatika text:query(cs:hasBranch'sistem')”+
“informatika cs:hasBranch?konsentrasi。”+
" }";
long startTime=System.currentTimeMillis();
dataset.begin(ReadWrite.READ);
尝试
{
Query q=QueryFactory.create(前缀+查询);
QueryExecution qexec=QueryExecutionFactory.create(q,数据集);
执行(q,qexec);
}
最后
{
dataset.end();
}
这是我在代码中包含的RDF(OntologyCS2.RDF):
信息系统
雷卡亚萨·佩朗卡特·卢纳克
Jaringan和Keamanan Komputer
科姆普塔西和塞尔达斯系统
医学信息
多媒体可视计算机
该查询应仅显示“Sistem Informasi”。但是,结果显示:
这有什么不对?我希望你能清楚地阅读我的解释。请告诉我。谢谢你现在的问题到底是什么?你有一个数据集,其中一个个体有多个
hasBranch
值。你的查询做的正是它所做的,它会找到所有具有与字符串匹配的分支的个体“sistem“”,然后通过第二个三重模式获取这些个体的所有分支。如果您只需要分支文本,请执行select?konsentrasi where{(?s?score?konsentrasi)text:query(cs:hasBranch'sistem')}
@UninformedUser感谢您的回答并编辑了我的问题。我做了您建议的查询,但它出现了错误。它说在第205列第1行遇到了“\'sistem\”。
我看不到这里的问题。您能试试选择?konsentrasi哪里{(?s?score?konsentrasi)text:query(cs:hasBranch“sistem”)}
请?这是正确的语法。@unformedUser“score”的功能是什么?我已经尝试过了,但不幸的是它不能工作。它显示了与我上面的评论类似的错误。哦,是的,我不能使用“”,所以我改为使用“”。
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cs="http://www.semanticweb.org/ulfaamalia/ontologies/2020/1/OntologyCS#" >
<rdf:Description rdf:about="http://www.semanticweb.org/ulfaamalia/ontologies/2020/1/OntologyCS#Informatika">
<cs:hasBranch>Sistem Informasi</cs:hasBranch>
</rdf:Description>
<rdf:Description rdf:about="http://www.semanticweb.org/ulfaamalia/ontologies/2020/1/OntologyCS#Informatika">
<cs:hasBranch>Rekayasa Perangkat Lunak</cs:hasBranch>
</rdf:Description>
<rdf:Description rdf:about="http://www.semanticweb.org/ulfaamalia/ontologies/2020/1/OntologyCS#Informatika">
<cs:hasBranch>Jaringan dan Keamanan Komputer</cs:hasBranch>
</rdf:Description>
<rdf:Description rdf:about="http://www.semanticweb.org/ulfaamalia/ontologies/2020/1/OntologyCS#Informatika">
<cs:hasBranch>Komputasi dan Sistem Cerdas</cs:hasBranch>
</rdf:Description>
<rdf:Description rdf:about="http://www.semanticweb.org/ulfaamalia/ontologies/2020/1/OntologyCS#Informatika">
<cs:hasBranch>Informatika Medis</cs:hasBranch>
</rdf:Description>
<rdf:Description rdf:about="http://www.semanticweb.org/ulfaamalia/ontologies/2020/1/OntologyCS#Informatika">
<cs:hasBranch>Multimedia Visi Komputer</cs:hasBranch>
</rdf:Description>
</rdf:RDF>