将mysql记录作为个体插入OWL本体

时间:2018-04-12 15:41:17

标签: sparql rdf owl ontology swrl

我使用Protege创建了一个本体,它在RDF / XML序列化中保存为.OWL文件。

我的本​​体有两个主要类别。类别和评论。 我已经定义了名为isAbout的对象属性,它连接了类别个体和审阅个体。

我在这两个类下创建了一些命名个体。然后我使用java jena加载我的本体并使用SPARQL查询一些数据。 到目前为止一直很好..

我在MySQL表中有一些评论数据,我想用我的本体进行映射并查询这些结果。

包含样本记录的我的数据库表。

------------------------------------
| Review      | Rating | Category  |
------------------------------------
| "Great one" | 5      | "Display" |
------------------------------------

我想将此数据转换为RDF,并将这些记录作为Review个体插入到本体中。将有一个类别个体,它在数据库表中使用Category值进行映射。所以我想使用isAbout对象属性链接这些新创建的个体。

那我该怎么做呢?

Ps:作为一个概念,我想将分布式数据源集成到一个通用平台中。我是在赛道上还是做错了什么,或者有更好的方法吗?

----更新2018/04/13 ----

我使用D2RQ工具取得了进展。这允许我将数据库表和列映射到本体并生成RDF。现在,我表中的数据在单独的RDF中表示如下。

<rdf:Description rdf:about="reviews/3">
<vocab:reviews_Category>OLED</vocab:reviews_Category>
<vocab:reviews_Rating rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">3</vocab:reviews_Rating>
<vocab:reviews_Review>wow</vocab:reviews_Review>
<vocab:reviews_ID rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">3</vocab:reviews_ID>
<rdfs:label>reviews #3</rdfs:label>
<rdf:type rdf:resource="vocab/reviews"/>

我的本​​体中的样本个体看起来像

<reviews_2:Review rdf:about="http://review-analyzer.local/ontologies/reviews_2.owl#tt2">
<reviews_2:isAbout rdf:resource="http://review-analyzer.local/ontologies/reviews_2.owl#amoled"/>
<reviews_2:comment>dfgh</reviews_2:comment>
<reviews_2:rating rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
>2</reviews_2:rating>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#NamedIndividual"/>

现在的问题是如何将这两个RDF组合起来从SPARQL中获取数据?我可以使用SWRL(语义Web规则语言)吗?

0 个答案:

没有答案