Describing Ontology Relationships

Similar documents
Web Ontology Language: OWL

IKL. a l o g i c f o r i n t e r o p e r a t i o n

Short notes about OWL 1

Semantic Technologies

KDI OWL. Fausto Giunchiglia and Mattia Fumagallli. University of Trento

So many Logics, so little time

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

Table of Contents. iii

Semantic Web. Ontology and OWL. Morteza Amini. Sharif University of Technology Fall 95-96

Semantic Web in Depth: Web Ontology Language (OWL) Dr Nicholas Gibbins 32/3019

CC LA WEB DE DATOS PRIMAVERA Lecture 4: Web Ontology Language (I) Aidan Hogan

Web Ontology Language: OWL

TMCL and OWL. Lars Marius Garshol. Bouvet, Oslo, Norway

The ISO D approach

Web Ontology Language: OWL by Grigoris Antoniou Frank van Harmelen

The Semantic Web RDF, RDF Schema, and OWL (Part 2)

Web Ontology Language: OWL

7.2 OWL. the OWL versions use certain DL semantics:

Chapter 2 AN INTRODUCTION TO THE OWL WEB ONTOLOGY LANGUAGE 1. INTRODUCTION. Jeff Heflin Lehigh University

Chapter 4 Web Ontology Language: OWL

DEVELOPING AN OWL ONTOLOGY FOR E- TOURISM

Lecture 8 OWL: Web Ontology Language

Introduction to OWL. Marco Ronchetti Università di Trento Italy

Reasoning with the Web Ontology Language (OWL)

OWL-based reasoning with retractable inference

OWL Web Ontology Language

08 OWL SEMANTIC WEB ONTOLOGY WEB LANGUAGE IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

Knowledge Representation for the Semantic Web Lecture 4: Description Logics III

OWLET: An Object-Oriented Environment for OWL Ontology Management

Intelligent Agents. Pınar Yolum Utrecht University. Spring 2018 Pınar Yolum

Forward Chaining Reasoning Tool for Rya

Semantic Web Technologies Web Ontology Language (OWL) Part II. Heiko Paulheim

Chapter 4 OWL. Outline. A Brief History of OWL: SHOE. The OWL Family Tree

Overview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.

Teil IV: Wissensrepräsentation im WWW. Kap.11: Semantic Web

Chapter 4 OWL. Outline. The OWL Family Tree. A Brief History of OWL: SHOE

OWL 2 Web Ontology Language:Mapping to RDF Graphs W3C Working Draft 02 December 2008

Querying Data through Ontologies

Introduction to the Semantic Web. Alberto Fernández University Rey Juan Carlos

Teil IV: Wissensrepräsentation im WWW. Kap.11: Semantic Web. The semantic web layer cake

Why Ontologies? RRDIU - Semantic Web 2

Exercise 3.1 (Win-Move Game: Draw Nodes) Consider again the Win-Move-Game. There, WinNodes and LoseNodes have been axiomatized.

Deep integration of Python with Semantic Web technologies

Text Generation Starting From an Ontology

Lecture 3: Ontologies

Knowledge management. OWL Web Ontology Language

Chapter 3 Research Method

BaseVISor: A Triples-Based Inference Engine Outfitted to Process RuleML and R-Entailment Rules

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27

Publishing OWL ontologies with Presto

SOFTWARE ENGINEERING DESIGN I

Linked data schemata: fixing unsound foundations

Description Logic. Eva Mráková,

XML and Semantic Web Technologies. III. Semantic Web / 2. Web Ontology Language (OWL)

Knowledge management. OWL Web Ontology Language

A Survey of the Web Ontology Landscape

Metamodels for RDF Schema and OWL

BeliefOWL An Evidential Extension to OWL

Publishing Data Using Semantic Web Technologies

Linked data schemata: fixing unsound foundations

Semantic Web KM: A Knowledge Machine for Semantic Webs

ROWLBAC Representing Role Based Access Control in OWL

Automated Reasoning. Natural Deduction in First-Order Logic

X-KIF New Knowledge Modeling Language

Ontology-based Virtual IoT Devices for Edge Computing

Jorge Cardoso University of Coimbra, Portugal & KSRI/Karlsruhe Institute of Technology, Germany

SADI Semantic Web Services

Translating a Typical Business Process Modelling Language to a Web Services Ontology through Lightweight Mapping

Implementation Work on SILKIE

University of Dublin Trinity College. RDF Schema and OWL

A Federated Query Answering System for Semantic Web Data

Towards a Logic of the Ontological Dodecagon

Rules and Ontologies for the Semantic Web

Semantic Web Test

LINKING BACKGROUND INFORMATION

Linked data basic notions!

JOURNAL OF OBJECT TECHNOLOGY

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

A Small Interpreted Language

An Introduction to the Semantic Web. Jeff Heflin Lehigh University

A Framework for OWL DL based Ontology Construction from Relational Database using Mapping and Semantic Rules

Mapping Fundamental Business Process Modelling Language to a Semantic Web Based Language

6.001 Notes: Section 6.1

ONTOLOGY QUERY LANGUAGES FOR THE SEMANTIC WEB: A PERFORMANCE EVALUATION ZHIJUN ZHANG. (Under the Direction of John.A.

Efficient Querying of Web Services Using Ontologies

OWL a glimpse. OWL a glimpse (2) requirements for ontology languages. requirements for ontology languages

Type-directed Syntax Transformations for ATS-style Programs with Proofs

First things first. Page 1

Towards Conceptual Structures Interoperability Using Common Logic

A FRAMEWORK FOR DIRECT AND SEMANTICS BASED TRANSFORMATION FROM RELATIONAL DATABASE TO ONTOLOGY

Comp 411 Principles of Programming Languages Lecture 7 Meta-interpreters. Corky Cartwright January 26, 2018

SEMANTIC WEB AND COMPARATIVE ANALYSIS OF INFERENCE ENGINES

LECTURE 8: SETS. Software Engineering Mike Wooldridge

Semantic Web Technologies and Applications in e-biz. Hong-Gee Kim Dankook University

Linguaggi Logiche e Tecnologie per la Gestione Semantica dei testi

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

6.001 Notes: Section 8.1

Ontologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies

Collaborative Process Management in Construction by means of Rules and Ontologies

Web Ontology Language (OWL)

Transcription:

Describing Ontology Relationships A brief guide to the expressive powers of ISO Common Logic Pat Hayes, Florida IHMC phayes@ihmc.us 1

ISO Common Logic The recently published ISO Common Logic standard provides an unusually 'relaxed' syntax for FOL, one which removes many of the commonly assumed constraints on FOL syntax. This wild west syntax provides many new opportunities for describing mappings between axioms in different ontologies. 2

FOL syntax In a conventional FOL language (here referred to as GOFOL), there are three syntactic kinds of symbols: individual, function and relation names, and usually the last two are further divided by arity (number of arguments) and sometimes they are further subdivided into types or sorts. All this classification of the vocabulary is called a signature, and GOFOL languages are required to have a signature. CL does away with all this. The only 'signature' required is a single set of names. 3

Wild West syntax In CL, there are two basic assumptions: any name can be used for any purpose; and anything that has a name is in the universe of discourse. So we can use a name to refer to, say, a relation with one argument and a function with seven arguments and an individual. Anything at all can be treated as an individual (of course) but also as a function and as a relation, and this always makes logical sense. We call this 'wild west syntax' because, just like in the movies, there are no laws on the frontier. Anything goes. 4

Silly Example These are syntactically legal CL (in the CLIF dialect of CL, which we will use from now on): (P (P P)) ((P P)(P P)) (exists (x)((x x)(x x))) And are even satisfiable. The first says that P is a function which, when applied to itself, has a value of which it, itself, is true. For example (using the lambda-calculus), [lambda x. true] would satisfy this CL sentence. 5

CL really is FOL (exists (x)((x x)(x x)) ) doesn't look at a% like conventional GOFOL. If anything, it looks like a warped kind of higherorder logic, since it seems to allow quantification over functions and relations. And indeed, it does; and yet, it rea%y is firstorder. If you like, think of it as an alternative way of writing: (exists (x) (holds (apply x x)(apply x x)) ) which is of course perfectly correct GOFOL. 6

A pattern-maker's logic The practical effect of all this is that one can write arbitrary 'patterns' in CL and quantify over arbitrary 'parts' of them with complete freedom, without worrying too hard about what exactly the names denote. Moreover, the sequence markers allow one to recursively define LISP-like operations on the syntax itself. This is extremely useful. 7

The same relation can have different numbers of arguments: (Married Jill) (Married Jill Jack 2003)... (Married Jill Jack) so CL allows quantification over arbitrary finite sequences, to cover all the cases: (forall (r s...)(iff ((conj r s)...) (and (r...)(s...)) )) We know now that these are equivalent: ((conj Married InLove) Jill Jack) (and (Married Jill Jack)(InLove Jill Jack)) and, since we can use names for anything, we can give this a name: (= (conj Married InLove) TrueRomance) 8

First Real Example Transforming continuant language to '4-d' language. (forall ((c Continuant)(t Time) R )(if (R c t) ((transf R) (slice c t)) )) and then in the 4d ontology one can safely add (forall (x)(= x (transf x)) which means that one can there use the same name for the continuant and its sister occurrent (because there, they are the same thing). This trick of applying a 'transfer function' to one vocabulary is widely applicable. 9

Another real example: database mappings A database table can be treated as a predicate (class) which is true of all the rows in the table, and each column as a function (selection function, property) from the row to a value. 10

Another real example: database mappings Mappings between tables can then be described directly in CL syntax, even though they may seem to involve 'higher-order' constructions. T1 = (TableOf T1 E) C D E F T2 T2 G H U subset T of rows on which mapping is defined row r x (FromTo E H) H T) x (forall ((r (Forall T))(= ((r T))(= (E (E r)(h (H((FromTo E H) E H r)) T) )) r)) )) 11

Another real example: database mappings Cases like mappings on subsets of rows, compositional mappings, etc. are straightforward: (forall (S T)(iff (SubTable S T)(forall (x)(if (S x)(t x))) )) (forall ((r S) E H)(= (E r)(h ((FromTo E H) r)) )) (forall ((r S) a b)(= ((FromTo a b) r)((fromto a b S) r) )) (forall (x)(= ((comp f g) x)(f (g x)) )) These axioms are somewhat naive in that they assume that the relevant mappings always exist and are unique. A more careful approach could treat (FromTo a b S) as a predicate on mapping functions: (forall (S E H m)(iff ((FromTo E H S) m) (forall ((r S))(= (E r)(h (m r)))) )) (forall (a b)(= (FromTo a b)(fromto a b (TableOf a)) )) (forall (f g A B S)(if (and ((FromTo A B S) f)((fromto B C) g)) ((FromTo A C S) (comp g f)) )) 12

OWL-DL in CL (forall (x y...)(iff (owl:alldifferent x y...)(and (not (= x y)(owl:alldifferent y...) (owl:alldifferent x...)) )) (forall (x)(owl:alldifferent x)) (forall (f)(iff (owl:functionalproperty f)(forall (x y z)(if (and (f x y)(f x z))(= y z) )) )) (forall (f)(iff (owl:inversefunctionalproperty f)(forall (x y z)(if (and (f y x)(f z x))(= y z) )) )) (forall (x)(and (not (owl:nothing x))(owl:thing x) )) (forall (f)(iff (owl:symmetricproperty f)(forall (x y)(iff (f x y)(f y x))) )) (forall (f)(iff (owl:transitiveproperty f)(forall (x y z)(if (and (f x y)(f y z))(f x z) )) )) (forall (p c x)(iff ((owl:allvaluesfrom p c) x)(forall (y)(if (p x y)(c y)) )) (forall (c x)(iff ((owl:complementof c) x)(not (c x)) )) (forall (c d)(iff (owl:disjointwith c d)(forall (x)(iff (c x)(not (d x)))) )) (forall (c d)(iff (owl:equivalentclass c d)(forall (x)(iff (c x)(d x))) )) (forall (c d)(iff (owl:equivalentproperty c d)(forall (x y)(iff (c x y)(d x y))) )) (forall (p v x)(iff ((owl:hasvalue p v) x)(p x v) )) (forall (c...)(iff ((owl:intersectionof c...) x)(and (c x)((owl:intersectionof...) x)) )) (forall (x)((owl:intersectionof) x) (forall (p x y)(iff ((owl:inverseof p) x y)(p y x) )) (forall (... x y)(iff ((owl:oneof x...) y)(or (= x y)((owl:oneof...) y)) )) (forall (x)(not ((Owl:oneOf) x) )) (forall (p c x)(iff ((owl:somevaluesfrom p c) x)(exists (y)(and (p x y)(c y))) )) (forall (p (n Number) x)(iff ((owl:maxcardinality p n) x) (not (exists (y...)(and (owl:alldifferent y...)(number n...)((trueofall p x y)...)) )) )) (forall (p (n Number) x)(iff ((owl:mincardinality p n) x) (exists (...)(and (owl:alldifferent...)(number n...)((trueofall p x)...)) ) )) (forall (n x...)(iff (number (succ n) x...)(number n...) )) (number 0) (forall (p x...1...2)(iff ((TrueOfAll p...1) x...2)(and (p...1 x)((trueofall p...1)...2)) )) (forall (p...)((trueofall p...))) 13

OWL-DL in CL <owl:class rdf:id="whitenonsweetwine"> <owl:intersectionof rdf:parsetype="collection"> <owl:class rdf:about="#whitewine" /> <owl:restriction> <owl:onproperty rdf:resource="#hassugar" /> <owl:allvaluesfrom> <owl:class> <owl:oneof rdf:parsetype="collection"> <owl:thing rdf:about="#dry" /> <owl:thing rdf:about="#offdry" /> </owl:oneof> </owl:class> </owl:allvaluesfrom> </owl:restriction> </owl:intersectionof> </owl:class> (= WhiteNonSweetWine (owl:intersectionof #WhiteWine (owl:allvaluesfrom #hassugar (owl:oneof #Dry #OffDry)))) ) (= WhiteNonSweetWine (AND #WhiteWine (MustBe #hassugar (OneOf #Dry #OffDry))) ) 14