代码之家  ›  专栏  ›  技术社区  ›  paprika

概念数据建模:RDF是正确的工具吗?其他解决方案?

  •  2
  • paprika  · 技术社区  · 16 年前

    我正在计划一个结合各种数据源的系统,让用户对这些数据源进行简单的查询。系统的一部分需要充当一个了解所有连接数据源的抽象层:用户不应该[需要]了解底层数据的“提供者”。数据提供者可以是任何东西:关系数据库管理系统、错误跟踪系统、气象站。它们通过定义如何“提供”数据的公共API连接到查询系统。特定数据提供者理解的查询类型由其“提供”(例如 我知道这些实体,我可以为关系y提供x类型的集合,… )。

    我现在关心的是数据的统一性:不同的数据提供者需要在一个共同的词汇表上达成一致(例如,实体“客户”的名称可能在不同的系统中有所不同)。因此,需要定义实体及其关系的高级表示。

    到目前为止,我有以下要求:
    我需要能够定义对象及其属性。此外,这些对象之间的任意关系需要表示:定义关系性质(例如“known”)、多重性(例如1:n)和关系的方向/可导航性的动词。

    在我看来,RDF是一个可行的选择,但是它是这个工作的“合适的工具”吗?

    对于语义数据建模,还有哪些其他的解决方案/框架具有机器可读的表示形式,为什么它们更适合此任务?

    我很感激每一个意见和有用资源的指针。

    2 回复  |  直到 16 年前
        1
  •  2
  •   MarcoS    16 年前

    如果您需要对关系进行基数限制(例如“一个人知道1:n语言”),那么RDF是不够的(请参见 http://www.w3.org/TR/2004/REC-rdf-primer-20040210/#richerschemas )您将需要本体语言(对于大于1的基数,至少需要owl-dl: http://www.w3.org/TR/owl-guide/#owl_cardinality )

        2
  •  2
  •   user205512    16 年前

    我还考虑了一个XML数据库和XQuery,也许还有主题映射(这与RDF非常相似,但不太广为人知)。

    还有很多不太标准化的工具需要考虑,比如CouchDB(使用JSON)。

    很少有“正确的工具”,但考虑到您的需求,RDF是一个非常强大的竞争者。