Jena RdfDataMgr可以用类型化文本编写turtle吗
有没有办法让Jena的RdfDataMgr write()来维护文本类型 下面是我的代码,它插入了一个三元组和一个类型化的文本,它们会转储海龟:Jena RdfDataMgr可以用类型化文本编写turtle吗,rdf,jena,turtle-rdf,Rdf,Jena,Turtle Rdf,有没有办法让Jena的RdfDataMgr write()来维护文本类型 下面是我的代码,它插入了一个三元组和一个类型化的文本,它们会转储海龟: String insertQuery = "prefix XMLSchema:<http://www.w3.org/2001/XMLSchema#> " + "INSERT DATA " + " { GRAPH <http://name> { " +
String insertQuery = "prefix XMLSchema:<http://www.w3.org/2001/XMLSchema#> " +
"INSERT DATA " +
" { GRAPH <http://name> { " +
" <#book1> <#name> \"Name\"^^XMLSchema:string " +
" } } ";
org.apache.jena.query.Dataset ds = DatasetFactory.createTxnMem();
ds.begin(ReadWrite.WRITE);
try {
UpdateAction.parseExecute(insertQuery, ds);
} finally { ds.commit(); ds.end() ; }
ByteArrayOutputStream stream = new ByteArrayOutputStream();
RDFDataMgr.write(stream, ds.getNamedModel("http://name"), RDFFormat.TURTLE_PRETTY);
String str = stream.toString();
System.out.println(str);
String insertQuery=“前缀XMLSchema:”+
“插入数据”+
“{图{”+
“\”名称\“^^XMLSchema:string”+
" } } ";
org.apache.jena.query.Dataset ds=DatasetFactory.createTxnMem();
开始(读写写写);
试一试{
parseExecute(insertQuery,ds);
}最后{ds.commit();ds.end();}
ByteArrayOutputStream=新建ByteArrayOutputStream();
RDFDataMgr.write(流,ds.getNamedModel(“http://name乌龟(漂亮),;
String str=stream.toString();
系统输出打印项次(str);
这张照片是:
<file:///C:/Users/200001934/workspace-current/sparqlgraph/semTK/sparqlGraphLibrary/#book1>
<file:///C:/Users/200001934/workspace-current/sparqlgraph/semTK/sparqlGraphLibrary/#name>
"Name" .
“姓名”。
但是我正在寻找保存了“Name”类型的海龟。比如:
<file:///C:/Users/200001934/workspace-current/sparqlgraph/semTK/sparqlGraphLibrary/#book1>
<file:///C:/Users/200001934/workspace-current/sparqlgraph/semTK/sparqlGraphLibrary/#name>
"Name"^^<http://www.w3.org/2001/XMLSchema#string> .
“姓名”^^。
RDF 1.1
中的“abc”
与“abc”^^xsd:string完全相同。它们是两种编写同一RDFTerm的方法。如RDF 1.1规范中所述,首选不带-^^的形式。SPARQL中也是如此,^^XMLSchema:string
是不必要的。在RDF 1.1中,“abc”
与中的“abc”^^xsd:string
完全相同。它们是两种编写同一RDFTerm的方法。如RDF 1.1规范中所述,最好使用不带-^^^的形式。SPARQL中也是如此,^^XMLSchema:string
是不必要的。这是有用的知识。但是,当我将这只海龟导入Virtuoso并使用类似于`“values?x{“Name”^^}的values子句运行SPARQL时`它不匹配。也许我不应该使用这种values子句。Virtuoso不支持RDF 1.1,只支持RDF 1.0。请参见github.com/openlink/Virtuoso opensource/issues/…理想情况下,保持一致,并在所有地方使用纯格式。否则,请使用筛选器相等(“abc”等于“abc”^^xsd:string in SPARQL)或者使用STRDT在查询中转换为^^xsd:string形式,或者使用xsd:string(“简单术语”)
强制转换。这是一个有用的知识。但是,当我将此turtle导入Virtuoso并使用类似于`“values?x{“Name”^^}`的values子句运行SPARQL时,它不匹配。也许我不应该使用这种values子句。Virtuoso不支持RDF1.1,只支持RDF1.0。请参见github.com/openlink/virtuoso opensource/issues/…理想情况下,在任何地方都要保持一致并使用纯格式。否则,请使用过滤器等式(“abc”在SPARQL中等于“abc”^^xsd:string),或使用STRDT在查询中转换为^^xsd:string格式,或使用xsd:string(“简单术语”)
强制转换。