2012-06-08 5 views
1

Я пытаюсь использовать инструмент (Elda), который использует структуру Jena для обработки RDF.Xpointer - недействительный IRI?

Я получил эту ошибку:

ERROR [qtp1415899750-24] (RouterRestlet.java:332) - Exception: Line 7, column 72: com.hp.hpl.jena.iri.impl.IRIImplException: Code: 0/ILLEGAL_CHARACTER in FRAGMENT: The character violates the grammar rules for URIs/IRIs.

Это говорит следующее URL не является допустимой IRI.

http://burckhardt.netseven.it/show_annotable_transcription?id=12#xpointer(start-point(string-range(//DIV[@about='http://burckhardt.netseven.it/show_annotable_transcription?id=12']/DIV[1]/BLOCKQUOTE[1]/P[1]/text()[1],'',13))/range-to(string-range(//DIV[@about='http://burckhardt.netseven.it/show_annotable_transcription?id=12']/DIV[1]/BLOCKQUOTE[1]/P[1]/text()[1],'',27)))

Я знаю, что это некрасиво, но, насколько я понимаю, это соответствует XPointer спецификации ... И я использую его успешно в других средах (например, кунжутное triplestore).

У кого-то есть что-то не так?

спасибо

Christian

ответ

6

Согласно rfc2732[ и ] должны использоваться только для кодирования адресов IPv6

  1. Changes to RFC 2396

    This document updates the generic syntax for Uniform Resource Identifiers defined in RFC 2396 [URL]. It defines a syntax for IPv6 addresses and allows the use of "[" and "]" within a URI explicitly for this reserved purpose.

Поскольку ваш URL не кодирует адрес IPv6 в пределах [] с , это считается незаконным URL

+0

Exaclty, а также в [rfc3986] (http: // www .ietf.org/rfc/rfc3986.txt) (текущая спецификация URI) '[]' зарезервированы вместе с ': /? # @ '. RDF использует IRI ([rfc3987] (http://www.ietf.org/rfc/rfc3987.txt)), но ограничение остается. – user205512

+0

Обратите внимание, что в рекомендации по XPointer Framework [обсуждается экранирование] (http://www.w3.org/TR/xptr-framework/#escapingModel). – user205512