2010-10-21 38 views
0

比方说,从任何语言是抽象的,我们有一些本体由三元组(如受检者(S) - 谓语(P) - 对象(O))创建指向本体节点

现在,如果我想出于某种原因,注释这些三元组(节点),而不是我想保留链接到我可以在Web文档中使用它们。

下面是一些条件:

1)这样的链路必须在一个文本行的形式

2)这样的链路应该由机器和人

容易地解析的两3)这样的链接的部分应该划界

4)这样的链接必须很容易grep,这意味着它们应该用一些不同的字母或字符包装,以使它们易于正则表达从任何网络或其他文件

5)这样的链接可以在URL的路径名或查询字符串中使用,因此具有符合URL语法

6)在这样的链路使用的字符为URL的路径名不能被保留,查询字符串或散列(例如不是“/”,“;” “?”,“#”)

我的想法而已如下:

一)开始,并与一些不同的,恒定的字母集结束这样的链接,例如STK _....._ OVRFLW

b)用破折号“ - ”分隔的部分,例如,主谓对象

因此,它看起来像:

 
STK_S1234-P123-O1234_OVRFLW 

你有更好的想法?

+0

你熟悉RDF和RDFa吗?我认为您所描述的与已有的语义Web技术非常接近。请参阅... http://en.wikipedia.org/wiki/Resource_Description_Framework http://en.wikipedia.org/wiki/RDFa – 2010-10-31 21:07:40

+0

是的,我熟悉它们。但问题是,当前的RDF样式的UID很难通过POST传递(例如,因为它们使用了#字符),并且XML样式符号很难用Javascript解析(如果我使用一些JS插件来检测RDF - 页面上的链接) – 2010-11-04 21:13:24

回答

1

我与@msalvadores在这一个 - 这似乎是语义网/链接数据的典型用法(虽然在一个相当复杂的形式),你的例子似乎更多地与URI设计,而不是关联其他。

#在语义网络中被广泛处理,还有用于通过sparql查询rdf的JavaScript库 - 使用标准更符合实际。

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

的链接将是1行文字

这将是很容易的机器可解析的,以使其可解析人,这可能需要考虑一下URI的设计。

划界再次是对URI设计

容易grepping - URI设计

URL语法 - 嘀

没有 “/”, “;” “?”,“#” - 我会尝试将它合并到url中,而不是将它推出来

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

+0

问题?而URL中的#是#根本不解释服务器端和?谴责以下是查询。 有趣的是,我在2010年发布了这个问题,我回来时也遇到了类似的问题。我需要为网站上的所有项目创建URI,即使URL结构发生变化,URI也不会随时间而改变,并且会以某种方式解析为当前的URL。 – 2012-07-10 22:52:04