我正在规划一个系统,该系统结合了各种数据源,并允许用户对这些数据源进行简单的查询。系统的一部分需要充当抽象层,了解所有连接的数据源:用户不应该[需要]了解底层数据“提供者”。数据提供者可以是任何东西:关系 DBMS、错误跟踪系统……、气象站。它们通过定义如何“提供”数据的通用 API 连接到查询系统。某个数据提供者理解的查询类型由其“报价”给出(例如我知道这些实体,我可以为您提供关系 Y 的类型 X 的聚合,...).
我现在关心的是数据的统一:各个数据提供者需要就通用词汇达成一致(例如,实体“客户”的名称可能因不同系统而异)。因此,需要定义实体及其关系的高级表示。
到目前为止我有以下要求:
我需要能够定义对象及其属性。此外,需要表示这些对象之间的任意关系:定义关系性质的动词(例如“知道”)、多重性(例如 1:n)以及关系的方向/可导航性。
我认为 RDF 是一个可行的选择,但它是这项工作的“正确工具”吗?
对于具有机器可读表示的语义数据建模,还有哪些其他解决方案/框架以及为什么它们更适合此任务?
我感谢每一个意见和有用资源的指示。
如果您需要对关系进行基数限制(例如“一个人知道 1:n 种语言”),那么 RDF 是不够的(请参阅http://www.w3.org/TR/2004/REC-rdf-primer-20040210/#richerschemas http://www.w3.org/TR/2004/REC-rdf-primer-20040210/#richerschemas)。您将需要本体语言(对于大于 1 的基数,至少需要 OWL-DL:http://www.w3.org/TR/owl-guide/#owl_cardinality http://www.w3.org/TR/owl-guide/#owl_cardinality)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)