싸미~*

[Semantic] 04-02. OWL Language

.Tech/SemanticWeb
  1. Syntax
    OWL은 RDF/ RDFS에 기초를 둘뿐 아니라, RDF의 XML syntax을 사용한다.
    물론 XML Syntax는 OWL의 Primary syntax이지만, 효과있는 Readable syntax가 되기에는
    한계가 있다.

    이런 이유로, OWL의 다른 Syntactic Form들이 명시된다.
    1. XML-based syntax
      RDF convention을 따르지 않는 XML-Based syntax이다.
    2. Abstract syntax
      'Language specification doc'에 사용되는 'Abstract syntax'이다.
      이는 XML syntax 또는 RDF/XML syntax보다는 좀더 readable/ compact 하다.
    3. Graphical syntax
      UML 언어 변환에 기반한 Graphical syntax이다.
  2. Header
    1. rdf:RDF
      OWL Document는 통상 'OWL Ontology'라 불리면서, RDF document이다.
      따라서, OWL ontology의 'Root(header) element'는, 여러 namespace을 명시하고 있는
      "rdf:RDF element'가 된다.

      Examples]

      <rdf:RDF
           xmlns:owl  = "http://www.w3.org/2002/07/owl#"
           xmlns:rdf   = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
           xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#"
           xmlns:xsd  = "http://www.w3.org/2001/XMLSchema">


    2. owl:Ontology
      OWL ontology는 'housekepping' 목적으로, assertion이 들어갈 수 있다.
      이 Assertion에는, Comment, 버젼, 다른 Ontology이 명시될수 있다.

      Examples]

      <owl:Ontology rdf:about=">
          <rdfs:comment>An example OWL ontology</rdfs:comment>
          <owl:priorVersion
                   rdf:resource="http://www.mydomain.org/uni-ns-old"/>
          <owl:imports
                   rdf:resource="http://www.mydomain.org/persons"/>
          <rdfs:label>University Ontology</rdfs:label>
      </owl:Ontology>


  3. Class elements
    Class 들은 "owl:Class" element을 통해서 선언된다.

    Example I ] owl:Class
    "associateProfessor" 라는 Class을 선언

    <owl:Class rdf:ID="associateProfessor">
        <rdfs:subClassOf rdf:resource="#academicStaffMember"/>


    Example II] owl:disdjointWith
    "associateProfessor" calss와 disjoint관계의 class."professor" / "assistnatProfessor"

    <owl:Class rdf:about="associateProfessor">
        <owl:disjointWith rdf:resource="#professor">
        <owl:disjointWith rdf:resource="#assistantProfessor"/>
    </owl:Class>


    Example III] owl:equivalentCalss
    ""

    <owl:Class rdf:ID="faculty">
        <owl:equivalentClass rdf:resource="#academcStaffMember"/>
    </owl:Class>


    기타]
    "owl:Thing" : 모든것(Everything)을 포함하는 general class을 의미
    "owl:Nothing" : Empty class을 의미.

    참고]
    "owl:Class"는 "rdfs:Class"의 subclass이다.


  4. Property elements

    OWL에는, 두가지의 property 가 있다.
    1. Object Properties
      Object와 다른 Object와의 관계를 말함
      e.g., "isTaughtBy", "supervises"..

      <owl:ObjectProperty rdf:ID="isTaughtBy">
          <owl:domain rdf:resource="#course"/>
          <owl:range rdf:resource="#academicStaffMember"/>
          <rdfs:subPropertyOf rdf:resource="involves"/>
      </owl:ObjectProperty>



    2. Datatype properties
      Object와 datatype 값들과의 관계를 말함
      e.g., "phone", "title", "age"..

      <owl:DatatypeProperty rdf:ID="age">
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema #nonNegativeInteger"/>
      </owl:DatatypeProperty>


    3. Inverse Properties
      e.g., 'isTaugtBy' 와 'teaches'의 inverse 속성 예제.

      <owl:ObjectProperty rdf:ID="teaches">
          <rdf:range rdf:resource="#course"/>
          <rdfs:domain rdf:resource="#academicStaffMember"/>
          <owl:inverserOf rdf:resource="#isTagugtBy"/>
      </owl:ObjectProperty>


    4. Equivalent properties
      e.g.,

      <owl:ObjectProperty rdf:ID="lecturesIn">
          <owl:equivalentProperty rdf:resource="teaches"/>
      </owl:ObjectProperty>


  5. Property restrictions
    C 라는 class가, C' Class의 subclass이라면, C의 모든 Instance 는 C'의 Instance가 된다.
    <==> (C가 어느 조건들을 만족하면, C의 모든 Instance들이 이 조건을 만족한다는 것이고,)
           C'는 이 조건들을 만족하는 모든 Object들을 포함 시킬 수 있다. 
    1. Object Properties
      Object와 다른 Object와의 관계를 말함
      e.g., "isTaughtBy", "supervises"..

      <owl:ObjectProperty rdf:ID="isTaughtBy">
          <owl:domain rdf:resource="#course"/>
          <owl:range rdf:resource="#academicStaffMember"/>
          <rdfs:subPropertyOf rdf:resource="involves"/>
      </owl:ObjectProperty>



    2. Datatype properties
      Object와 datatype 값들과의 관계를 말함
      e.g., "phone", "title", "age"..

      <owl:DatatypeProperty rdf:ID="age">
          <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema #nonNegativeInteger"/>
      </owl:DatatypeProperty>


    3. Inverse Properties
      e.g., 'isTaugtBy' 와 'teaches'의 inverse 속성 예제.

      <owl:ObjectProperty rdf:ID="teaches">
          <rdf:range rdf:resource="#course"/>
          <rdfs:domain rdf:resource="#academicStaffMember"/>
          <owl:inverserOf rdf:resource="#isTagugtBy"/>
      </owl:ObjectProperty>


    4. Equivalent properties
      e.g.,

      <owl:ObjectProperty rdf:ID="lecturesIn">
          <owl:equivalentProperty rdf:resource="teaches"/>
      </owl:ObjectProperty>


    1. Temp
    2. Temp
    3. Temp
  6. Special properties
    1. Temp
    2. Temp
    3. Temp
  7. Boolean combinations
  8. Enumerations
  9. Datatypes
  10. Versioning information
  11. Layering of OWL
신고

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

.Tech/SemanticWeb
  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에 비해 불리하
신고

[Study] 03-01.Logic (Discrete Mathmatics)

.Tech/SemanticWeb
  • Logic이란
    • 수학적 표현의 의미를 정확하게 기술할 수 있게 함

 

  • 명제 (Proposition)
    • 명제란 참(true, T) 또는 거짓(false, F)을 판정할 수 있는 선언적 문장을 말함
    • A proposition (p,q,r,s,...) is declarative statement that is either true(T) or falsh(F), but not both.

 

  • 용어
    • Compound proposition (복합명제)
      • 하나 또는 여러 명제를 조합하여 새로운 수학적 명제를 만들 수 있슴
    • Logical operator / Connective
      • 복합명제를 만들때 사용하는 연산자
      • 논리연산자(Logical operator)는 명제 연산자(Propositional operator) 혹은
        불리언 연산자(Boolean operator)라 불린다.
        피연산자(operand)로는 명제 혹은 진리값을 취한다
  • Boolean operator
    명칭 NickName Arity Symbol
    Negation operator NOT Unary  
    Conjunction operator AND Binary  
    Disjunciton operator OR Binary  
    Exclusive-OR operator XOR Binary  
    Implication operator IMPLIES Binary  
    Biconditional operator IFF Binary  

  • Negation
    p ~p
    T F
    F T
  • Conjunction
    p q p^q
    T T T
    T F F
    F T F
    F F F
  • Disconjunction
    p q p v q
    T T T
    T F T
    F T T
    F F F
  • Exclusive-OR operator
    p q p XOR q
    T T F
    T F T
    F T T
    F F F

  • Implication
    The implication 'p -> q' states that p implies q.
    That is, if p is true, then q is true; but p is not true, then q could be either true or false.
    p q p -> q
    T T T
    T F F
    F T T
    F F T
  • BIconditional
    The bicondiional p<->q states that p is ture if and only if (IFF) q is true.
    p q p <-> q
    T T T
    T F F
    F T F
    F F T


신고

[Semantic] 04. Web Ontology Language : OWL

.Tech/SemanticWeb
  • OWL Family Tree
     


    • OIL : European language
      • frame 기반의 언어를 기반을 둠
      • formal rigour을 강조함
      • Description logic 들로 구성된 semantic
      • RDFS 기반의 syntax

         
    • DAM-ONT : USA language
      • RDFS을 OO의 Constructor을 통하여 확장, frame기반의 언어
      • Semantic 표준과는 약간 거리가 있다
        - Machine interpretation , Human interpretation에 문제

         
    • DAM+OIL : EU/US Committe
      • DAML-ONT와 OIL을 수용
      • RDFS 기반 Syntax의 DL
      • W3C에 WebOnt로서 기초가 됨

         
    • OWL
      • W3C 권고안
      • DAML+OIL 에 기초를 둠
      • RDF/XML 과 연속성을 가짐
      • Formal Semantic - Frist Order/ Reationship with RDF

  • OWL Layering
    • OWL Full - OWL Syntax 와 RDF의 조합
      • Very high expressiveness
      • Losing tractability
      • All syntactive freedom of RDF
    • OWL DL - FOL fragment로 제한 (DAML+OIL과 비슷함)
      • Maximal expressiveness
      • While maintaining tractability
      • Standard formalisation in a DL
    • OWL Lite - OWL DL의 간단한 subset
      • Classificaiton hierarchy
      • Simple constraints


  • OWL Full
    • OWL vocabulary을 사용하는데 있어 제한이 없다
      • Classes as instance
    • RDF style model theory
      • Reasoning using FOL engines
      • Semantics should correspond with OWL DL for suitably restricted KBs
  • OWL DL
    • 제한적인 OWL vocabulary 사용가능
      • No classes as instances
      • Defined by abstract syntax + mapping to RDF
    • Standard DL/FOL model theory
    • 장점들
      • Well defined 'semantics'
      • Formal properties well understood
      • Known reasoning algorithms
      • Implemented systems
  • OWL Lite
    • DL과 비슷하지만, Fewer constructs..
      • No explicit negation / union
      • Restricted cardinality (zeor or on)
      • No nominals (oneOf)
    • Semantics as per DL
      • Reasoning via standard DL engines (+datatypes)
        • e.g., FaCT, RACER, Cerebra, Pellet
신고

[Semantic] 03. Logic Review

.Tech/SemanticWeb
  • Introduction
    • Logic은 "delarative KR formalism" 이다. (KR = Knowledge Representation)

  • KR formalism 의 구성
    • Syntax - 'What you can say'
    • Semantics - 'What it means'
    • Inference Procedures - 'Reasoning''
신고

[Semantic] 02. RDF/RDFS - Semantic Web

.Tech/SemanticWeb
  • Introduction
    • RDF : Resource Description Framework
    • W3C Recommendation
    • Graphical formalism ( + XML syntax + Semantics)
    • Triple에 기초한 간단한 Data Model을 제공함

[참고] Explicit Specificaiton 을 위한 다양한 언어들 (Graphic Notations)

           - Semantic Networks
           - Topic Maps
           - UML
           - RDF

           - Semantic Networks

  • Object Oriented Models
    • Objects/ Instances/ Individuals
    • Types/ Classes/ Concepts
    • Reations/ Properties/ Roles

  • RDF Data Model
    • Statements 는 Triples로 구성
       <subject , predicate, object> e.g. <Sean, hasColleague, Ian>


    • Statement는 Resource의 속성을 묘사한다
    • Resource란, URI을 통해서 지정될 Object이다.
    • Linking Statement
      • 한 Statment의 Subject가 다른, Object 가 될수 있슴

  • RDF Syntax
    • RDF 는 XML Syntax임
    • 모든 "Description" element는 Resource을 묘사함
    • "Descripton"내 모든 attribute와 인접한 element는 , Resource의 Property임
    • URI로 resource을 참조함
      <Description about="some.uri/person/sean_bechhofer">
          <hasCollegue resource="some.uri/person/ian_horrocks"/>
          <hasName rdf:datatype="&xsd;string"> Sean K. Bechhofer </hasName>
      </Description>
  • RDF(S): RDF Schema
    • RDF 는 meta-data annotation에 대한 형식을 제공하는것이고,
      XML 형태로 이를 기입하는 방법을 제공한다.
      하지만, 'subClassOf' / 'type'과 같은 vocabulary에 대해 특별한 의미를 부여하지는 않는다
    • RDF Schema는, RDF을 "Schema Vocabulary"로 확장한 것인데,
      이는 기본 vocabulary term들과, 다음의 terms들간의 관계를 명시한다

           extra meaning 인 semantic
           - Class, type, subClassOf
           - Property, subPropertyOf, range, domain

    • RDF(S) Examples
      <Person, type, Class>
      <hasColleague, type, Property>
      <Professor, subCalssOf, Person>
      <Carole, type, Professor>
      <hasColleague, range, Person>
      <hasColleague, domain, Person>

  • RDF Schema Example
    - 3가지 Level로 구성 (Data, Ontology , Language level)


  • RDF/ RDF(S) "Liberality"
    • Class와 Instance(Indivduals)간에 구별이 없다
      <Species, type, Class>     - Species->Instance , Class = Class
      <Lion, type, Species>
      <Leo, type, Lion>
    • Property 역시, property을 가질 수 있다
      <hasDaughter, subPropertyOf, hasChild>
      <hasDaughter, type, familyProperty>
    • Language constructorontology vocabulary간에 구별이 없다.
      따라서, 생성자는 자신한테는 다른 것한테든 적용 될 수 있다.
      <type, range, Class>
      <Property, type, Class>
      <type, subPropertyOf, subClassOf>

  • Restrictions & Notes
    • Class 와 Property는 독립적으로 모델링 되어야 한다
      • 일반적인 'Object-Oriented' modeling과 다른점이다.
        일반적인 OO는 Properties가 Class의 일부분이기 때문이다.
      • 따라서, domain/ range statement는 매우 제한적으로 구성될 수 밖에 없다.
    • 위 그림의 Level간 Line은 설명을 위한 것이다.
    • RDF(S)는 매우 작은 범위의 "formal semantics"이다.
      • RDF(S) statement 내 내포된 다른 Statement가 무엇인지 명시해야 함
      • 다른 구성들간에 몇몇 Content에 대한 상호 협정이 필요하다.
        (RDF(s)와 다른 언어간의..)
  • RDF 문제점들..
    • RDF는, resource을 자세히 기술하기에는 매우 약하다
      • No localised range and domain constraints
        'hasChild' 의 range가 'Person' 에 있는지, 'Elephant'에 있는지 알수가 없다
      • No existence/ cardinality constraints
        'Person'의 모든 instance가 'mother'을 갖는지 알수가 없고,
        'Persons'는 정확히 2명의 부모를 갖는다고 알수가 없다.
      • No transitive, inverse or symmetrical properties
    • Reasoning 지원을 제공하기는 어렵다
      • No native reasoners for non-standard semantics
  • 해결책
    • RDF(S)는 다음의 특징들을 따르는 language (OWL)로 확장한다.
      • XML, RDF, RDFS와 같은 Web 표준으로 확장
      • 이해하기 쉽고, 사용하기 쉽게
      • automated reasoning 지원
신고

[Semantic] 01. Intro - Semantic Web

.Tech/SemanticWeb
  • Syntactic Web vs. Semantic Web
    • Syntactic Web...
      • Hypermedia - digital library
      • Database - application platform
      • platform for multimedia
      • naming scheme
         
  • Semantic Web Technologies
    • Explicit Metadata
      • data about data
      • meaning of data
    • Ontologies (below...)
    • Logic & Inference
      • Logic이란, Reasoning 원리를 연구하는 규칙이라 할수 있다.
      • 지식표현의 "Formal Language"
      • 자동화된 reasoner는 몇가지 주어진 지식으로 부터, 결과를 도출(추론)해 낼 수 있다.
      • Logic vs Ontology
        • Logic은, 함축된 Ontological 지식을 까보는것에 사용된다.
        • 쉽게, Logic은 Ontological 보다는 일반적인 것을 다룬다.
      • Trade off
        • 표현될수 있는 Logic이 많을수록, 결과를 그려내는데 더 많은 계산이 필요하다
    • Agents
       
  • Ontology in CS
      • It is constituted by a specify vocabulary used to descrbie a certain reality
      • A set of explicit assumptions regarding the intended meaning of the vocabulary

               "An Explicit Specification of a Conceptualisation"
                주] 무슨 말이야..;;

  • Structure of an Onotlogy

온토롤지는 두가지 구성이 있다.

  • Terms ==>Names (important concepts in the domain)

          e.g. Elephant = 동물이란 종의 한 구성원이란 개념

                  Adult_Elephant = 20년 이상의 elephant라는 개념

  • Relationship - Background Knowledge / Constraints on the domain

          e.g. Adult_Elephant 는 최소 2,000kg이 나간다는 것.

                 모든 Elephants는 '아프리카 코끼리' or '인디안 코끼리' 라는 것.

  • Web Ontology Languages
    • RDF Schema
      • Object와 그리고 이들간의 관계를 위한 Data Model
      • Vocabulary description language
      • Property와 Class의 일반적인 계층에 대한 의미(Semantic)을 제공함
    • OWL
      • Richer ontology language
      • class들간의 관계, cardinality등을 제공
  • Semantic Web.. 첫 단계
    • 자동 프로세싱이 가능한 Web Resource을 만든다
      • 기존의 'Rendering markup'을 'Semantic markup'으로 확장 (by metadata annotation)
      • Ontology을 통해서, (metadata) annotation에 대한 'vocabulary'을 제공
    • 'Web standard ontology language'
  • Semantic Layerd

 

    • XML Layer
      • Syntactic basis
    • RDF Layer
      • RDF data model
      • RDF Schema simple ontology language
    • Ontology Layer
      • More expressive languages than RDF Schema
      • OWL
    • Logic Layer
      • Enhanched ontology language
      • application-specific declarative knowledge
    • Proof Layer
      • Proof generation, exchange, validation
    • Trust Layer
      • Digital signature
      • Recommendations, Rating agencies...
신고