symfony - 三元组存储的数据库结构?

标签 symfony rdf semantic-web triplestore rdflib

我想在我的 Symfony2 项目中使用 RDF/三元组来组织事物(在我的例子中是标签)。

我会看到这样的东西:

ENTITY TAG  <-------------- TAG_TAG --------------> ASSOCIATION_TYPE
         ^                     |
         |---------------------/

字段:

TAG
  ID
  Tag (text)
  Description (text/html)

TAG_TAG
  ID
  *TAG1
  *TAG2
  *ASSOCIATION_TYPE
  ASSOCIATION_PARAM

这样,我就能:

  • 存储三重关联
  • 设置不同的关联类型。例如,PHP是一种编程语言; stackoverflow.com 是一个网站;但地球绕着太阳转。
  • 设置参数(允许在关联内部提供更多信息)

我们可以考虑在 TAG_TAGASSOCIATION_TYPE 之间设置多对多关系。通过这样做,我们可以设置几个参数。

所以我有几个问题:

  1. 您认为这是有效存储三元组的好方法吗?
  2. 是否有任何 RDF 层可以提取现有的 RDF/三元组数据库并填充我自己的数据库?
  3. 我是否应该考虑使用某种 TripleStore(例如 Sesame)并将其与 Symfony 一起使用?

最佳答案

回答您的问题:

1)我不完全确定你在问什么。如果您询问这是否是对数据进行建模的合理方法,那么可能没问题。但你的图表不清楚,而且你对细节有点了解。最好的办法就是从一开始就做一些有效的事情。您可以稍后改进建模,而不会遇到太多麻烦。

如果您询问有关三元组的存储,请不要询问。请参阅我对 #3 的回复。

2) 有很多可用的 RDF 库,您有 Jena & Sesame在Java中,dotNetRdf对于.Net世界,RDFLib在Python中,redland对于C等。

3)是的。不要尝试重新发明轮子并建立自己的三重商店。这不是一个简单的项目,在任何合理的时间范围内,即使是现有的最差的三重商店,你也不会做得更好。

关于symfony - 三元组存储的数据库结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802340/

相关文章:

Java RDF 验证

Python 和 rdflib : parsing issues

nlp - 自然语言到 Sparql

php - FosUserBundle 在 FilterUserResponseEvent 中重定向

forms - Symfony2 访问 Twig 中的每个实体字段元素值

java - RDF数据集: write a DataSource into a file

rdf - 重复的 SPARQL 子查询

php - 计算 Mysql 表上的相同值

database - DBAL 从 Symfony2 中的实体连接到数据库

ontology - 如何使我的本体与现有本体保持一致?