【发布时间】:2012-02-28 14:17:09
【问题描述】:
“资源描述框架 (RDF):概念和抽象语法”文档 Section 6.4 指出“RDF 图中的 URI 引用(RDF URI 引用)......将产生有效的 URI 字符序列(根据 RFC2396 , 第 2.1 节) 表示带有可选片段标识符的绝对 URI ... "
RFC 2396,第 2.1 节只讨论了单个字符的编码。它没有说明在 RDF 中允许标准 URI 的哪些部分。
在我看到的一些 RDF 文档中,术语“绝对 URI”似乎仅指 URI 的 domain.tld/path/name#optionalFragment 形式,但没有提及查询字符串 (?key1=value1&key2 =value2)(有时称为 CGI 数据)被允许或不允许。其他 RDF 文档仅使用术语“绝对 URI”,而不是相对 URI(/just/a/path)。
搜索“RDF URI 查询字符串”时会出现大量错误命中,例如 SPARQL。
所以,我的问题是:在 RDF 或 RDFa 中使用的 URI 中是否允许使用标准 HTML 查询字符串?
如果不是,为什么不呢?我了解 URI 不是 URL,不一定用于从服务器检索网页。但是,RDF 处理器读取这些 URI,我认为它们可以通过这些“查询”字符串传递的附加元数据的形式获得一些帮助。
[2012 年 2 月 9 日更新] 这是我的问题的重点:我正在寻找一种方法来指示连接的“强度”。例如,并不是每个人都对每个人都同样了解。我们可能刚刚在一次会议上见面了几分钟。或者我可能和某人住了很多年。对FAOF来说都是一样的。但是,如果我能够编写 foaf:knows?strength=+50 ,那么不知道如何处理强度键的处理器可以忽略它,而那些“强度感知”的处理器将拥有有价值的附加元数据。我可以创建一个包含术语“agreesWith”的词汇表,然后允许 strength= 键值的范围为 0 到 100(表示同意的百分比)。然后我会用一个词汇术语来涵盖整个协议范围。 {注:我曾考虑让范围从 -100 到 +100 以涵盖一系列分歧。但是,为了向后兼容,我们需要一个术语“disagreeWith”,以便不“了解强度”的处理器仍然知道“agreeWith”和不同意之间的区别。”}
就目前而言,RDF 推理者似乎无法区分“几乎不认识”和“比他自己更了解他”之间的区别。将键值对中具有不同值的每个不同谓词 URI 视为完全独立且完全不相关的谓词的决定似乎丢弃了几乎所有关于连接的最有价值的信息,这一切都是为了方便代码编写和快速处理。
除了创建完全独立的主语、谓词或宾语之外,查询字符串中的键值对可能还有其他有价值的用途:它们可用于指示谁将特定实体添加到联合编辑的 .RDF 文件中。就目前而言,RDF 推理器所知道的只是存在三元组,在外面,在某处吗?它没有其他信息可以作为推理的基础。加密密码短语可用于验证来源的可靠性,而不是简单地决定信任或不信任整个域。
【问题讨论】: