使用本体从原始数据中生成语义完整信息
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 之类的三元组中。
【讨论】:
以上是关于使用本体从原始数据中生成语义完整信息的主要内容,如果未能解决你的问题,请参考以下文章