版本化的RDF商店

时间:2008-12-27 12:16:49

标签: database rdf privacy reification

让我试着改写一下:

我正在寻找具有以下功能的强大RDF商店或库:

  • 命名图表,或其他形式的具体化。
  • 版本跟踪(可能位于指定的图表级别)。
  • 用户组之间的
  • 隐私,无论是命名图还是三级。
  • 人类可读的数据输入和输出,例如 TriG 解析器和序列化器。

前段时间我和JenaSesameBocaRDFLibRedland以及其他一两个人玩过,但每个人都有问题。最近在上述领域有任何改进?其他任何事情可以做我想要的,还是RDF尚未准备好迎接黄金时段?


仔细阅读这个主题,我发现:

6 个答案:

答案 0 :(得分:2)

Talis是显而易见的选择,但无论如何,隐私可能是一个问题,或者是一个感知问题,因为它是一个SaaS产品。我说得很明显,因为列表中的三个强大功能是其平台IIRC的核心功能。

他们没有这样的功能列表 - 这使得很难备份这个答案,但他们确实say可以单独保护数据存储。我想你可以 - 在紧要关头 - 代表你自己的每个用户注册一个单独的商店。

通过为每个用户任务编写自定义界面,通常可以最好地支持人类可读输入,因此您最好随时准备按需要执行此操作。

关于黄金时段的准备情况。我会对某些应用程序说“是”,否则“不完全”。大多数社区需要与现有的开发人员工具集集成,并编写针对“普通”开发人员的良好文档 - 可能是使用Java,.NET和Ruby / Groovy的OO开发人员 - 然后我预测它会滚雪球。

另见Temporal Scope for RDF triples

答案 1 :(得分:2)

来自:http://www.semanticoverflow.com/questions/453/how-to-implement-semantic-data-versioning/748#748


我个人非常喜欢Freebase采用的实用方法。

浏览和编辑人类视图:

  • http://www.freebase.com/view/guid/9202a8c04000641f80000000041ecebd
  • http://www.freebase.com/edit/topic/guid/9202a8c04000641f80000000041ecebd

此处公开的数据模型:

  • http://www.freebase.com/tools/explore/guid/9202a8c04000641f80000000041ecebd

严格地说,它不是RDF(它可能是它的超集),但它的一部分可以作为RDF公开:

  • http://rdf.freebase.com/rdf/guid.9202a8c04000641f80000000041ecebd

由于它是一个社区驱动的网站,不仅需要跟踪谁说什么,什么时候......但他们可能也保留了历史记录(从不删除任何内容):

  • http://www.freebase.com/history/view/guid/9202a8c04000641f80000000041ecebd

总而言之,我解决问题的方式非常相似和务实。 AFAIK,您将找不到开箱即用的解决方案。但是,您可以使用“元组”商店(3或4不足以保持最精细的历史记录(即三元组)。

我会使用TDB代码作为库(因为它为你提供了B + Trees和你需要的许多有用的东西)而且我会使用一个数据模型,它允许我:计算四边形,为四元组分配所有权,时间戳和前一个/下一个四元组(如果有):

[ id | g | s | p | o | user | timestamp | prev | next ]

其中:

   id - long (unique identifier, same (g,s,p,o) will have different id... 
        a lot of space, but you can count quads... and when you have a 
        community driven website (like this one) counting things it's 
        important.
    g - URI (or blank node?|absent (i.e. default graph))
    s - URI|blank node
    p - URI
    o - URI|blank node|literal
 user - URI

时间戳 - 创建四边形时      prev - 前一个四边形的id(如果存在)      next - 下一个四边形的id(如果存在)

然后,您需要考虑所需的索引,这取决于您希望公开和访问数据的方式。

您不需要将所有内部结构/索引公开给外部用户/人员/应用程序。并且,当(以及如果)出现用于表示版本控制等的RDF词汇表或本体时,您可以使用它们快速公开数据(如果您愿意)。

请注意,这是不是通常的做法,你用“语义网眼镜”来看待它可能是错误的,不好的等等。但是,我正在分享这个想法,因为我相信它没有害处,它允许为您的问题提供解决方案(它将比四元组存储更慢并占用更多空间),其中一部分可以作为RDF / LinkedData暴露给语义网。

我的2(异端)分。

答案 2 :(得分:1)

LMF附带版本控制模块:http://code.google.com/p/lmf/wiki/ModuleVersioning

Linked Media Framework是一个易于设置的服务器应用程序,在JavaEE中开发,捆绑了核心语义Web技术,以提供许多高级服务。

答案 3 :(得分:0)

看看Virtuoso的RDF support是否符合您的需求,听起来好像它可能会走得很远,而且它也很适合XML和Web服务。有商业版和GPL版。

答案 4 :(得分:0)

Mulgara/Fedora-Commons可能适合该法案。我相信隐私目前是一个重要的项目,我知道它支持版本控制,但它可能太多,因为它也是一个对象存储。

答案 5 :(得分:0)

(多年后)

我认为这两个Oracle的RDF商店都是:

http://www.oracle.com/technetwork/database/options/semantic-tech/index.html

最近在IBM DB2中宣布的图形商店支持其中的大部分内容:

http://www-01.ibm.com/software/data/db2/linux-unix-windows/graph-store.html