让我们说,从任何语言中抽象出来,我们都有一些由三元组构成的本体论(例如主语(S) - 谓语(P) - 宾语(O))
现在,如果我想,出于某种原因,注释任何这些三元组(节点),而不是我想保留链接到我可以在web文档中使用它们。
以下是一些条件:
1)此类链接必须采用一行文本
2)这样的链接应该可以通过机器和人轻松解析
3)此类链接的部分应分隔
4)这样的链接必须易于grep,IMO意味着它们应该包含在一些不同的字母或字符中,以便从任何Web或其他文档中轻松地进行正则表达式
5)此类链接可用于URL路径名或查询字符串,因此必须符合URL语法
6)此类链接中使用的字符不得保留用于URL路径名,查询字符串或哈希值(例如,不是“/”,“;”“?”,“#”)
到目前为止我的想法如下:
a)用一些不同的,恒定的字母组开始和结束这样的链接,例如STK _....._ OVRFLW
b)用短划线“ - ”分开的部分,例如主谓对象
所以它看起来像:
STK_S1234-P123-O1234_OVRFLW
你有更好的想法吗?
答案 0 :(得分:1)
我和@msalvadores在这一点 - 这似乎是语义网/链接数据的经典用法(虽然形式相当复杂),你的例子似乎与URI设计更相关,而不是其他的。
#在语义网中被广泛处理,还有用于通过sparql查询rdf的javascript库 - 它更符合标准。
要链接到三元组,标准方法是使用具体化 - 基本上命名三元组(为了与三元模型保持一致,最终创建4个三元组,但在这种情况下我会认为它是“正确的”方法) 。还有“命名图”方法,它不是标准,但可能有更广泛的采用。
链接将是1行文本
它可以很容易地进行机器分析,使其易于解析,可能需要对URI设计进行一些思考。
再次对URI设计进行定界
轻松点击 - URI设计
网址语法 - 勾选
没有“/”,“;” “?”,“#” - 我会尝试将其合并到网址中而不是将其推出
我会考虑www.stackoverflow.com/statement/S1234_P123_O123,其中S1234等是独特的标签(我不一定同意人类可读的uris,但我想它们必须留在人类没有阅读uris)。美妙的是它应该取消引用并给出一个很好的人类与机器可读的表示