在ARQ,TDB和命名图的命令行工具的连接中存在奇怪的行为.如果通过命名图中的tdbloader导入数据,则无法通过SPARQL SELECT查询中的GRAPH子句进行查询.但是,使用SPARQL INSERT在同一图表中插入数据时,可以进行此查询.
我有以下汇编程序描述文件tdb.ttl:
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix tdb: <http://jena.hpl.hp.com/2008/tdb#> .
[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .
[] rdf:type tdb:DatasetTDB ;
tdb:location "DB" ;
.
Run Code Online (Sandbox Code Playgroud)
data.ttl文件中有一个数据集:
<a> <b> <c>.
Run Code Online (Sandbox Code Playgroud)
现在,我使用tdbloader插入此数据,然后使用SPARQL INSERT插入另一个三元组,两者都在命名图数据中:
tdbloader --desc tdb.ttl --graph data data.ttl
update --desc tdb.ttl "INSERT DATA {GRAPH <data> {<d> <e> <f>.}}"
Run Code Online (Sandbox Code Playgroud)
现在,可以使用SPARQL通过以下方式查询数据:
$arq --desc tdb.ttl "SELECT * WHERE{ GRAPH ?g {?s ?p ?o.}}"
---------------------------- …Run Code Online (Sandbox Code Playgroud) 我想在Java中将日期字符串"Fri Sep 21 15:23:59 CEST 2012"转换为"2012-09-21T15:23:59".我用SimpleDateFormat和以下代码尝试了这个:
try {
String dateString = "Fri Sep 21 15:23:59 CEST 2012";
SimpleDateFormat input = new SimpleDateFormat("EEE MM dd HH:mm:ss z YYYY");
SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = input.parse(dateString);
System.out.println(output.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
但是输入解析给了我一个java.text.ParseException.我已经在http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html上阅读了该文档,但我无法找到错误.
哪个格式字符串解决了此字符串的输入解析?