INF3580/4580 Semantic Technologies Spring 2017

Similar documents
Today s Plan. INF3580 Semantic Technologies Spring Model-theoretic semantics, a quick recap. Outline

INF3580/4580 Semantic Technologies Spring 2017

INF3580 Semantic Technologies Spring 2012

Unit 2 RDF Formal Semantics in Detail

CS Knowledge Representation and Reasoning (for the Semantic Web)

Formalising the Semantic Web. (These slides have been written by Axel Polleres, WU Vienna)

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

INF3580/4580 Semantic Technologies Spring 2015

LECTURE 09 RDF: SCHEMA - AN INTRODUCTION

Logic and Reasoning in the Semantic Web (part I RDF/RDFS)

Today: RDF syntax. + conjunctive queries for OWL. KR4SW Winter 2010 Pascal Hitzler 3

RuleML and SWRL, Proof and Trust

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

RDF AND SPARQL. Part III: Semantics of RDF(S) Dresden, August Sebastian Rudolph ICCL Summer School

Semantic Web. MPRI : Web Data Management. Antoine Amarilli Friday, January 11th 1/29

Knowledge Representation for the Semantic Web

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

Seman&cs)of)RDF) )S) RDF)seman&cs)1)Goals)

Building Blocks of Linked Data

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Propositional Logic. Part I

Semantic Web Test

OWL DL / Full Compatability

Semantic Web Systems Querying Jacques Fleuriot School of Informatics

BUILDING THE SEMANTIC WEB

Semantic Web and Linked Data

Mustafa Jarrar: Lecture Notes on RDF Schema Birzeit University, Version 3. RDFS RDF Schema. Mustafa Jarrar. Birzeit University

2. RDF Semantic Web Basics Semantic Web

Ontological Modeling: Part 2

Today s Plan. 1 Repetition: RDF. 2 Jena: Basic Datastructures. 3 Jena: Inspecting Models. 4 Jena: I/O. 5 Example. 6 Jena: ModelFactory and ModelMaker

Toward Analytics for RDF Graphs

Semantics. KR4SW Winter 2011 Pascal Hitzler 1

Outline RDF. RDF Schema (RDFS) RDF Storing. Semantic Web and Metadata What is RDF and what is not? Why use RDF? RDF Elements

Reasoning with the Web Ontology Language (OWL)

An Introduction to the Semantic Web. Jeff Heflin Lehigh University

Logics for Data and Knowledge Representation: midterm Exam 2013

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

Semantic Web Engineering

2. Knowledge Representation Applied Artificial Intelligence

Making BioPAX SPARQL

Developing markup metaschemas to support interoperation among resources with different markup schemas

Deep integration of Python with Semantic Web technologies

Linked data and its role in the semantic web. Dave Reynolds, Epimorphics

Flexible Tools for the Semantic Web

Preface Violine(stradivari1) 4string(stradivari1). x.violine(x) 4string(x)

Introducing Linked Data

Today s Plan. 1 Repetition: RDF. 2 Jena: Basic Datastructures. 3 Jena: Inspecting Models. 4 Jena: I/O. 5 Example. 6 Jena: ModelFactory and ModelMaker

Main topics: Presenter: Introduction to OWL Protégé, an ontology editor OWL 2 Semantic reasoner Summary TDT OWL

CS152: Programming Languages. Lecture 11 STLC Extensions and Related Topics. Dan Grossman Spring 2011

Semantic Web In Depth: Resource Description Framework. Dr Nicholas Gibbins 32/4037

XML and Semantic Web Technologies. III. Semantic Web / 1. Ressource Description Framework (RDF)

A Relaxed Approach to RDF Querying

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

INF3580 Semantic Technologies Spring 2012

Integrity Constraints (Chapter 7.3) Overview. Bottom-Up. Top-Down. Integrity Constraint. Disjunctive & Negative Knowledge. Proof by Refutation

Lecture 5 - Axiomatic semantics

Linguaggi Logiche e Tecnologie per la Gestione Semantica dei testi

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

RDF Semantics by Patrick Hayes W3C Recommendation

Day 2. RISIS Linked Data Course

RDF Schema. Mario Arrigoni Neri

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.

Multi-agent and Semantic Web Systems: Querying

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

Logical reconstruction of RDF and ontology languages

The Semantic Web. What is the Semantic Web?

Today s Plan. INF3580/4580 Semantic Technologies Spring Reminder: RDF triples. Outline. Lecture 4: The SPARQL Query Language.

Semantic Web Ontologies

The Logic of the Semantic Web. Enrico Franconi Free University of Bozen-Bolzano, Italy

Week 4. COMP62342 Sean Bechhofer, Uli Sattler

Semantic Web. RDF and RDF Schema. Morteza Amini. Sharif University of Technology Spring 90-91

Multi-agent Semantic Web Systems: RDF Models

Inference Techniques

Linked Data and RDF. COMP60421 Sean Bechhofer

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

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018

Resource Description Framework (RDF)

Knowledge Representations. How else can we represent knowledge in addition to formal logic?

COMP718: Ontologies and Knowledge Bases

The Rule of Constancy(Derived Frame Rule)

Computation Club: Gödel s theorem

Semantic Days 2011 Tutorial Semantic Web Technologies

Bryan Smith May 2010

CSC 501 Semantics of Programming Languages

CC LA WEB DE DATOS PRIMAVERA Lecture 3: RDF Semantics and Schema. Aidan Hogan

Today s Plan. INF3580 Semantic Technologies Spring RDF on the Web. Outline. Lecture 13: Publishing RDF Data on the Web.

Chapter 2 & 3: Representations & Reasoning Systems (2.2)

Semantic Web and Python Concepts to Application development

Review. CS152: Programming Languages. Lecture 11 STLC Extensions and Related Topics. Let bindings (CBV) Adding Stuff. Booleans and Conditionals

X-KIF New Knowledge Modeling Language

Web Science & Technologies University of Koblenz Landau, Germany. RDF Schema. Steffen Staab. Semantic Web

Knowledge Representation in Social Context. CS227 Spring 2011

The R2R Framework: Christian Bizer, Andreas Schultz. 1 st International Workshop on Consuming Linked Data (COLD2010) Freie Universität Berlin

Module 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur

Lecture 1: Conjunctive Queries

6. Hoare Logic and Weakest Preconditions

From the Web to the Semantic Web: RDF and RDF Schema

Today s Plan. INF3580 Semantic Technologies Spring Outline. Oblig 4. Lecture 13: More SPARQL. Kjetil Kjernsmo.

SPARQL: An RDF Query Language

Multi-agent and Semantic Web Systems: RDF Data Structures

Transcription:

INF3580/4580 Semantic Technologies Spring 2017 Lecture 9: Model Semantics & Reasoning Martin Giese 13th March 2017 Department of Informatics University of Oslo

Today s Plan 1 Repetition: RDF semantics 2 Literal Semantics 3 Blank Node Semantics 4 Properties of Entailment by Model Semantics 5 Entailment and Derivability INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 2 / 44

Repetition: RDF semantics Outline 1 Repetition: RDF semantics 2 Literal Semantics 3 Blank Node Semantics 4 Properties of Entailment by Model Semantics 5 Entailment and Derivability INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 3 / 44

Repetition: RDF semantics Restricting RDF/RDFS We will simplify things by only looking at certain kinds of RDF graphs. No triples about properties, classes, etc., except RDFS Assume Resources are divided into four disjoint types: Properties like foaf:knows, dc:title Classes like foaf:person Built-ins, a fixed set including rdf:type, rdfs:domain, etc. Individuals (all the rest, usual resources) All triples have one of the forms: individual property individual. individual rdf:type class. class rdfs:subclassof class. property rdfs:subpropertyof property. property rdfs:domain class. property rdfs:range class. Forget blank nodes and literals for a while! INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 4 / 44

Repetition: RDF semantics Short Forms Resources and Triples are no longer all alike No need to use the same general triple notation Use alternative notation Triples Abbreviation indi prop indi. r(i 1, i 2 ) indi rdf:type class. C(i 1 ) class rdfs:subclassof class. C D prop rdfs:subpropertyof prop. r s prop rdfs:domain class. dom(r, C) prop rdfs:range class. rg(r, C) This is called Description Logic (DL) Syntax Used much in particular for OWL INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 5 / 44

Repetition: RDF semantics Example Triples: ws:romeo ws:loves ws:juliet. ws:juliet rdf:type ws:lady. ws:lady rdfs:subclassof foaf:person. ws:loves rdfs:subpropertyof foaf:knows. ws:loves rdfs:domain ws:lover. ws:loves rdfs:range ws:beloved. DL syntax, without namespaces: loves(romeo, juliet) Lady(juliet) Lady Person loves knows dom(loves, Lover) rg(loves, Beloved) INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 6 / 44

Repetition: RDF semantics Interpretations for RDF To interpret the six kinds of triples, we need to know how to interpret Individual URIs as real or imagined objects Class URIs as sets of such objects Property URIs as relations between these objects A DL-interpretation I consists of A set I, called the domain (sorry!) of I For each individual URI i, an element i I I For each class URI C, a subset C I I For each property URI r, a relation r I I I Given these, it will be possible to say whether a triple holds or not. INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 7 / 44

Repetition: RDF semantics An example intended interpretation { I 1 =,, } romeo I 1 = juliet I 1 = { } Lady I 1 = { Lover I 1 = Beloved I 1 = { loves I 1 =, Person I 1 = I 1,,, } } knows I 1 = I 1 I 1 INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 8 / 44

Repetition: RDF semantics An example non-intended interpretation I 2 = N = {1, 2, 3, 4,...} romeo I 2 = 17 juliet I 2 = 32 Lady I 2 = {2 n n N} = {2, 4, 8, 16, 32,...} Person I 2 = {2n n N} = {2, 4, 6, 8, 10,...} Lover I 2 = Beloved I 2 = N loves I 2 =<= { x, y x < y} knows I 2 = = { x, y x y} Just because names (URIs) look familiar, they don t need to denote what we think! In fact, there is no way of ensuring they denote only what we think! INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 9 / 44

Repetition: RDF semantics Validity in Interpretations Given an interpretation I, define = as follows: I = r(i 1, i 2 ) iff i1 I, i 2 I r I I = C(i) iff i I C I I = C D iff C I D I I = r s iff r I s I I = dom(r, C) iff dom r I C I I = rg(r, C) iff rg r I C I For a set of triples A (any of the six kinds) A is valid in I, written iff I = A for all A A. I = A INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 10 / 44

Repetition: RDF semantics Validity Examples I 1 = loves(juliet, romeo) because {, loves I 1 =,,, } I 2 = Person(romeo) because romeo I 2 = 17 Person I 2 = {2, 4, 6, 8, 10,...} I 1 = Lover Person because { } { Lover I 1 =, Person I 1 =,, } I 2 = Lover Person because Lover I 2 = N and Person I 2 = {2, 4, 6, 8, 10,...} INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 11 / 44

Repetition: RDF semantics Finding out stuff about Romeo and Juliet Statements Interpretations The Real World loves(romeo, juliet) Lady(juliet) Lady Person loves knows dom(loves, Lover) rg(loves, Beloved) loves(juliet, romeo) Lover Person I 1 17 32 I 2 I 3 I 4 INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 12 / 44

Repetition: RDF semantics Entailment Given a set of triples A (any of the six kinds) And a further triple T (also any kind) T is entailed by A, written A = T iff For any interpretation I with I = A I = T. Example: A = {..., Lady(juliet), Lady Person,...} as before A = Person(juliet) because... in any interpretation I... if juliet I Lady I and Lady I Person I... then by set theory juliet I Person I Not about T being (intuitively) true or not Only about whether T is a consequence of A INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 13 / 44

Repetition: RDF semantics Countermodels If A = T,... then there is an I with I = A I = T Vice-versa: if I = A and I = T, then A = T Such an I is called a counter-model (for the assumption that A entails T ) To show that A = T does not hold: Describe an interpretation I (using your fantasy) Prove that I = A (using the semantics) Prove that I = T (using the semantics) Countermodels for intuitively true statements are always unintuitive! (Why?) INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 14 / 44

Repetition: RDF semantics Countermodel Example A as before: A = {loves(romeo, juliet), Lady(juliet), Lady Person, loves knows, dom(loves, Lover), rg(loves, Beloved)} Does A = Lover Beloved? Holds in I 1 and I 2. Try to find an interpretation with I = {a, b}, a b. Interpret romeo I = a and juliet I = b Then a, b loves I, a Lover I, b Beloved I. With Lover I = {a} and Beloved I = {b}, I = Lover Beloved! Choose loves I = knows I = { a, b } Lady I = Person I = {b} to complete the count-model while satisfying I = A INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 15 / 44

Repetition: RDF semantics Countermodels about Romeo and Juliet Statements Interpretations The Real World loves(romeo, juliet) Lady(juliet) Lady Person loves knows dom(loves, Lover) rg(loves, Beloved) Person Beloved I 1 17 32 I 2 a I 3 b Counter-model! INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 16 / 44

Literal Semantics Outline 1 Repetition: RDF semantics 2 Literal Semantics 3 Blank Node Semantics 4 Properties of Entailment by Model Semantics 5 Entailment and Derivability INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 17 / 44

Literal Semantics Simplifying Literals Literals can only occur as objects of triples Have datatype, can be with or without language tag The same predicate can be used with literals and resources: ex:me ex:likes dbpedia:berlin. ex:me ex:likes "food". We simplify things by: considering only string literals without language tag, and allowing either resource objects or literal objects for any predicate Five types of resources: Object Properties like foaf:knows Datatype Properties like dc:title, foaf:name Classes like foaf:person Built-ins, a fixed set including rdf:type, rdfs:domain, etc. Individuals (all the rest, usual resources) Why? simpler, object/datatype split is in OWL INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 18 / 44

Literal Semantics Allowed triples Allow only triples using object properties and datatype properties as intended Triples Abbreviation indi o-prop indi. r(i 1, i 2 ) indi d-prop "lit". a(i, l) indi rdf:type class. C(i 1 ) class rdfs:subclassof class. C D o-prop rdfs:subpropertyof o-prop. r s d-prop rdfs:subpropertyof d-prop. a b o-prop rdfs:domain class. dom(r, C) o-prop rdfs:range class. rg(r, C) INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 19 / 44

Literal Semantics Interpretation with Literals Let Λ be the set of all literal values, i.e. all strings Chosen once and for all, same for all interpretations A DL-interpretation I consists of A set I, called the domain of I Interpretations i I I, C I I, and r I I I as before For each datatype property URI a, a relation a I I Λ Semantics: I = r(i 1, i 2 ) iff i1 I, i 2 I r I for object property r I = a(i, l) iff i I, l a I for datatype property a I = r s iff r I s I for object properties r, s I = a b iff a I b I for datatype properties a, b Note: Literals l are in Λ, don t need to be interpreted. INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 20 / 44

Literal Semantics Example: Interpretation with a Datatype Property { I 1 =,, { loves I 1 =, },, } knows I 1 = I 1 I 1 { age I 1 =, "16",, "almost 14", }, "13" INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 21 / 44

Blank Node Semantics Outline 1 Repetition: RDF semantics 2 Literal Semantics 3 Blank Node Semantics 4 Properties of Entailment by Model Semantics 5 Entailment and Derivability INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 22 / 44

Blank Node Semantics Blank Nodes Remember: Blank nodes are just like resources...... but without a global URI. Blank node has a local blank node identifier instead. A blank node can be used in several triples...... but they have to be in the same file or data set Semantics of blank nodes require looking at a set of triples But we still need to interpret single triples. Solution: pass in blank node interpretation, deal with sets later! INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 23 / 44

Blank Node Semantics Blank Node Valuations Given an interpretation I with domain I... A blank node valuation β...... gives a domain element or literal value β(b) I Λ...... for every blank node ID b Now define I,β i I,β = i I for individual URIs i l I,β = l for literals l b I,β = β(b) for blank node IDs b Interpretation: I, β = r(x, y) iff x I,β, y I,β r I...... for any legal combination of URIs/literals/blank nodes x, y... and object/datatype property r INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 24 / 44

Blank Node Semantics Sets of Triples with Blank Nodes Given a set A of triples with blank nodes... I, β = A iff I, β = A for all A A A is valid in I I = A if there is a β such that I, β = A I.e. if there exists some valuation for the blank nodes that makes all triples true. INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 25 / 44

Blank Node Semantics Example: Blank Node Semantics { I 1 =,, { loves I 1 =, { age I 1 = },, "16", }, knows I 1 = I 1 I 1 }, "almost 14",, "13", Let b 1, b 2, b 3 be blank nodes A = {age(b 1, "16"), knows(b 1, b 2 ), loves(b 2, b 3 ), age(b 3, "13")} Valid in I 1? Pick β(b 1 ) = β(b 2 ) =, β(b 3 ) =. Then I 1, β = A So, yes, I 1 = A. INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 26 / 44

Blank Node Semantics Entailment with Blank Nodes Entailment is defined just like without blank nodes: Given sets of triples A and B, A entails B, written A = B iff for any interpretation I with I = A, also I = B. This expands to: for any interpretation I such that there exists a β 1 with I, β 1 = A there also exists a β 2 such that I, β 2 = B Two different blank node valuations! Can evaluate the same blank node name differently in A and B. Example: {loves(b 1, juliet), knows(juliet, romeo), age(juliet, "13")} = {loves(b 2, b 1 ), knows(b 1, romeo)} INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 27 / 44

Properties of Entailment by Model Semantics Outline 1 Repetition: RDF semantics 2 Literal Semantics 3 Blank Node Semantics 4 Properties of Entailment by Model Semantics 5 Entailment and Derivability INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 28 / 44

Properties of Entailment by Model Semantics Monotonicity Assume A = B Now add information to A, i.e. A A Then B is still entailed: A = B We say that RDF/RDFS entailment is monotonic Non-monotonic reasoning: {Bird CanFly, Bird(tweety)} = CanFly(tweety) {..., Penguin Bird, Penguin(tweety), Penguin CanFly} = CanFly(tweety) Interesting for human-style reasoning Hard to combine with semantic web technologies INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 29 / 44

Properties of Entailment by Model Semantics Entailment and SPARQL Given a knowledge base KB and a query SELECT * WHERE {?x :p?y. The query means: find x, y, z with p(x, y) and q(y, z) Semantics: find x, y, z with KB = {p(x, y), q(y, z)}?y :q?z.} E.g. an answer means Monotonicity: x a y 2 z KB = {p( a, 2), q(2, )} KB { } = {p( a, 2), q(2, )} Answers remain valid with new information! INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 30 / 44

Properties of Entailment by Model Semantics Database Lookup versus Entailment Knowledge base KB: Person(harald) Person(haakon) father(harald, haakon) Question: is there a person without a father? Ask a database: Yes: harald ask a semantics based system find x with KB = x has no father No answer: don t know Why? Monotonicity! KB {father(olav, harald)} = harald does have a father In some models of KB, harald has a father, in others not. INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 31 / 44

Properties of Entailment by Model Semantics Open World versus Closed World Closed World Assumption (CWA) If a thing is not listed in the knowledge base, it doesn t exist If a fact isn t stated (or derivable) it s false Typical semantics for database systems Open World Assumption (OWA) There might be things not mentioned in the knowledge base There might be facts that are true, although they are not stated Typical semantics for logic-based systems What is best for the Semantic Web? Will never know all information sources Can discover new information by following links New information can be produced at any time Therefore: Open World Assumption INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 32 / 44

Properties of Entailment by Model Semantics Consequences of the Open World Assumption Robust under missing information Any answer given by Entailment KB = Person(juliet) SPARQL query answering (entailment in disguise) KB = {p( a, 2), q(2, )} remains valid when new information is added to KB Some things make no sense with this semantics Queries with negation ( not ) might be satisfied later on Queries with aggregation (counting, adding,... ) can change when more information comes INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 33 / 44

Entailment and Derivability Outline 1 Repetition: RDF semantics 2 Literal Semantics 3 Blank Node Semantics 4 Properties of Entailment by Model Semantics 5 Entailment and Derivability INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 34 / 44

Entailment and Derivability Two Kinds of Consequence? We now have two ways of describing logical consequence... 1. Using RDFS rules: :Lady rdfs:subclassof :Person. :juliet a :Lady. :juliet a :Person. rdfs9 Lady Person Lady(juliet) rdfs9 Person(juliet) 2. Using the model semantics If I = Lady Person and I = Lady(juliet)...... then Lady I Person I and juliet I Lady I...... so by set theory, juliet I Person I...... and therefore I = Person(juliet). Together: {Lady Person, Lady(juliet)} = Person(juliet) What is the connection between these two? INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 35 / 44

Entailment and Derivability Entailment and Derivability Actually, two different notions! Entailment is defined using the model semantics. The rules say what can be derived derivability provability Entailment is closely related to the meaning of things higher confidence in model semantics than in a bunch of rules The semantics given by the standard, rules are just informative can t be directly checked mechanically ( many interpretations) Derivability can be checked mechanically forward or backward chaining Want these notions to correspond: A = B iff B can be derived from A INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 36 / 44

Entailment and Derivability Soundness Two directions: 1 If A = B then B can be derived from A 2 If B can be derived from A then A = B Nr. 2 usually considered more important: If the calculus says that something is entailed then it is really entailed. The calculus gives no wrong answers. This is known as soundness The calculus is said to be sound (w.r.t. the model semantics) INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 37 / 44

Entailment and Derivability Showing Soundness Soundness of every rule has to be (manually) checked! E.g. rdfs11, A B B C rdfs11 A C Soundness means that For any choice of three classes A, B, C {A B, B C} = A C Proof: Let I be an arbitrary interpretation with I = {A B, B C} Then by model semantics, A I B I and B I C I By set theory, A I C I By model semantics, I = A C Q.E.D. This can be done similarly for all of the rules. All given RDF/RDFS rules are sound w.r.t. the model semantics! INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 38 / 44

Entailment and Derivability Completeness Two directions: 1 If A = B then B can be derived from A 2 If B can be derived from A then A = B Nr. 1 says that any entailment can be found using the rules. I.e. we have enough rules. Can t be checked separately for each rule, only for whole rule set Proofs are more complicated than soundness INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 39 / 44

Entailment and Derivability Simple Entailment Rules r(u, x) r(u, b 1 ) se1 r(u, x) r(b 1, x) se2 Where b 1 is a blank node identifier, that either has not been used before in the graph, or has been used, but for the same URI/Literal/Blank node x resp. u. Simple entailment is entailment With blank nodes and literals but without RDFS and without RDF axioms like rdf:type rdf:type rdf:property. se1 and se2 are complete for simple entailment, i.e. A simply entails B iff A can be extended with se1 and se2 to A with B A. (requires blank node IDs in A and B to be disjoint) INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 40 / 44

Entailment and Derivability Simple Entailment Example {loves(b 1, juliet), knows(juliet, romeo), age(juliet, "13")} loves(b 2, juliet) (b 2 b 1 ) loves(b 2, b 3 ) (b 3 juliet) knows(b 3, romeo) (reusing b 3 juliet) = {loves(b 2, b 3 ), knows(b 3, romeo)} INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 41 / 44

Entailment and Derivability Rules for (simplified) RDF/RDFS See Foundations book, Sect. 3.3 Many rules and axioms not needed for our simplified RDF/RDFS rdfs:range rdfs:domain rdfs:class... Important rules for us: dom(r, A) A(x) r(x, y) rdfs2 rg(r, B) r(x, y) rdfs3 B(y) r s s t r t rdfs5 r r rdfs6 r s r(x, y) rdfs7 s(x, y) A B B(x) A(x) rdfs9 A A rdfs10 A B B C rdfs11 A C INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 42 / 44

Entailment and Derivability Complete? These rules are not complete for our RDF/RDFS semantics For instance {rg(loves, Beloved), Beloved Person} = rg(loves, Person) Because for every interpretation I, if I = {rg(loves, Beloved), Beloved Person} then by semantics, for all x, y loves I, y Beloved I ; and Beloved I Person I. Therefore, by set theory, for all x, y loves I, y Person I. By semantics, I = rg(loves, Person) But there is no way to derive this using the given rules There is no rule which allows to derive a range statement. We could now add rules to make the system complete Won t bother to do that now. Will get completeness for OWL. INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 43 / 44

Entailment and Derivability Outlook RDFS allows some simple modelling: all ladies are persons The following lectures will be about OWL Will allow to say things like Every car has a motor Every car has at least three parts of type wheel A mother is a person who is female and has at least one child The friends of my friends are also my friends A metropolis is a town with at least a million inhabitants... and many more Modeling will not be done by writing triples manually: Will use ontology editor Protégé. INF3580/4580 :: Spring 2017 Lecture 9 :: 13th March 44 / 44