본문 바로가기

.주제별/일반

[Semantic] 04-01. OWL Language (Motivation & Overview)

  1. Intro
    - RDF는 'binary ground predicates'  에 있어서,
     RDF Schema는 'subclass hierarchy' / 'property hierachy' 에 있어서 매우 제한적이다.
    - 미국/ 유럽의 여러 그룹에서 보다 강력한 "ontology modeling language"의 필요성을 확인하고,
     이는 DAML+OIL 라 불리는 언어로 연구가 진행되었다.
  2. Requirements for ontology language
    Ontology language는, Domain 모델의 'Explicit, formal conceptualizations' 을 할수 있어야
    하는데, 이를 위해서는 다음의 요구사항들을 만족해야 한다.
    1. A well-defined syntax
        - 정보의 Machin-processing을 위해서 꼭 필요한 것이다.
         - DAML+OIL, OWL는 RDF/ RDF(S) 기반에서 발전되었고, 이런 비슷한 Well-defined Syntax을
          지니고 있다.
    2. A well-defined(formal) semantics
         -   'Formal semantics'는 지식의 의미(meaning of knowledge)을 명확히 표현한다.
            즉, 주관적인것을 배제하고, 다른 사람 또는 기계마다 다른 해석으로 다가가지 않는 것이다.
         -   "Ontology Knowledge"에는 다음의 사항들을 염두해둔다.
                    .Class Membership
                    .Equivalence of classes
                    .Consistency
                    .Classfication
    3. Efficient reasoning support
      Reasoning support가 중요한 이유는,
         - Ontology / Knowledge의 Consistency을 확인하고
         - Class들간의 의도하지 않은, 관계를 확인하고
         - 자동으로, Class들에 포함되어 있는 instance들을 정형화(Classify) 할수 있다.

      OWL은 부분적으로는 Description Logic에 해당되고,
      기존의 Reasoner (FaCT, PACER)을 사용함.
    4. Sufficent expressive power
    5. Convience of expression
  3. Limitaitons of the expressive power of RDF Schema
    1. RDF/ RDF(S)는 어느정도 Ontology knowledge을 표현할 수 있다.
      정형화된 계층구조(subclass/ subproperty 관계, domain/ range 제한,
      class의 instance 등) 로, vocabulary들의 구성을 꾀할수 있다.
    2. 다음의 특징들은 RDF/RDF(S)에서 고려되지 않은 것들이다.
      1. Local scope properties
           e.g., "rdfs:range"는 'property의 range'을 명시할수 있다.
                  ->  모든 class들에 대해서   'eats'의 property을 부여하였다 치자,
                    하지만, 특정 class들에게 'range restriction'을 선언할 수 가 없다.
                  -> 소이외 다른 동물들이 고기를 먹을 수도 있다 해서,
                     소는 오직 풀만을 먹는다 말한 수 없다.
      2.  Disjoin of classes
          e.g., 때로는 class의 disjoint을 보이고 싶은데, (male vs femal 같은 disjoint)
                  RDF(S)는 'femal은 person의 subclass'와 같은,
                  subclass 관계만을 말할 수 있다.
      3. Boolean combinations of classes
         e.g., 때로는 union/ intersection/ complement을 통해서, class들을 합쳐서
                새로운 class을 만들어 내고 싶을 때가 있다.
                (male, femal을 합쳐서 person이라는 클래스를 만드는 것처럼)
                하지만, RDF Schema는 이런 정의를 내릴수가 없다.
      4. Cardinality restrictions
         e.g., 때로는 proerty에 'distinct' value들을 취하고 싶을때가 있는데,
              (person는 오직 한 부모님을 갖는다. 강의는 최소한 하나의 강사가 가르친다 등.)
              RDF(S)에서는 불가능한 일이다.

        - Special characteristics of properties
        e.g., property의 transitive, unizueq, inverse등을 표현할수가 없다.

        [주의] Expressive Power와 Effiecient reasoning support에는
                  trade-off가 존재한다.
  4. Compatibility of OWL with RDF/RDFS
    이론적으로, OWL은 RDFS의 확장이 되어야 하지만,
    Expressive Power와 Efficient reasoning support간의 trade-off 로 인하여,
    단순한 확장을 하기에는 무리가 있다

  5. Three species of OWL
    1. OWL Full
      - 모든 OWL primitive들을 사용한다.
      - Primitive들을 RDF와 RDFS와 연결할 수 있다.
      - OWL FULL 의 장점은, RDF와 Full 호환이 된다는 것이다.
        즉, 'legal RDF doc' = 'legal OWL full doc'
      - OWL Full 의 단점은, '완전한 reasoning support'가 이루어져야 한다는 것이다.
    2. OWL DL
      - OWL Full의 sublanguage로, computaional effieciency을 고려하기 위하여
        OWL 의 생성자, RDF사용에 제한을 두었다.
      - 비록 Full RDF을 지원하지 못하지만, "Efficient reasoning support" 되는 장점이 있다.
    3. OWL Lite
      - OWL DL의 여러 생성자에 제한을 둠.
      -
    4. 3언어 선택시 고려사항
      - OWL DL과 Lite에서 선택은, 두 언어중 어떤것이 더욱 풍부한 표현의
      생성자(Constructor) 을 필요로 하는 것이다.
      - OWL DL과 FUll에서 선택은, 두 언어중 RDFS와 Meta-modeling 요구 정도인다.
        OWL FulL의 완전한 구현은 불가능 하기 때문에,   OWL Full은 'reasoning support'측면에서 DL에 비해 불리하