我想将每个变量的查询结果添加到不同的列表中。我怎么能这样做?
当只有一个变量时,我用它来得到结果:
List<Object> values = new ArrayList<Object>();
while ( results.hasNext() ) {
values.add( results.next().get( "A" ));
}
我的sparql查询:
String queryString =
"PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> " +
"PREFIX owl: <http://www.w3.org/2002/07/owl#> " +
"PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> " +
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> " +
"PREFIX onto: <#> " +
" SELECT ?A ?B " +
" WHERE { ?B onto:property1 onto:aaa . ?A onto:has_input ?B} " ;
Query query = QueryFactory.create(queryString);
QueryExecution qe= QueryExecutionFactory.create(query, model);
ResultSet resultset = qe.execSelect();
ResultSet results = ResultSetFactory.copyResults(resultset);
答案 0 :(得分:2)
如果我理解你的问题是正确的,那么你只需要为B值创建一个新列表并将它们添加到列表中。
所以在从执行查询得到结果集后......
List<Object> aValues = new ArrayList<Object>();
List<Object> bValues = new ArrayList<Object>();
while ( results.hasNext() ) {
aValues.add( results.next().get( "A" ));
bValues.add( results.next().get( "B" ));
}
我不知道你想要实现什么,但是FYI查询将返回一个List,其中每个对象都是一个列表。