0

假设,从任何语言中抽象出来,我们有一些由三元组组成的本体(例如,主语 (S) - 谓词 (P) - 宾语 (O))

现在,如果出于某种原因,我想对这些三元组(节点)中的任何一个进行注释,那么我想保留指向它们的链接,以便我可以在 Web 文档中使用。

以下是一些条件:

1) 此类链接必须为单行文本形式

2)这样的链接应该很容易被机器和人解析

3) 此类链接的部分应分隔

4)此类链接必须易于 grep,这意味着 IMO 应将它们包裹在一些不同的字母或字符中,以使它们易于从任何网络或其他文档中进行正则表达式

5) 此类链接可用于 URL 路径名或查询字符串中,因此必须符合 URL 语法

6) 此类链接中使用的字符不得保留用于 URL 路径名、查询字符串或哈希(例如不是“/”、“;”、“?”、“#”)

到目前为止,我的想法如下:

a) 以一些不同的、不变的字母集开始和结束这种链接,例如 STK_....._OVRFLW

b) 用破折号“-”分隔部分,例如主语-谓语-宾语

所以它看起来像:

STK_S1234-P123-O1234_OVRFLW

你有更好的想法吗?

4

1 回答 1

1

我和@msalvadores 一起讨论这个问题——这似乎是语义网/链接数据的经典用法(尽管形式相当复杂),而且您的示例似乎与 URI 设计更相关,而不是其他任何东西。

# 在语义网 lit 中得到了广泛的处理,还有用于通过 sparql 查询 rdf 的 javascript 库 - 坚持标准更有意义。

要链接到三元组,标准方法是使用具体化——本质上是命名一个三元组(为了与三元组模型保持一致,它最终创建了 4 个三元组,但我认为在这种情况下它是“正确”的方法)。还有“命名图”方法,它不是标准,但可能得到更广泛的采用。

链接将是 1 行文本

它将很容易被机器解析,为了使它可以被人类解析,可能有必要对 URI 设计进行一些思考。

划界再次出现在 URI 设计上

简单的 grepping - URI 设计

URL 语法 - 勾选

不 ”/”, ”;” "?", "#" - 我会尝试将它合并到一个 url 中而不是推出它

我会考虑 www.stackoverflow.com/statement/S1234_P123_O123,其中 S1234 等是唯一标签(我不一定同意人类可读的 uris,但我想它们必须保留到人类不必阅读 uris )。美妙的事情是它应该取消引用并给出一个很好的人类与机器可读的表示

于 2012-07-10T21:30:42.107 回答