Rdf 条带化错误在哪里?

Rdf 条带化错误在哪里?,rdf,jena,Rdf,Jena,我正在尝试与的工作,可从。我试图使用的将该文件转换为: 很遗憾,此操作将中止,并显示以下错误消息: Exception in thread "main" org.apache.jena.riot.RiotException: [line: 378, col: 147] {E202} Expecting XML start or end element(s). String data " ???????????????????????????????????????????????????????

我正在尝试与的工作,可从。我试图使用的将该文件转换为:

很遗憾,此操作将中止,并显示以下错误消息:

Exception in thread "main" org.apache.jena.riot.RiotException: [line: 378, col:
147] {E202} Expecting XML start or end element(s). String data "
????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????" not allowed.
 Maybe a striping error.
        at org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.error
(ErrorHandlerFactory.java:128)
        at org.apache.jena.riot.lang.LangRDFXML$ErrorHandlerBridge.error(LangRDF
XML.java:246)
…
据我从另一个问题中了解到的情况,当分层XML结构不符合RDF/XML的偶数/奇数规则时,RDF/XML解析中会出现条带化错误。现在,查看该文件,文件的各个部分如下所示:

journals/ac/YousifTD952002-01-03
马津尤西夫
马修·塔朱塔维蒂尔
赤塔R.达斯
多处理器中的缓存一致性:综述。
127-179
1995
40
计算机的进展

据Nano称,第378行似乎与Matthew Thazhuthaveetil有关。然而,不知何故,我看不出这条线在结构上有什么问题(特别是在将这条线与周围的其他线进行比较时)。是否真的存在结构性问题(如果是,是什么问题),或者错误消息是否具有误导性?

我自己用ApacheJena 2.11.1尝试过这一点,结果很好。你试过“暴动——验证”吗

这个错误很奇怪:

Exception in thread "main" org.apache.jena.riot.RiotException: [line: 378, col:
147] {E202} Expecting XML start or end element(s). String data "
????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????" not allowed.
Maybe a striping error.
它没有显示可打印的字符,这很神秘

该错误仅仅意味着rdf在属性标记外包含非空白字符。这表明它可能有不可见的垃圾,可能在
后面尾随


我看不到任何类似的情况,所以在某个地方感觉像是IO错误。

该行只有135个字符,而不是147个字符。可能只是代码片段的格式不同,但您可以看看该行上是否有不可打印的字符(正常空白除外)。@jkbkot:Hm,是的。。。再看一遍,Nano甚至明确地告诉我,这条线实际上只有135个字符。十六进制编辑器在行尾没有显示不可见字符,只有一个换行符,就像在其他行的末尾一样。您可能还需要向后看。这些都嵌套在其他XML内容中了吗?如果您处于错误的“深度”,那么应该是资源的元素可能会被视为属性,反之亦然。这将是一个问题……请注意,您链接到的页面上说“有一个XML数据转储可用。有一个(可能有缺陷的)XML样式表(XSLT)可以将XML文件转换为RDF/XML文件(您需要一台具有几GB主内存的机器来执行转换)。”您可能遇到了这样的错误吗?我已经下载了文件的第一个MB,将其截断,并在适当的位置添加了
,并且该文件(包括有问题的行)对我来说可以使用。可能是Jena bug?
riot--validate
没有显示任何此类错误,并且当再次尝试问题中所述的
rdfcat
时,它会运行更长的时间,最终由于
OutOfMemoryException
而失败。因此,事实上,一定是某种IO错误。如果使用
riot
命令(无验证选项),它将输出n个三元组,而不会占用内存。如果您真的需要turtle,请尝试加载到tdb中,然后输出turtle(尽管n-triples是turtle的子集)。好吧,我正在尝试保持文件大小较小,虽然等效的turtle文件大小约为580MB,但相应的n-triples文件的大小超过1.5GB。gzip!我认为jena会自动处理Gzip的rdf文件,CPU开销也不会很大。
Exception in thread "main" org.apache.jena.riot.RiotException: [line: 378, col:
147] {E202} Expecting XML start or end element(s). String data "
????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????" not allowed.
Maybe a striping error.