【问题标题】:Assigning URIs to RDF Resources将 URI 分配给 RDF 资源
【发布时间】:2013-05-29 18:11:16
【问题描述】:

我正在使用 Gnome 技术编写一个桌面应用程序,并且我达到了 我开始计划语义桌面支持的阶段。

经过大量头脑风暴、草拟想法和模型、写笔记 并阅读了很多关于 RDF 和相关主题的内容,我终于想出了一个 计划草案。

我决定做的第一件事是定义我提供 URI 的方式 资源,这就是我想听听您的建议的地方。

我的程序由两部分组成:

1) 在较低级别上,定义了一个 RDF 模式。这是一套标准的 类和属性,可能由需要更多选项的用户扩展 (使用翻译成 RDF 的定义语言)。

2) 在高层次上,用户使用这些类定义资源,并且 属性。

低层没有问题,因为数据模型是 public:即使用户决定添加新内容,她也非常欢迎 分享它,让其他人的应用程序有更多的功能。问题是 与第二部分。在更高级别,用户定义任务, 会议、约会、计划和时间表。这些可能是私有的,并且 用户可能更喜欢在 URI 中包含任何信息来揭示来源 的信息。

以下是我心中的问题:

1) 我应该使用哪种 URI 方案?我没有网站或任何网络 页面,所以使用 http 没有意义。它似乎也没有 感觉使用任何其他标准 IANA 注册的 URI。我一直 考虑两个选项:使用一些自定义的、我自己的 URI 方案名称 公共资源,并为私有资源使用裸 URN,例如 这个:

urn : random_name_i_made_up : some_private_resource_uuid

但我想知道自定义 URI 方案是否是一个好的决定,我想 愿意听取您的意见:)

2) 如何隐藏私有资源?一方面,它可能非常有用 让 URI 告诉任务来自哪里,尤其是当任务来自 人们之间共享和委托。另一方面,它不 考虑隐私。然后我在想,我可以/应该使用两种不同的 URI 样式取决于用户设置?这会产生一些 不一致。我不知道在这里做什么,因为我没有 使用 URI 的经验。希望你能给我一些建议。

【问题讨论】:

    标签: uri rdf language-design ontology privacy


    【解决方案1】:

    1) 我应该使用哪种 URI 方案?

    我会建议标准 urn:uuid: 后跟您的资源 UUID。使用标准通常比本土解决方案更受欢迎!

    2) 如何隐藏私有资源?

    不要使用不同的标识符方案。试图将授权和访问控制融入身份方案是在以某种方式混合这些层,这势必会在未来给您带来痛苦。例如,如果用户将一些当前私有的内容(例如草稿)公开(现在处于可发布的形式)会发生什么?

    拥有一个单一、统一的标识符解决方案,然后提供一项或多项服务,这些服务可能会将给定的标识符解析为文档,也可能不解析,具体取决于上下文(用户身份、有关内容本身的元数据等)。是的,这很像 HTTP 服务器所做的,因此您可能需要重新考虑是否在您的架构中嵌入 HTTP 服务。如果不是,您需要的服务将与 HTTP 有许多相似之处,您只需要清楚标识符可能被解析为文档的情况,当不可能或不允许时会发生什么等。

    您可能还想考虑在哪里增加最大的价值。重新发明基本服务访问协议可能是一个有趣的练习,但是如果您在基本服务级别重用标准组件,您的用户可能会获得更多价值,并且一旦用户真正可以访问,就可以专注于创新和添加功能内容对象。

    【讨论】:

    • 谢谢,我会按照你的建议使用 UUID。 URI 本身不会包含任何位置数据,但资源共享仍然是可能的:通过一些外部服务,例如HTTP/XMPP,用户相互连接并能够使用该协议相互发送资源。然后,资源可以具有允许进一步访问它的详细信息。因此,如果不与其他人共享,私有资源仍然很容易保持私有 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 2014-05-19
    相关资源
    最近更新 更多