30

Protege 설치 & 인터페이스 투어

OWL 온톨로지 언어

학습 목표

Protege를 설치하고 기본 온톨로지를 만들 수 있다 추론기를 실행하고 결과를 해석할 수 있다

Protege 5.6 — OWL 온톨로지 편집의 표준 도구

학습 목표

  • Protege를 설치하고 실행할 수 있다
  • 주요 탭(Classes, Object Properties, Individuals, Reasoner)의 역할을 안다
  • 간단한 클래스 계층을 Protege에서 생성할 수 있다

Step 1: 설치

에디터 로딩 중...

추천: Desktop 버전 설치. Web 버전은 기능이 제한적.


Step 2: 첫 실행 & 인터페이스 이해

에디터 로딩 중...

주요 탭 설명:

역할핵심 기능
Classes클래스 계층 관리생성, 계층 정의, 제약 추가
Object Properties개체-개체 속성관계 정의, inverse, 특성
Data Properties개체-값 속성데이터타입 속성 정의
Individuals개체(인스턴스)클래스 멤버 생성, 속성 값 할당
Reasoner추론기 실행HermiT/Pellet 선택 및 실행

Step 3: 간단한 온톨로지 만들기

  1. 새 온톨로지 생성: File → New → Ontology IRI 입력

    에디터 로딩 중...
  2. 클래스 생성: Classes 탭 → owl:Thing 하위에 추가

    • Person (owl:Thing 아래)
    • Student (Person 아래)
    • Professor (Person 아래)
    • Organization (owl:Thing 아래)
    • University (Organization 아래)
    • Course (owl:Thing 아래)
  3. Object Property 생성: Object Properties 탭

    • teaches (domain: Professor, range: Course)
    • studiesAt (domain: Student, range: University)
    • enrolledIn (domain: Student, range: Course)
  4. Data Property 생성: Data Properties 탭

    • name (domain: Person, range: xsd:string)
    • age (domain: Person, range: xsd:integer)
  5. Disjoint 설정: Classes 탭에서

    • Person 선택 → Disjoint With → Organization 추가
  6. Individual 생성: Individuals 탭

    • Alice (type: Student, name: "Alice", age: 27)
    • Prof_Kim (type: Professor)
    • KAIST (type: University)
  7. 추론기 실행: Reasoner → HermiT → Start Reasoner

    • 노란색 → 추론된 결과
    • 빨간색 → 모순(inconsistency)

Step 4: OWL 파일 저장 및 확인

에디터 로딩 중...

Protege 핵심 단축키

단축키기능
Ctrl+N새 온톨로지
Ctrl+S저장
Ctrl+Shift+R추론기 실행
Ctrl+E클래스 추가
Tab탭 전환

실습 과제

  1. Protege를 설치하고 실행하세요
  2. 위 Step 3의 온톨로지를 직접 만드세요
  3. HermiT 추론기를 실행하고 추론 결과를 확인하세요
  4. Person을 Organization으로도 설정한 개체를 만들어 모순을 확인하세요
  5. Turtle 형식으로 저장하고 내용을 확인하세요
에디터 로딩 중...
힌트 보기
  • Protege 실행 시 Java 17+ 필요 (설치 확인)
  • 클래스 추가: owl:Thing 우클릭 → Add subclass
  • Disjoint 설정: 클래스 선택 → 오른쪽 'Disjoint With' 섹션
  • 추론기 안 뜨면: Reasoner 메뉴에서 HermiT 선택 후 Start
  • Turtle로 저장하면 rdflib에서 바로 parse 가능