시맨틱웹기술과온톨로지의이해
Contents 1) Semantic Web 2) Ontology 3) Ontology Language 4) Examples
1. Semantic Web 2. Ontology 3. Ontology Language 4. Examples
Semantic Web 의발생배경 기존의 Web의문제점 정보의외형적인표현방법에치중 컴퓨터에의한부가적인정보제공의어려움 즉, 인간이미디어매체를볼수있도록하는데목적이있으며, 기계는전혀이해하지못함 사용자에게보여지는웹 기계가보는웹
Semantic Web 의등장 Semantic Web의필요성 지능형웹에이전트의개발을위하여웹자원을기계가이해할수있는기술의필요성증대... a goal of the Web was that, if the interaction between person and hypertext could be so intuitive that the machine-readable information space gave an accurate representation of the state of people's thoughts, interactions, and work patterns, then machine analysis could become a very powerful management tool, seeing patterns in our work and facilitating our working together through the typical problems which beset the management of large organizations. [Tim Berners-Lee]
Semantic Web Scientific American, May 2001: Realising the complete vision is too hard for now (probably) But we can make a start by adding semantic annotation to web resources
Semantic Web 의정의 Semantic Web 이란? W3C, Time Berners-Lee 인간만이해하는웹이아니라, 기계도서로의사소통을할수있는웹 웹자원을기계와기계사이에서이해하고추론하여정보를제공 ( 지능적인웹 ) 단순한키워드매칭 관련단어를카테고리해서보여주는방식
Semantic Web 의구조도 Resource Description Framework Semantic Web Self- Desc. Doc. Trust Rules Proof Data Logic Data Ontology vocabulary XML + NS + xml schema Digital Signature Ontology Technique Agent Program XML + NS + xml schema Unicode URI 시맨틱웹구조 (Berners-Lee XML 2000)
Semantic Web 의효과 정확하고의미있는정보제공가능 My mouse is broken. I need a new one 기계스스로분석하여사용자에게가장적합한정보제공가능 Driver
1. Semantic Web 2. Ontology 3. Ontology Language 4. Examples
Ontology 란? Ontology의정의 사람들이세상에대하여보고듣고느끼고생각하는것에대하여서로간의토론을통하여합의를이룬바를개념적이고컴퓨터에서다룰수있는형태로표현한모델 "An ontology is an explicit and formal specification of a conceptualization of a domain of interest "Ontologies are defined as a formal specification of a shared conceptualization." [Tom Gruber] [Borst]
Ontology 의역할과기능 Ontology의역할 사람과기계사이에커뮤니케이션이가능하도록사람의지식, 데이터모델을 formal specification으로표현 "An ontology is a description of the concepts and relationships that can exist for an agent or a community of agents" [Tom Gruber s Definition] Ontology의기능 정보콘텐츠구조에대한명세서 해당분야의지식공유와재사용 해당영역의가정에대한명시 지식과프로세스의분리
Ontology components Concepts(Class) : 개별객체및 domain, 개념화할대상 (Person, Car) Relation : 객체및 domain 간의관계 (subclass_of, is_a) Function : 특정 Relation(Father_of, sum_of_price) Axioms : 언제나 True 인명제 (a+0=a, if x > y then x+a>y+a) Instance : 현실세계로표현되는 elements(student called peter)
Ontology 의활용도 Taxonomy 로표현된정보 ( 단어 ) 들사이의추론을자동으로수행 사람이수작업으로할수없는많은정보 ( 단어 ) 들을온톨로지로만들어자동으로 관계성을표현할수있음 Primitive Concept, Property Web Space C1 C1 C1 C1 C1 C1 C1 Ontology-based Application Ontology Inference Rule Inference Legacy Algorithm Ontology Reasoner Real World
Ontology 의활용 Ontology의적용분야 인공지능분야 지식모델을구축하기위한방안으로적용 : 지식과정보를교환함으로써에이전트들간상호작용을통해의미있는문제를해결 정보검색분야 검색효율을높이기위한방안으로적용 : 정보의카테고리화, 유사어검색, 관련어검색 유비쿼터스컴퓨팅분야 유비쿼터스네트워크환경구축방안으로적용 : 상이한업체들에의해제조된기기들사이의이질적인데이터들이동적으로접근가능한모델구축 전자상거래분야 상거래부분의자동화방안으로적용 : 컴퓨터프로그램이상거래개념을이해하고처리
Database and Ontology
1. Semantic Web 2. Ontology 3. Ontology Language 4. Examples
Ontology Language Ontology 의시스템화를위하여표현할수있는 language 가요구 Ontology Language의요구사항 The syntax should be both intuitive to human users and compatible with existing Web standards. The semantics should be formally specified to provide a shared understanding. Expressive power adequate enough for defining the relevant concepts in enough detail, but not too expressive to make reasoning infeasible.
Origins of Ontology Language DARPA Agent Markup Language DAML OIL EU/NSF Joint Ad hoc Committee DAML+OIL RDF All influenced by RDF A W3C Recommendation OWL OWL Lite OWL DL OWL Full
RDF(Resource Description Framework) 지능형웹에이전트의개발을위하여웹자원을기계가이해할수있는표현언어로의변환필요성증대 RDF 는메타데이터요소들의의미와타요소들과의관계를기계가독형으로표현하기위하여개발 (W3C, 1999) RDF 는 XML 을 Directed graphs 로표현하여메타데이터사이의연결을제공
RDF 의특성 RDF is a graphical language used for representing information about resources on the web. It is a basic ontology language. Resources are described in terms of properties and property values using RDF statements. Statements are represented as triples, consisting of a subject, predicate and object. [S, P, O]
RDF Example Nick hascolleague Matthew Subject : Nick Predicate :hascolleage Object : Matthew
RDF Data Model RDF Data Model 은객체사이의관계를정의 <subject, predicate, object> RDF 에서노드는인덱스되지않고 URIs(Unique Resource Identifiers) 를사용하여표현 URI 의예 ) http://www.co-ode.org/people#hascolleague coode:hascolleague
RDF Schema(RDFS) RDF Schema란? RDF의스키마를구성하기위하여특정한문법을추가 (RDF + more) RDFS에서추가된문법 Class Property subclassof range Person domain subclassof subclassof Student domain hassupervisor range Researcher type frank hassupervisor jeen type
RDFS 의문제점 RDFS too weak to describe resources in sufficient detail No localised range and domain constraints Can t say that the range of haschild is person when applied to persons and elephant when applied to elephants No existence/cardinality constraints Can t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents No transitive, inverse or symmetrical properties Can t say that ispartof is a transitive property, that haspart is the inverse of ispartof or that touches is symmetrical Difficult to provide reasoning support
OIL&DAML, DAML+OIL OIL(Ontology Inference Layer) : OntoKnowledge project를통하여유럽연구자들이개발 RDFS의확장으로써 Description Logic이적용되어지식을표현가능 디폴트값, 메타클래스를지원불가능 DAML(DARPA Agent Markup Language) : 미국국방과학연구소에서군사용에이전트제어시스템 (COABS : Control of Agent-Based System) 의일부분으로개발 DAML+OIL : W3C와 DARPA 프로젝트에속한많은연구원들이 OIL의제약사항을해결하기위하여 DAML과의결합
OWL(Web Ontology Language) OWL W3C에서표준 Ontology Language로지정 (2003) RDFS를기반으로의미를확장 DAML+OWL에기반을둔 Ontology 구축경험을토대로개념의일관성을확보하며, 관계가보다명료하게정의되도록정리 OWL의종류 OWL full : OWL 구문포함 + RDF 구문구조를제약없이사용 (not decidable) OWL DL : OWL Full에서 Decidable할수있도록 Description Logic을기반으로제약 OWL Lite : OWL DL의축소판
OWL 의특성 What s inside an OWL ontology Classes + class-hierarchy Properties (Slots) / values Relations between classes (inheritance, disjoints, equivalents) Restrictions on properties (type, cardinality) Characteristics of properties (transitive, ) Annotations Individuals Reasoning tasks : classification, consistency checking
OWL 의구성요소 An OWL ontology consists of Individuals, Properties, and Classes Individuals : 특정영역의표현된실제객체 Properties : class( 또는 individual) 사이의관계및 class( 또는 individual) 와데이터값사이의관계를표현 object properties : class요소들간의관계를표현 data properties : data property는 class요소가취해야하는데이터의형식과값을표현 Classes : 동일한속성을지니고있어하나로묶을수있는 Individuals을정의한집합 Individuals : Gemma, Matthew, Italy, England, USA, Fluffy, Fido Properties : hassibling, haspet, livesincountry Classes : Person, Country, Pet
OWL Classes OWL is an ontology language that is primarily designed to describe and define classes. Classes are therefore the basic building blocks of an OWL ontology. OWL supports six main ways of describing classes The simplest of these is a Named Class The other types are: Intersection classes, Union classes Complement classes, Restrictions, Enumerated classes
OWL Restrictions Restrictions describe a class of individuals based on the type and possibly number of relationships that they participate in. Restrictions can be grouped into three main categories: Quantifier Restrictions (Existential, Universal ) Cardinality Restrictions (Min, Equal =, Max ) Has Value Restriction ( )
OWL Properties There are two main categories of properties Object properties and datatype properties. Object properties link individuals to individuals. Datatype properties link individuals to datatype values (e.g. integers, floats, strings). Properties can have as specified domain and range.
OWL Property Characteristics We can specify certain property characteristics. Functional For a given individual, the property takes only one value. Inverse functional The inverse of the property is functional. Symmetric If a property links A to B then it can be inferred that it links B to A. Transitive If a property links A to B and B to C then it can be inferred that it links A to C.
OWL 2 A new version of OWL Main goal To define profile of OWL that are : Smaller, easier to implement and deploy Cover important application areas and are easily understandable to nonexpert users To add a few extensions to current OWL that are useful and is known to be implementable
OWL 2 Syntax & Semantics
OWL 2 family tree
OWL 2: three simpler language profiles OWL 2 EL Used by practically relevant ontologies Fast implementations available OWL 2 RL Rule-based reading simplifies modelling and implementation Fast and scalable implementations exist OWL 2 QL Convenient light-weight interface to legacy data Fast implementations on top of legacy database systems (relational or RDF)
The Profiles of OWL
SWRL(Semantic Web Rule Language) SWRL is an acronym for Semantic Web Rule Language SWRL is intended to be the rule language of the Semantic Web SWRL includes a high-level abstract syntax for Horn-like rules All rules are expressed in terms of OWL concepts (classes, properties, individuals)
SWRL Characteristics W3C Submission in 2004: http://www.w3.org/submission/swrl/ Rules saved as part of ontology Increasing tool support: Bossam, R2ML, Hoolet, Pellet, KAON2, RacerPro, SWRLTab Can work with reasoners
Example SWRL Rule Man(?m) Person(?m) Person(?p) ^ hassibling(?p,?s) ^ Man(?s) hasbrother(?p,?s) hasparent(?x,?y) ^ hasbrother(?y,?z) hasuncle(?x,?z)
1. Semantic Web 2. Ontology 3. Ontology Language 4. Examples
FOAD OAF enables creating a web of machine-readable information describing people, the links between them and the things they create and do.
SOCAM(Service Oriented Context Awareness Middleware) CONON The Context Ontology Xiao Hang Wang, Da Qing Zhang, Tao Gu, Hung Keng Pung (2004)
CoCA(Collaborative Context-Aware Service) EHRAM Dejene Ejigu, Marian Scuturici, Lionel Brunie(2007) Hierarchies (H) of set of Entities (E) / set of entity Relations (Re) / set of attribute Relations (Ra) Set of axioms (A) / set of metadata (M) Generic Layer Domain Layer
SOUPA E-2
Mobile Ontology 모바일폰에대한 Ontology 기반지식모델구축 ZHU Junwu, LI Bin, WANG Fei, WANG Sicheng International Journal of Digital Content Technology and its Applications 2010 E-1
Summary Allowing machines to understand the meaning or semantics of information on WWW, we can avoid overwhelming the user with the sheer volume of information becoming available. A semantic Web can be implemented using Ontology. Ontologies are ambitious classification systems. OWL Ontologies provide vocabulary for annotations. End
References [1] Sean Bechhofer, Ian Horrocks1 and Peter F. Patel-Schneider, Tutorial on OWL, ISWC, Sanibel Island, Florida, USA, 2003 [2] An Introduction to RDF(S) and a Quick Tour of OWL, The University of Manchester [3] A Practical Guide To Building OWL Ontologies Using Protege 4 and CO-ODE Tools, The University of Manchester [4] Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, Knowledge Representation for the Semantic Web Part I: OWL 2, KI 2009 Paderborn [5] Martin O Connor, The Semantic Web Rule Language, Stanford University