【问题标题】:How to map relational database to OWL?如何将关系数据库映射到 OWL?
【发布时间】:2014-05-02 01:06:08
【问题描述】:

我正在尝试将关系数据库映射到 OWL 这是我的 2 张桌子 学生(学生 ID,学生姓名,课程 ID)
课程(课程 ID,课程名称)

+----+--------+-----------+    
| id | name   | course_id |  
+----+--------+-----------+     
|  1 | Adam   |         5 |   
|  2 | Michael|         2 |    
+----+--------+-----------+   
+-----------+-------------+    
| course_id | course_name |   
+-----------+-------------+      
|         2 | DM          |    
|         5 | WEBIR       |  
+-----------+-------------+

现在 course_id 是学生表引用中的外键 course_id 在课程表中。我使用 Protege 4.3 创建了本体(定义了架构)

我正在尝试使用 Jena API 将数据作为实例插入 OWL 文件。 在本体中,不是外键的列被映射到数据类型 根据本文(mapping relational to OWL(section 4.4.4)),属性和外键映射到对象属性。 我将元组作为实例添加到耶拿的学生和课程课程中。 如果外键是对象属性,我如何使用它来唯一地确定关系。 这是我用来将数据作为实例添加到 Protege 中创建的 owl 文件的耶拿代码。

    for (student std : studlist) {
        Individual stud = stud_ont.createIndividual(nspace + "student/"
                + std.getStudent_id());
        stud.addProperty(stud_id, std.getStudent_id());
        stud.addProperty(stud_name, std.getStudent_name());
        stud.addProperty(reln, std.getCourse_id());
        PrintStream p = new PrintStream(
                "/home/owlDM/newedu.owl");
        m.writeAll(p, "RDF/XML", null);
        p.close();
    }
    for (course crs : courselist) {

        Individual cour = course_ont.createIndividual(nspace + "course/"
                + crs.getCourse_name());
        cour.addProperty(course_course_name, crs.getCourse_name());
        PrintStream p = new PrintStream(
                "/home/owlDM/newedu.owl");
        m.writeAll(p, "RDF/XML", null);
        p.close();
    }

这里的“reln”是我为其添加外键 course_id(values) 的对象属性(功能)。 但它有助于关联两个实例吗? 假设我需要推断“亚当参加了 WebIR 课程”。

我的对象属性如何才能唯一地替换外键值 加入两个类的两个元组?
请提出建议,非常感谢任何帮助。

【问题讨论】:

    标签: rdf jena owl protege4


    【解决方案1】:

    D2RQ 平台是一个以虚拟、只读 RDF 图的形式访问关系数据库的系统”。

    你可能想看看

    【讨论】:

    • 感谢您的回复。使用 D2RQ 是我的第一种方法,D2RQ 只是将我的数据库转换为 RDF 文件。我想添加对象属性以使用我没有使用的 OWL(Protege)实现语义丰富能够使用 D2RQ。
    • 在您的本体中导入 RDF 文件(或在第三个本体中同时导入 RDF 文件和您的本体)并将其与推理器一起使用,以获得推理器支持的查询答案。
    • ONT-D2RQ 是 OWL2 的一个特殊分支
    猜你喜欢
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 2011-11-05
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多