为什么我无法将此ttl文件加载到Jena-Fuseki上?

时间:2014-07-21 18:35:45

标签: sparql jena fuseki turtle-rdf

我使用我的元数据规范公开提供了一系列来自edgelist图表数据的ttl文件。我无法将这些ttl文件上传到Fuseki。这就是他们的样子(结构):

[] <authorID> <1399> ; 
<authorName> "Dimitris Samaras";. 
<1399> <authorIDof> "Dimitris Samaras" .  //line 363
<1399> <nodetype> <AUTHOR>  .

[] <authorID> <1407> ; 
<authorName> "Haojun Wang";. 
<1407> <authorIDof> "Haojun Wang" .  
<1407> <nodetype> <AUTHOR>  . 

[] <authorID> <1450> ; 
<authorName> "Zhigang Zhu";. 
<1450> <authorIDof> "Zhigang Zhu" .  
<1450> <nodetype> <AUTHOR>  .

依旧......

当我尝试上传文件时,Fuseki给我以下错误:

14:32:33 INFO  [80] POST http://localhost:3030/ds/upload
14:32:33 INFO  [80] Upload: Filename: dblp1111.ttl, Content-Type=application/oct
et-stream, Charset=null => Turtle
14:32:33 ERROR [line: 363, col: 11] Bad character encoding
14:32:33 INFO  [80] 400 Parse error: [line: 363, col: 11] Bad character encoding
(25 ms)

我哪里错了?

1 个答案:

答案 0 :(得分:3)

(更正回答)

这是行号错误的一种情况。它仅指示错误发生时解析器的位置(UTF-8中的错误编码),但解析器提前读取并使用Java的bult-in字节到字符大块(128K)转换UTF8以提高效率。

Java不会报告字节流中错误编码的位置,只会报告错误。所以你必须“分而治之”

您可以尝试使用Jena“arq.utf8”中的程序,该程序读取UTF-8并使用自己的转换,以报告错误编码所在的位置(在几个字符位置内)。 / p>

[错误答案]

海龟是UTF-8 - 别无选择。我怀疑“Dimitris Samaras”实际上有重音字符,这些字符在ISO-8859和UTF-8中有不同的编码。