OpenRDF TurtleParser неправильно обрабатывает префиксы - PullRequest
2 голосов
/ 30 августа 2011

Wordnet 3.0 (http://semanticweb.cs.vu.nl/lod/wn30/) в формате Turtle, и у меня возникают проблемы с получением org.openrdf.rio.turtle.TurtleParser для анализа файла Manifest.ttl (https://gist.github.com/1181802).

Похоже, что парсер не имеет дело с префиксами должным образом - очевидно, он думает, что они нулевые:

org.openrdf.rio.RDFParseException: org.openrdf.rio.RDFParseException: 
Not a valid (absolute) URI: nullwn30 [line 15]

Раньше я никогда не заходил в пространство загрузки RDF, поэтому очень вероятно, что я что-то упустил.

Есть идеи, где искать?

1 Ответ

4 голосов
/ 31 августа 2011

Проблема в синтаксической ошибке в этом файле Turtle.В частности, этот фрагмент:

:wn30
    a lib:Namespace ;
    lib:mnemonic "wn30" ;
    lib:namespace wn30: .

Идентификатор :wn30 является квалифицированным именем, использующим пространство имен по умолчанию (по умолчанию, потому что у него нет префикса, в отличие, например, от lib:mnemonic).Однако документ Turtle не содержит декларации пространства имен для пространства имен по умолчанию.

Кстати, какую версию «Сезам» вы используете?Я кратко проверил это на последнем выпуске, и он все еще дал мне ошибку, но эта ошибка была немного более полезна при поиске проблемы: «Пространство имен по умолчанию использовалось, но не определено [строка 14]».

Чтобы исправить это, документ должен включать объявление пространства имен для пространства имен по умолчанию, например:

@prefix : <http://example.org/> .
...