RDF Semantics by Patrick Hayes W3C Recommendation http://www.w3.org/tr/rdf-mt/ Presented by Jie Bao RPI Sept 4, 2008 Part 1 of RDF/OWL Semantics Tutorial http://tw.rpi.edu/wiki/index.php/rdf_and_owl_semantics
A Layer Cake of Languages OWL2 OWL (RDFS 3.0) RDF(S) You Are Here
Outline What is Semantics? RDF: Syntax RDF Graph and Simple Entailment RDF Interpretation RDFS Interpretation
What is Semantics Syntax Semant ics Inferen ce Logic Merriam-Webster: the study of meanings Wikipedia: the study of meaning in communication.
What is Semantics? Intensional Meaning TW Students are Students with affiliation to the Tetherless World Group Extensional Meaning TW Students are the set {Jiao, Ankesh, Jesse, }
Model Theory Used to link intensional meaning and extensional meaning Alfred Tarski 1901-1983 Picure source: wikipedia Model theory assumes that the language refers to a 'world', and describes the minimal conditions that a world must satisfyin order to assign an appropriate meaning for every expression in the language. --RDF Semantics
Model: an Example Expression: TW Students are Students with affiliation to the Tetherless World Group A Model:
A Few Jargons Interpretation An interpretation is a world with each symbol and each expression assigned an extension. Model An model of a logic theory is an interpretation of the theory that satisfies all constraints specified by the theory Consistency A logic theory is consistent if it has a model. Satisfiability A symbol or expression x is satisfiable w.r.t. a logic theory K if there is a model of K with x sextension not empty. Entailment A logic theory K entails another logical theory K if every model of K is a model of K
Outline What is Semantics? RDF: Syntax RDF Graph and Simple Entailment RDF Interpretation RDFS Interpretation
RDF Family RDFS Vocabularyary RDFS Interpretation RDF Vocabulary RDF Interpretation RDF Graph Simple Interpretation Syntax Semantics
Not Covered in the Talk Blank Node (b-node) Literals (Datatypes) Containers Collections Reification Annotation Entailment rules (rule inference)
RDF: Triple and Graph Triple: (subject, property, object) UB U UBL (Url, Blank node, Literal) e.g., (Jim, is-a, Professor) e.g., (Jim, has-surname, Hendler ) not covered e.g.,(jim, has-pet, _:x) not covered Jim is-a has-surname has-pet Professor Hendler Graph: A set of triples
Outline What is Semantics? RDF: Syntax RDF Graph and Simple Entailment RDF Interpretation RDFS Interpretation
Simple Interpretation A simple interpretation I of a vocabulary V is defined by: 1. A non-empty set IRof resources, called the domain or universe of I. 2. A set IP, called the set of propertiesof I. 3. A mapping IEXTfrom IPinto the powersetof IR x IR i.e. the set of sets of pairs <x,y> with x and y in IR. 4. A mapping ISfrom URI references in V into (IR union IP) 5. A mapping ILfrom typed literals in V into IR. 6. A distinguished subset LVof IR, called the set of literal values, which contains all the plain literals in V We do not consider RDF vocabulary (e.g., rdf:type), yet.
Simple Interpretation V IS IP IR IEXT
Simple Interpretation Example V={a, b, c} Picture courtesy of RDF Semantics (Figure 1)
Simple Semantic Conditions if E is a URI reference in V then I(E) = IS(E) if E is a ground triple s p o. then I(E) = true if s, p and o are in V, I(p) is in IP and <I(s),I(o)> is in IEXT(I(p)) otherwise I(E)= false. if E is a ground RDF graph then I(E) = false if I(E') = false for some triple E' in E, otherwise I(E) =true if E is a plain literal "aaa" in V then I(E) = aaa if E is a plain literal "aaa"@tttin V then I(E) = <aaa, ttt> if E is a typed literal in V then I(E) = IL(E) If E is a blank node and A(E) is defined then [I+A](E) = A(E) If E is an RDF graph then I(E) = true if [I+A'](E) = true for some mapping A' from blank(e) to IR, otherwise I(E)= false
Note to Simple Interpreation IP may not be in IR A property (an element in IP) and its extension (mapping by IEXT) are separated. Thus avoids paradox like the barber paradox (A barber shaves only those men who do not shave themselves.)
Outline What is Semantics? RDF: Syntax RDF Graph and Simple Entailment RDF Interpretation RDFS Interpretation
RDF Vocabulary (rdfv) rdf:type rdf:property rdf:xmlliteral rdf:nil rdf:list rdf:statement rdf:subject rdf:predicate rdf:object rdf:first rdf:restrdf:seqrdf:bagrdf:altrdf:_1 rdf:_2... rdf:value
RDF Semantic Conditions x is in IP if and only if <x, I(rdf:Property)> is in IEXT(I(rdf:type)) Thus, RDF properties (IP) must be resources (IR) in the universe. (rdf:type rdf:type rdf:property) is always true More conditions for literals
RDF Interpretation Example Vocabulary: rdfv + V={a,b,c} Picture courtesy of RDF Semantics (Figure 2)
Outline What is Semantics? RDF: Syntax RDF Graph and Simple Entailment RDF Interpretation RDFS Interpretation
RDFS Vocabulary (rdfsv) rdfs:domain rdfs:range rdfs:resource rdfs:class rdfs:subclassof rdfs:subpropertyof rdfs:literal rdfs:datatype rdfs:member rdfs:container rdfs:containermembershipproperty rdfs:comment rdfs:seealso rdfs:isdefinedby rdfs:label
RDFS Semantic Conditions On classes x is in ICEXT(y) if and only if <x,y> is in IEXT(I(rdf:type)) IC = ICEXT(I(rdfs:Class)) IR = ICEXT(I(rdfs:Resource)) LV = ICEXT(I(rdfs:Literal)) If x is in IC then <x, I(rdfs:Resource)> is in IEXT(I(rdfs:subClassOf)) If <x,y> is in IEXT(I(rdfs:subClassOf)) then x and y are in IC and ICEXT(x) is a subset of ICEXT(y) IEXT(I(rdfs:subClassOf)) is transitive and reflexive on IC
RDFS Semantic Conditions On properties If <x,y> is in IEXT(I(rdfs:domain)) and <u,v> is in IEXT(x) then u is in ICEXT(y) If <x,y> is in IEXT(I(rdfs:range)) and <u,v> is in IEXT(x) then v is in ICEXT(y) IEXT(I(rdfs:subPropertyOf)) is transitive and reflexive on IP If <x,y> is in IEXT(I(rdfs:subPropertyOf)) then x and y are in IP and IEXT(x) is a subset of IEXT(y) More for container and literals
RDFS Axiomatic triples Domains rdf:type rdfs:domain rdfs:resource. rdfs:domain rdfs:domain rdf:property. rdfs:range rdfs:domain rdf:property. rdfs:subpropertyof rdfs:domain rdf:property. rdfs:subclassof rdfs:domain rdfs:class.
RDFS Axiomatic triples Ranges rdf:type rdfs:range rdfs:class. rdfs:domain rdfs:range rdfs:class. rdfs:range rdfs:range rdfs:class. rdfs:subpropertyof rdfs:range rdf:property. rdfs:subclassof rdfs:range rdfs:class. More for container, reification, literal, and annotation
RDFS-Valid Triples rdfs:resource rdf:type rdfs:class. rdfs:class rdf:type rdfs:class. rdf:property rdf:type rdfs:class. rdfs:domain rdf:type rdf:property. rdfs:range rdf:type rdf:property. rdfs:subpropertyof rdf:type rdf:property. rdfs:subclassof rdf:type rdf:property.
Conclusions Model Theory gives semantics to RDF(S) RDF and RDFS vocabularies pose semantic constraints on interpretations RDF: type, Property RDFS: domain, range, Resource, Class, subclassof subpropertyof Will see OWL 1 and OWL 2 extensions to RDF(S) in the future
More on RDF Semantics Herman J. ter Horst -Completeness, decidability and complexity of entailment for RDF Schema and a semantic extension involving the OWL vocabulary. In J. Web Sem. 3(2-3):79-115, 2005. Jos de Bruijn, Stijn Heymans -Logical Foundations of (e)rdf(s): Complexity and Reasoning. In ISWC/ASWC pp. 86-99, 2007. Jeff Z. Pan, Ian Horrocks -RDFS(FA) and RDF MT: Two Semantics for RDFS. In International Semantic Web Conference pp. 30-46, 2003.