2014-03-24 2 views
2
내가

관계형 데이터베이스를 OWL에 매핑하는 방법은 무엇입니까?

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

이제 학생 테이블의 외래 키가 Course_ID에 여기있다 올빼미 제 2 개 테이블 학생 (student_id, STUDENT_NAME, Course_ID에)
코스 (Course_ID에, COURSE_NAME)이다 관계형 데이터베이스를지도하려고

코스 테이블의 course_id를 참조하십시오. Protege 4.3을 사용하여 온톨로지 (스키마 정의)를 만들었습니다.

Jena API를 사용하여 인스턴스로 OWL 파일에 데이터를 삽입하려고합니다. 온톨로지에서 외래 키가 아닌 열은 데이터 유형 에 매핑되고 외래 키는이 논문 (mapping relational to OWL(section 4.4.4))에 따라 개체 속성에 매핑됩니다. 나는 튜플을 예나의 학생과 코스 클래스의 인스턴스로 추가하려고합니다. 외래 키가 객체 속성 인 경우 어떻게 그것을 고유하게 관계를 결정하는 데 사용할 수 있습니까? Protege에서 작성한 올빼미 파일에 인스턴스로 데이터를 추가하는 데 사용한 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)를 추가 할 객체 속성 (기능적)입니다. 하지만 두 개의 인스턴스를 관련 짓는 데 도움이 될 것입니까? "Adam에서 WebIR 과정을 수강했습니다"라고 추론해야한다고 가정합니다.

내 개체 속성이 관계형의 외래 키 값을 고유하게 대체 할 수있는 방법 두 클래스의 두 튜플을 결합합니까?
제발, 어떤 도움을 주시면 대단히 감사하겠습니다.

답변

2

"D2RQ 플랫폼은 관계형 데이터베이스에 가상의 읽기 전용 RDF 그래프로 액세스하기위한 시스템입니다." 당신은 당신의 response.Using D2RQ에 대한 그

+0

감사를 보라 할 수 있습니다

이었다 내 첫 번째 방법은, D2RQ 그냥 RDF 믿을수 내 데이터베이스를 변환

사용하여 의미 농축 초래하는 객체의 속성을 추가하고 싶었 OWL (Protege)는 D2RQ를 사용하여 수행 할 수 없었습니다. – user3455581

+0

온톨로지의 RDF 파일 (또는 RDF 파일과 세 번째 온톨로지의 온톨로지)을 가져와 추론 자의 답변을 얻기 위해 추론 자와 함께 사용하십시오. – Ignazio

관련 문제