knowledge base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfsparql以外のrdf...

38
Knowledge Base ―Semantic Web (3)― Masaharu Yoshioka

Upload: others

Post on 26-Sep-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Knowledge Base

―Semantic Web (3)―

Masaharu Yoshioka

Page 2: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Answer of the last lecture question

Please describe the metadata information as RDF

using Dublin Core Metadata terms

A title of the web site http://www.hokudai.ac.jp/

is 北海道大学 Hokkaido University and described

in Japanese.

<?xml version="1.0" encoding="Shift_JIS" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="ja"> <rdf:Description rdf:about="http:// www.hokudai.ac.jp/"> <dc:title>北海道大学 Hokkaido University </dc:title>

<dc:lang>日本語</dc:lang> </rdf:Description> </rdf:RDF>

Page 3: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Comments from the last report

RDF Information can be changed?

スマートフォンでもRDFは見れるのでしょうか?

SPARQL以外のRDFデータに対するクエリ言語はないのか?

RDFとDublin Coreのできることが知りたい。

実際に自分で書いてみないとイメージがつかめない。

Page 4: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Comments from the last report

よくわかりませんでした。

I can’t understand what you say in clear

sometimes. Can you show us Japanese slide?

課題がわかりませんでした。

日本語で説明してください。

わかりませんでした。

I didn’t understand how to solve question above.

Page 5: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Ontology (1)

Oxford English Dictionary

– Philosophy. The science or study of being; that branch

of metaphysics concerned with the nature or essence of

being or existence.

– As a count noun: a theory or conception relating to the

nature of being. Also in extended use.

– Related Terms

• epistemology

– Philosophy. The theory of knowledge and understanding,

esp. with regard to its methods, validity, and scope, and

the distinction between justified belief and opinion; (as a

count noun) a particular theory of knowledge and

understanding.

Page 6: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Ontology (2)

Ontology in Artificial Intelligence

– Discussion about representation of being in computer

• Two approaches to represent object using qualitative

physics (naïve physics)

– Device ontology

Representation of physical phenomena using device

related to the phenomena

– Process ontology

Representation of physical phenomena using process that

affects the attribute value of the device

• Failure of expert system (production rule)

– Expert system succeeded to extract knowledge of the

domain experts for reasoning.

– However, extracted knowledge is ad-hoc and it was

difficult to reuse such knowledge for other cases.

Page 7: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Ontology (3)

Definition

– Specification of a conceptualization

by T. Gruber@Stanford

– Systematic description of the concepts for constructing

problem solving system R. Mizoguchi@Osaka U (now

JAIST)

Utilization of Ontology

– Support knowledge reuse

• For reusing the knowledge, it is necessary to understand

the background of the knowledge.

– Communication among agents with different knowledge

• It is necessary to understand the correspondence between

the concept X of agent A and concept X’ of agent B

Page 8: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Ontology (4)

Similar technology (definition by OED)

– Taxonomy

Classification, esp. in relation to its general laws or

principles; that department of science, or of a particular

science or subject, which consists of or relates to

classification; esp. the systematic classification of

living organisms.

– Thesaurus

A collection of concepts or words arranged according

to sense; also (U.S.) a dictionary of synonyms and

antonyms.

Page 9: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Logic for Ontology

It is better to have a reasoning framework to

handle concepts.

– Identification of the same concept category

– Concrete-abstract relationship

– Concept category identification based on the instance

attribute

Description Logic

Page 10: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Background of Description Logic:

Semantic Network

Semantic Network

– Representation of semantic relations between concepts.

• Node represents concepts

• Labeled links represents relations with type

information

Mother Farther

Human

Child

is-a is-a

has-a

Page 11: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Background of Description Logic: Frame

Frame

– Representing knowledge about concept

– Frame: Attribute Slot + links to another concepts

Hanako

Gender Female

Farther Taro

Mother Yoshiko

Taro

Gender Male

Farther Ichizo

Mother Yoshie

Page 12: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Background of Description Logic:KL-ONE

KL-ONE

– Knowledge representation language based on semantic network and frame

– Representation of concept hierarchy (Abstract-concrete)

• Concept hierarchy are composed by multiple inheritance

– Representing concepts

• Primitive concept : Root concepts defined by the system

• Defined concept : Concepts defined by using inheritance/constraints of pre-defined concept(s)

– Knowledge representation based on the object

• assertion and description

• generic concept and individual concept

– Classification

• When new concepts are given, the system can find out appropriate position of the concept hierarchy.

Page 13: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Description Logic: DL Language

Knowledge representation language

– The core reasoning problems for DL language are

decidable.

– Varieties of DL languages are proposed for handling

varieties of operators allowed.

– Efficient algorithms are proposed for such languages

Page 14: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Application of DL Language

Reasoning task used by DL language

– Check satisfiability of the concept and subsumption

relationship among concepts

• Concept satisfiability

Check existence of the concept based on the given

constraints.

• Check subsumption relationship

Calculate subsumption relationship between

different concpets (e.g., Human is subsumed by

Animal)

Page 15: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Basic element of DL language

Basic element of DL language

– Concept

• A set of individuals that shares particular characteristics.

• Unary predicate of first order logic

– Role

• Attribute of Concept

• Binary predicate of first order logic

– Logical constructors

• ⊓(intersection or conjunction)、 ⊔ (union or disjunction)、¬(negation or compliment)

– Restriction

• (universal restriction)、 (existential restriction)

Page 16: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Concept Definition using DL Language

Example

– Female ⊓ Human “woman”

– Human ⊓ (has-child.Human) “Parent (human) :Human who has another Human as child”

– Human ⊓ has-child.Male “Human who does not

have any female child:If human has child, child should

be Male”

– Exercise

• What is a concept definition of father who only have

(a) male child(ren).

Page 17: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

ALC Language

Concept Representation in ALC – CN: A set of concept names

– RN: A set of role names

– Let ACN、RRN, C and D are concepts.

Followings are list of concepts.

A|C|C ⊓ D|C ⊔ D| R.C| R.C

– Interpretation I

• Domain I (non-empty set)

• Interpretation function I

– Assign subset of I for all concepts

– Assign subset of I I for all roles

Page 18: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Constructor of ALC and its Semantics

Constructor Syntax Semantics

Concept C CI I

Role R RI II

Intersection or conjunction C ⊓ D CIDI

Union or disjunction C ⌴ D CIDI

Universal restriction R.C {xI | y.(x,y)RI yCI }

Existential restriction R.C {xI | y.(x,y)RI yCI }

Top T TI = I

Bottom I =

Negation C I-CI

Page 19: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Knowledge described by DL Language

2 types knowledge – T-Box(Terminological knowledge)

• Intensive knowledge

• Concept definition Parent ≡ Human ⊓ (∃has-child.Human) Mother ≡ Parent ⊓ Female

• Define similar concepts precisely Employee ≡ Worker ⊓ has-boss.(Employee ⌴ Employer) Employee ≡ Worker ⊓ ∃has-boss.(Employee ⌴ Employer)

– A-Box(Assertional knowledge)

• Extensive knowledge

• Knowledge about individual IN Female(YOSHIKO) has-child(YOSHIKO, HANAKO)

Page 20: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Reasoning by DL Language

Reasoning task of DL Language

– Reasoning using T-Box

• Concept satisfiability

• Concept subusumption relationship analysis

– A-Box

• Consistency

• Check the concept of the given instance

Page 21: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Tableaux Method

Algorithms to check the concept satisfiability

– Show negation of a given formula cannot be satisfied = a given

formula is true.

• Rewriting formula as NNF (Negational Normal Form)

Negation appears just before the concepts

• Completion rules to rewrite the formula

• Find inconsistency

– {x:A, x:A}

– Tableaux method to judge subsumption relationship(C ⊑ D)

• C and D are replaced with basic concept ACN (C’ and D’)

• Translate C’ ⊓ D’ as NNF and apply tableaux method

– When this formula cannot be satisfied, the subsumption

relationship(C ⊑ D) is justified.

Page 22: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Completion Rules of Si

Completion Rules

name Condition Translation

⊓-rule x: C1 ⊓ C2 Si

{x: C1, x:C2}Si

Si+1=Si{x: C1, x:C2}

⊔ -rule x: C1 ⊔ C2 Si

{x: C1, x:C2} Si =

Si+1=Si{x: C1} or

Si+1=Si {x:C2}

-rule x: P.C, (x,y):PSi

y: CSi

Si+1=Si{y: C}

-rule x: P.CSi

{z|z: C, (x,z):PSi} =

Si+1=Si{y: C, (x,y):P}

Page 23: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Check Subsumption Relationship

Mother ⊑ Human

Mother ≡ Parent ⊓ Female

Parent ≡ Human ⊓ has-child.Human

Human ≡ Male ⊔ Female

Mother

Parent ⊓ Female

Human ⊓ has-child.Human ⊓ Female

(Male ⊔ Female) ⊓ has-child.(Male ⊔ Female)) ⊓ Female

(Male ⊔ Female) ⊓ has-child.(Male ⊔ Female)) ⊓ Female

⊓ (Male ⊔ Female)

(Male ⊔ Female) ⊓ has-child.(Male ⊔ Female)) ⊓ Female

⊓ (Male ⊓ Female)

Page 24: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Check Subsumption Relationship(Continue)

S0={x:(Male ⊔ Female) ⊓ has-child.(Male ⊔ Female)) ⊓

Female ⊓ (Male ⊓ Female)}

S1= S0 {x:(Male ⊔ Female) ⊓ has-child.(Male ⊔ Female)) ⊓ Female,

x: (Male ⊓ Female)}

S2= S1 {x:(Male ⊔ Female) ⊓ has-child.(Male ⊔ Female)),

x: Female}

S3= S2 {x:(Male ⊔ Female), x: has-child.(Male ⊔ Female))}

S4= S3 {x: Male x: Female}

S5’ = S4 {x:Female} S5= S4 {x: Male}

⊓-rule

⊓-rule

⊓-rule

⊓-rule

⊔ -rule

Page 25: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

ALC Language Family(1)

Cardinality Restrictions N

– At most n relations (R) nR

• 3has-child ⊓ Male Male who has at most 3 children

– At least n relations nR

• 3has-member ⊓ Team Team who has at most 3 members

Qualified Cardinality Restrictions Q

– At most n indviduals of C for relation R nR.C

• 3has-child.Male ⊓ Male Male who has at least 3 children

• 3has-member.Female ⊓ Team Team who has at least 3

members

Page 26: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

ALC Language Family(2)

Role operator R

– Satisfy two Roles at the same time R1 ⊓ R2

• (has-parent ⊓ has-Teacher).Male whose farther is also a teacher

Inverse Role I

– Inverse of relation R R-

• has-parent - ≡has-child

• has-parent -.Female ⊓ Human peopole who has female child

One-of O

– Defined by a set of instances {a1 ,a2 , ,an } • {Spring, Summer, Autumn, Winter}

Page 27: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

DL Processor

CLASSIC (1991)

– Old DL processor developed by Bell laboratory, AT&T

– Not available now

Standards for Semantic-Web

– OWL(Web Ontology Language)

– DAML (DARPA Agent Markup Language) +OIL (Ontology Interface Layer)

Tools for describing ontology

– Example:RACER https://www.ifis.uni-luebeck.de/index.php?id=385 ALCQHIR+ (D-)

• Support OWL

Page 28: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

OWL https://www.w3.org/OWL/

OWL: Web Ontology Language

– For precise definition of concepts using with RDF and

RDF Schema

– Concept definition by Description Logic

• Class hierarchy

• Attribute definition

• Intensive concept definition

• Extensive concept definition

Page 29: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

History of OWL

DAML+OIL

– DARPA Agent Markup Language Ontology Interface Layer

– Ontology for communication among different agents

OWL

– Extension of DAML+ OIL for usage at Semantic Web application

– Three variations that are take into account the balance between the

implementation cost and expressiveness

• OWL-Lite: The simplest language with lower expressiveness.

• OWL-DL:Add more expressiveness by using the Description

Logic framework.

• OWL-Full:No implementation restriction to represent

concepts appropriately.

Page 30: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Class definition

Extension of class definition in RDF Schema

– owl:class Subclass of (rdfs:subClassOf)

rdfs:class and、relationships defined in rdfs can be used

for describing resource using OWL.

– Class and instance(Individual)

owl:Thing is an instance(Individual) and associated

with class definition by using rdf:type

<owl:Thing rdf:about="#CentralCoastRegion">

<rdf:type rdf:resource="#Region"/>

</owl:Thing>

Page 31: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Property Definition

Property of class

replacement for rdf:Property

– owl:ObjectProperty Property of the object

– owl:DatatypeProperty

– Vocabulary used from RDF Schema

rdfs:subPropertyOf, rdfs:domain, rdfs:range

Type of property

– owl:transitiveProperty p(x,y) and p(y,z) → p(x,z)

– owl:symmetricProperty p(x,y) → p(y,x)

– owl:functionalProperty p(x,y) and p(x,z)→ y=z

– owl:inverseOf p1(x,y) → p2(y,x)

Page 32: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Constraints for the property

owl:restriction

– allValuesFrom, someValuesFrom

Values of the properties should be selected from the list

– owl:minCardinality

minimum cardinality: If it is 0 or 1, it represents

property is required or not(OWL-Lite)、can use integer

(OWL-DL)

Page 33: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Class Definition based on Property

Intensive definition of the class

– Class characterized by the property value.

• owl:restriction

<owl:Class rdf:ID="Wine">

<rdfs:subClassOf rdf:resource="&food;PotableLiquid"/>

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="#madeFromGrape"/>

<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">

1</owl:minCardinality>

</owl:Restriction>

</rdfs:subClassOf>

...

</owl:Class>

Page 34: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Relationship among Other Ontologies

Description about the relationship with other ontology

– owl:equivalentClass Same class of the class defined in other ontology.

– owl:equivalentProperty Same property of the property defined in other ontology.

– owl:sameAs Same individual defined in other ontology

– owl:differentFrom, owl:allDifferent Define the individuals are different from individual defined in other ontology explicitly

Reasoning about the correspondence between the concepts defined in other ontology

<owl:Class rdf:ID="Wine">

<owl:equivalentClass rdf:resource="&vin;Wine"/>

</owl:Class>

Page 35: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Advanced Class definition (OWL-DL)

Set operator based definition

– intersectionOf, unionOf, complementOf

Enumerated definition

– one of : Define class by using set of individuals

Two class descriptions have no individuals in

common

– disjointWith

Page 36: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

OWL Full

Can handle class as instance

– For example

• Class: Car and Japanese Car

• Instance Crown, Fit, Note,…

• However,

– There are cases that instance of Fit (Fit owned by a driver)

is necessary for the knowledge representation.

Page 37: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Integration of Multiple Ontologies

Ontology Matching

– Calculate similarity based on the description and/or

instance

– Ontology matching browser based on Web2.0 approach

Page 38: Knowledge Base - 北海道大学mhjcc3-ei.eng.hokudai.ac.jp/~yoshioka/kb/kby-3.pdfSPARQL以外のRDF データに対するクエリ言語 はないのか? RDFとDublin Coreのできることが知りたい

Summary

Ontology

– Specification of conceptualization

– Represent relationship among different concepts

Semantic Web:Understanding the semantic of the

Web

– Standardization of structured data representation

⇒XML, RDF, ...

– Standardization of concept

⇒Ontology