使用本体从原始数据中生成语义完整信息

Posted

技术标签:

【中文标题】使用本体从原始数据中生成语义完整信息【英文标题】:Using an ontology to produce semantic full information from the raw data 【发布时间】:2015-04-15 13:59:57 【问题描述】:

问题定义: 使用 ontoloy 将传感器数据(温度读数、传感器描述)存储为 rdf 格式。此外,使用 SPARQL 对存储的数据执行查询。

我的方法:我不是这个领域的专家,但我有一些基本的了解,因此我正在使用这种方法:1.创建本体,2.根据本体词汇转换数据,3.将转换后的数据存储到三元存储中,4.执行SPARQL查询。我不确定我是否遵循正确的方法。您身边的任何 cmets 都会很有价值。

到目前为止,我已经做了以下工作:

    我在 Protege 5.0.0 中创建了一个本体,名称为 ,用于表示温度传感器。该本体仅代表完整本体的一部分。 我已在 CSV 文件中收集数据,其中包括日期、时间和温度读数,如 所示 现在,我想使用此本体将 csv 文件以 rdf 形式存储在某些数据存储中。在这一步,我从过去三天被困住了。我找到了一些链接,例如link1、link2,但我仍然发现很难继续进行下去。我是否需要一个脚本来读取 csv 文件并执行映射到给定的本体概念。如果是,是否有执行相同操作的示例脚本?结果可能如下所示:

<datetime>valX</datetime>
<tempvalue>valY</tempvalue>

任何人都可以指导我进行以下操作: 1. 我是否采取了正确的步骤来解决问题? 2.如何解决第三步,即根据本体存储数据。

P.S:我也在 answers.semanticweb.com 上发布了这个问题。这只是为了尽快得到响应。

【问题讨论】:

看来这可能最好作为编辑发布到您之前的问题Annotating data using ontology,它没有提供足够的信息来真正回答问题。这更清楚了。 【参考方案1】:

其实这是对D2RQ映射语言和D2RQ服务器的一次很好的利用。

安装 D2RQ,然后连接到您的关系数据库来启动它。然后使用软件附带的生成器生成映射文件。然后你将有一个映射文件——编辑它并用你自己的替换自动生成的本体前缀。他们的网站有一个页面解释了映射语言的工作原理。

完成此操作并且映射文件中没有错误后,您实际上可以使用 SPARQL 查询整个关系数据集,甚至无需将其导出并加载到真正的三元存储中。

但是,如果您想导出并加载到三元组中,您只需运行 D2RQ 生成三元组功能(也包含在 d2rq 服务器中),然后将该三元组文件导入到 Jena Fuseki 之类的三元组中。

【讨论】:

以上是关于使用本体从原始数据中生成语义完整信息的主要内容,如果未能解决你的问题,请参考以下文章

服务层次的语义描述

基于本体的语义网生成工具

语义互操作性和上层本体

物联网中的语义技术

基于本体概念的语义相似度计算

本体编辑器