【问题标题】:Jena SDB IRI validationJena SDB IRI 验证
【发布时间】:2013-01-06 21:19:10
【问题描述】:

我有几个奇怪的 IRI 想要插入到 Jena SDB 中,但我收到了一些错误消息:

  1. http://example.org/text/1234#offset_2311_2317_10-12%
    错误信息是:
    代码:FRAGMENT 中的 30/ILLEGAL_PERCENT_ENCODING:主机组件出现百分比,后面没有两个十六进制数字。
  2. http://example.org/text/5678#offset_365_370_NDZ#2
    错误信息是:
    代码:0/ILLEGAL_CHARACTER in FRAGMENT:该字符违反了 URI/IRI 的语法规则。
  3. http://example.org/text/7890#offset_8872_8878__"Fren
    错误信息是:
    代码:4/UNWISE_CHARACTER in FRAGMENT:该字符不匹配 URIs/IRI 的语法规则。这些字符在 RDF URI References、XML 系统标识符和 XML Schema anyURIs 中是允许的。

字符串 10-12%、NDZ#2 和 _"Fren 是从纯文本文档中提取的,我必须直接将其附加在 IRI 的后面。所以我的问题是:它们是有效的 IRI 吗?如果不是,考虑到我需要在 IRI 后面附加纯文本,如何将它们转换为有效的 IRI?

【问题讨论】:

    标签: uri jena uriencoding iri


    【解决方案1】:

    1 是错误的,因为它以 % 结尾 -- % 用于十六进制编码,所以它必须是 %xx

    编码 % -- 使用 %25

    2 是错误的,因为它有两个片段。 USe %23 你的意思是#作为一个字符,而不是一个片段

    3 里面有 "。编码。

    空格也是个坏主意。使用 %20。

    【讨论】:

    • 我们如何在jena中进行编码? sparql 查询是否适用于编码字符串?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多