3

リレーショナル データベースを OWL にマップしようとしています ここに私の 2 つのテーブルがあり
ます

+----+--------+-----------+    
| 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 ファイルに挿入しようとしています。オントロジーでは、外部キーではない列はデータ型プロパティにマッピングされ、外部キーはこのペーパーに従ってオブジェクト プロパティにマッピングされます(OWL(セクション 4.4.4) に関連するマッピング)。タプルをインスタンスとして Jena の学生クラスとコース クラスに追加しています。外部キーがオブジェクト プロパティの場合、それを使用して関係を一意に決定するにはどうすればよいですか。Protege で作成された owl ファイルにデータをインスタンスとして追加するために使用した jena コードを次に示します。

    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) を追加するオブジェクト プロパティ (機能) です。しかし、2 つのインスタンスを関連付けるのに役立つでしょうか。つまり、「Adam が WebIR コースを受講した」と推測する必要があるとします。

2 つのクラスの 2 つのタプルを一意に結合するために、オブジェクト プロパティで外部キー値をリレーショナルに置き換えるにはどうすればよいですか?
提案してください、どんな助けでも大歓迎です。

4

1 に答える 1

2

D2RQプラットフォームは、仮想の読み取り専用 RDF グラフとしてリレーショナル データベースにアクセスするためのシステムです」.

あなたはそれを見てみたいかもしれません

于 2014-03-24T15:33:44.397 に答える