2015-08-06 9 views
0
Model model = ModelFactory.createDefaultModel(); 
InputStream in = FileManager.get().open("W:\\structure.rdf.u8"); 
model.read(in, null); 
model.write(System.out); 

Я использую приведенный выше код, который предоставляется в документации Jena, чтобы разобрать ODP. Сначала он дал некоторое исключение, поэтому я добавил все банку файлы в пакете Йене и получил следующее длинное исключение:Исключение при разборе structure.rdf.u8, используя Jena

log4j:WARN No appenders could be found for logger (org.apache.jena.riot.system.stream.JenaIOEnvironment). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
Exception in thread "main" org.apache.jena.riot.RiotException: [line: 5, col: 5 ] {E201} The attributes on this property element, are not permitted with any content; expecting end element tag. 
    at org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.error(ErrorHandlerFactory.java:128) 
    at org.apache.jena.riot.lang.LangRDFXML$ErrorHandlerBridge.error(LangRDFXML.java:246) 
    at org.apache.jena.rdfxml.xmlinput.impl.ARPSaxErrorHandler.error(ARPSaxErrorHandler.java:37) 
    at org.apache.jena.rdfxml.xmlinput.impl.XMLHandler.warning(XMLHandler.java:196) 
    at org.apache.jena.rdfxml.xmlinput.impl.XMLHandler.warning(XMLHandler.java:173) 
    at org.apache.jena.rdfxml.xmlinput.impl.XMLHandler.warning(XMLHandler.java:168) 
    at org.apache.jena.rdfxml.xmlinput.impl.ParserSupport.warning(ParserSupport.java:194) 
    at org.apache.jena.rdfxml.xmlinput.states.Frame.warning(Frame.java:55) 
    at org.apache.jena.rdfxml.xmlinput.states.WantEmpty.characters(WantEmpty.java:33) 
    at org.apache.jena.rdfxml.xmlinput.impl.XMLHandler.characters(XMLHandler.java:137) 
    at org.apache.xerces.parsers.AbstractSAXParser.characters(Unknown Source) 
    at org.apache.xerces.impl.XMLNamespaceBinder.characters(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) 

`

Я не знаю, если мне нужно, чтобы удалить некоторые из jar файлы, чтобы исправить это или код, указанный на сайте Apache, является неправильным?

+1

Я не уверен, но может быть синтаксическая ошибка в вашем файле RDF/XML? – marstran

+0

@marstran, что очень маловероятно. ODP широко используется поисковыми системами для представления SERP. – lonesome

+0

Нам нужно посмотреть файл здесь, похоже, что там что-то сломалось. – user205512

ответ

0

Это не законный RDF/XML; близко, но имеет ошибки. (по крайней мере, один http://rdf.dmoz.org/rdf/structure.rdf.u8.gz не)

  1. верхнего уровня «RDF» не RDF маркер RDF, это http://dmoz.org/rdf/RDF Это должно быть г: RDF, а затем ...
  2. r имен неправильно (должно быть http://www.w3.org/1999/02/22-rdf-syntax-ns#, а не http://www.w3.org/TR/RDF/).
+0

Итак, почему все поисковые системы используют этот ODP без проблем? – lonesome

+0

, если честно, не получил ваш ответ. – lonesome

+0

Вы имеете в виду, что Йена не соответствует стандартным RDF? – lonesome