我正在尝试使用SPARQL和Sesame 2.7查询存储库,但是当我运行我的代码时,我收到以下错误
org.openrdf.http.client.SesameHTTPClient - Server reports problem: org.openrdf.query.parser.sparql.ast.VisitorException: QName 'viagem:nome' uses an undefined prefix
Run Code Online (Sandbox Code Playgroud)
问题是,我在openrdf-workbench上的存储库的Namespaces选项卡下有前缀"viagem",当我使用方法getNamespaces()时,它显示了...
我运行查询的唯一方法是在每个查询上手动添加PREFIX,但这听起来不对...
关于如何正确使用这个,我有什么遗漏吗?
---编辑了更多信息
代码无效:
String queryString = "SELECT ?name \n" +
"WHERE {?Aeroporto viagem:nome ?name.\n" +
"?Aeroporto rdf:type viagem:Aeroporto}";
TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
TupleQueryResult result = tupleQuery.evaluate();
try {
List<String> bindingNames = result.getBindingNames();
while (result.hasNext()) {
BindingSet bindingSet = result.next();
Value firstValue = bindingSet.getValue(bindingNames.get(0));
System.out.println(firstValue);
}
} finally {
result.close();
}
...
Run Code Online (Sandbox Code Playgroud)
如果我将queryString更改为,此代码有效
String queryString = "PREFIX viagem:<http://teste.com.br/tut/Viagem.owl#> SELECT ?name \n" + …
Run Code Online (Sandbox Code Playgroud) 我有一个设备数据集和每天完成的我的应用程序的(un)安装数量.
样本数据将是:
time | device_name | daily_installs | daily_uninstall
t1 | device1 | 0 | 1
t1 | device2 | 2 | 0
t2 | device2 | 2 | 0
t2 | device3 | 12 | 0
Run Code Online (Sandbox Code Playgroud)
我可以按device_name对它们进行分组,并按月(或任何其他范围)获取我的安装总数.
但是设备的数量是巨大的,因此我想只筛选前10名.
如何使用InfluxDB实现这一目标?