Semantic Web¶
Basics¶
- Goal:
- Provide web page in machine-readable form
- NOT: Understand natural language
- Common formats for integration/combination of data
- History/Motivation:
- Tim Berners-Lee, 2001
- Story of the Semantic Web Agent (plan complex tasks by using information from the Internet)
- WWW is the medium of documents for people
- Architecture:
- Semantic Web Stack
- How to represent knowledge?:
- Early: AI with frames by Marvin Minsky
- i.e., Slot and Filler notation
- Expert Systems: MYCIN (uncertain reasoning)
- Description logic
- Early: AI with frames by Marvin Minsky
- How to derive knowledge?
- Requires a formal semantics (large number of logics …)
- Requires decidability (often conflicts with expressiveness)
- Expressiveness may be application-dependent
- e.g., inheritance, negation, quantification
- Tight coupling between theory and practice
- e.g., fast evaluation
- Result:
- Description logics as formalism with OWL as implementation
- Contradictions:
- RDF-S forms a valid foundation for OWL
- Datalog uses the closed world assumption and negation as failure (also subset of description logic)
- Different semantics: Is the semantic web stack only one stack or two towers?
- Summary:
- Vision of the Semantic Web failed
- But, it resulted in well-standardized techniques
- Uniform Resource Identifier (URI)
- Identify items
- Extensible Markup Language (XML)
- Syntax (design own document formats)
- Use markup to enhance the semantics of content of documents
- Resource Description Framework (RDF)
- Machine-readable statements (triple)
- Uniform Resource Identifier (URI)
- e.g., RDF, OWL
The Web 3.0¶
- Project 10X
- Web 2.0: Connecting people
- Web 3.0: Connecting knowledge
- Add knowledge layer
- Realize Semantic Web vision
- Claim: Technology is present
- Trends:
- Semantic User Experience
- Personalized, context-aware, immersive human-computer interaction
- Semantic Social Computing
- Semantic Applications
- Semantic Infrastructure
- Semantic User Experience
.
Knowledge Representation¶
- Expert Systems/Deductive Database:
- Facts and rules
- e.g., Datalog, Fuzzy reasoning
- Question: How to represent the real-world knowledge?
- Knowledge representation:
- Concern: How to formally think
- Components:
- Symbol system/symbolic representation: Symbols representing the universe of discourse
- Symbol manipulation: Formal reasoning system (to allow inference)
- Knowledge base: Instance of this representation
- Rule of thump: The more expressive, the more complex
- Degrees of Representation framework:
- Simple controlled vocabulary (catalog, glossary)
- Simple relations between entities (classification, thesaurus)
- Semantic networks (ontologies, frames)
- Logic system (FOL, description logic)
- Multilayered extended semantic network (MultiNet)
Mapping Knowledge¶
- A representation abstracts from the real world
- Workflow for inference
- Map real world to Knowledge Representation Language
- Perform Inference (using a KB)
- Map new conclusions back to the real world
- Problem:
- Human reasoning is ambiguous due to natural language
- e.g., Chair is placed on the table. It was broken (what was broken?)
- e.g., Dog is placed on the table. It barked. (clearly, the dog barked)
- Properties of a representation system:
- Referential uniqueness
- Semantic uniqueness
- Functional uniqueness
- Workflow linguistic sentence to knowledge representation
- Disambiguate references
- Disambiguate word sense
- Write as predicate
Referential Uniqueness¶
- Entity references must be unique
- Symbolic representation must explicitly define relations for entity references
- Unique name is called instance or token
- e.g., Chair (chair-2543) is placed on the table (table-2334). It (chair-2543) was broken.
- Problem: Distributed scenario (multiple ID by different authorities)
Semantic Uniqueness¶
- Sense of words must be unique/unambiguous
- Symbols of internal representation must be unique
- e.g., bank/bank
- e.g., catch (a cold)/catch (a ball)
- i.e., resolve homonyms
- Important for generalizing rules
- e.g., things that are caught, have been moving before
- the cold was not moving!
- Disambiguate semantics
- Results in controlled vocabulary
- e.g., catch_cold, catch_object
Functional Uniqueness¶
- Internal representation must uniquely express the functional roles
- Functional role: subject, predicate, …
- e.g., different sentence structures (passive vs. active)
- Result:
- Tom catches the ball. vs. The ball is caught by Tom.
- catch_object(catcher: Tom, object: Ball)
Example: Linguistic Sentence¶

- Problem:
- Usually, semantics of a sentence can not be represented by a single predicate
- Solution: Use multiple predicates
- e.g., Tom catches a white football
- catch_object(tom, football)
- color(football, white)
- Problem:
- Functional role within predicates is not clear
- e.g., always valid or only in this sentence?
- e.g., are all footballs white?
Slot Assertion Notation¶
- Slot the same as arguments (based on the position of the argument)
- Assign roles to different arguments of predicates
- Turn predicate into instance
- Express a functional structure
- e.g.
catch(Tom, football)instance(X005, catch)catcher(X005, Tom)caught(X005, football)
- Reification:
- Add information about a statement
- Reifying a relationship: Interpret relationship as entity
- e.g.,
date_added(X0005, 2020-01-02)
Slot and Filler Notation (Frames)¶
- Marvin Minsky
- Idea:
- Combine different slot assertions into one statement
- Provide a structured expression
- Leads to object- or event-centered expression
- Example:
- Slot assertions:
instance(X005, catch)catcher(X005, Tom)caught(X005, football)
- Frame:
catch(X0005, (catcher Tom), (caught Football)) catcher, caught: Slot (first argument)Tom, Football: Filler (second argument)
- Slot assertions:
- Frame:
- Frame is an object without methods
- Frame is embedded in natural/hierarchical inheritance structure
- Frame can be viewed as stereotype/prototype
- Example:
- Frame-object:
catch(X0005, (catcher Tom), (caught Football)) - ID:
X0005 - Attributes:
(catcher Tom), (caught Football)
- Frame-object:
Description Logic¶
- Formalism of the semantic web
- Logic layer of the Semantic Web Stack
- Motivation:
- There are different schemes for knowledge inference
- First-order logic
- Pro: Expressive + Powerful
- Con: Un-intuitive, hard to model, Computationally hard
- Horn logic (e.g., Datalog)
- Pro: Computationally manageable
- Con: Less expressive, lacks intuitive modeling features
- Frame Systems
- Pro: Intuitive modeling, Human-centered
- Con: Lack of formal semantics
- Idea:
- Provide different degrees of expressiveness
- Retain decidability
- Description Logic:
- Combination of semantic frames and first-oder logic
- Has various degrees of expressiveness (different classes)
- Each description language (class) maps to a subset of first-order logic
- All description languages are decidable
- Rule of thumb: More expressiveness –> Higher computational complexity
- Description Language:
- Subset of description logic
- Named/classified by its feature sets
- e.g., Attribute language \( \mathcal{AL} \)
- Provides different expressiveness/complexity of the TBox
- Use a variable free syntax (shorter writing)
- Different languages:
- \( \mathcal{AL} \)
- \( \mathcal{C} \): General complement
- \( \mathcal{U} \): Union
- \( \mathcal{E} \): Full existential quantification
- \( \mathcal{S} \) (\( \mathcal{ALCLUE}+R^+ \))
- \( \mathcal{H} \): Role Hierarchies
- \( \mathcal{I} \): Role Inverses
- \( \mathcal{F} \): Functionality
- \( \mathcal{O} \): Nominals
- Implementations:
- RDF + RDF-S
- OWL
- DAML + OIL
- Assumptions (of DLs):
- Open World Assumption
- Interpretation domain \( \Delta^i \) is infinite
- Ambiguous Name Assumption
- Two concepts with different names may me equivalent
- e.g., Bruce_Willis vs. B_Willis_Actor
- Open World Assumption

Basic Building Blocks¶
- Terminology:
- Individuals (e.g., instances, entities, constants)
- Concepts
- Unary predicates (like entity types)
- Hierarchical inheritance structure
- e.g., OO classes
- Only representation, no methods like in OOP
- Set of individuals
- Roles
- Binary predicates (like relationships)
- Link concepts by using roles
- Set of pairs of individuals
- Basic building blocks:
- Atomic concept: Enumeration of individuals
- Atomic role: Enumeration of pairs of individuals
- DL expressions can be used to describe complex concepts/roles by atomic concepts/roles

Expression Types¶
- Description Logic Knowledge Bases consists of two types of expressions:
- ABox statements
- TBox statements
- ABox statements:
- Assertion Box
- Provide assertions on the individuals (w.r.t. the vocabulary)
- Member of a concept
- Typical reasoning task:
- Check for assertion consistency (satisfiability)
- Contains facts
- TBox statements:
- Terminology Box
- Define vocabulary of the knowledge base
- Description language controls the complexity of the TBox
- Defines complex concepts (e.g., concept hierarchy)
- (complex roles are defined in the RBox)
- Typical reasoning task:
- Check for concept/role subsumption
- Different description languages provide different TBox statements
Attribute Language \( \mathcal{AL} \)¶
- Most basic description language
- Minimal description language with practical applicability
- Typical reasoning task:
- Classification of individuals
- e.g., return all students
Syntactical Constructs¶
- Domain:
- \( \Delta^I \)
- Set of all indiviuals
- Atomic concepts:
- \( A^I\subseteq\Delta^I, B^I\subseteq\Delta^I \)
- Atomic roles:
- \( R^I\subseteq \Delta^I\times\Delta^I \)
- Complex concepts:
- \( C^I\subseteq\Delta^I, D^I\subseteq\Delta^I \)
- Universal concept (top):
- \( \top^I=\Delta^I \)
- Represents whole domain of individuals
- Bottom concept:
- \( \bot^I=\emptyset \)
- Represents the empty set of individuals
- Atomic negation:
- \( (\neg A)^I=\Delta^I\setminus A^I \)
- Only possible on atomic concepts
- Negation of complex concepts is in \( \mathcal{C} \) (General complement)
- i.e., may result in an infinite set (open world assumption)
- Intersection:
- \( (C\sqcap D)^I=C^I\cap D^I \)
- Value Restriction:
- Defines all individuals which are in relationship \( R \) with individuals in concept \( C \)
- e.g., \( \forall studies.University \)
- \( (\forall R.C)^I=\{a\in\Delta^I\mid \forall b((a,b)\in R^I\rightarrow b\in C^I)\} \)
- Limited existential restriction
- Defines individuals which have a relationship partner in \( R \)
- e.g., \( \exists studies.\top \)
- \( (\exists R.\top)^I=\{a\in\Delta^I\mid \exists b((a,b)\in R^I)\} \)
Terminological Axioms (TBox)¶
- Terminological Axioms realize the TBox statements
- Inclusion:
- \( C\sqsubseteq D \)
- C is sub-concept of D (each indiviual in C is also in D)
- \( C^I\subseteq D^I \)
- Equivalence:
- \( C\equiv D \)
- Two concepts define the same individuals
- May be used to define new complex concepts
- e.g., \( hiwis \equiv studentischeHilfskraft \)
- \( C^I= D^I \)
- Use case: Check assertions about classes
- e.g., Disjointness: \( D\sqcap E\equiv \bot \)
- Check for unintended relationships between classes
- Check the consistency
- Automatic classification of new instances
- Finding inconsistencies (useful for large ontologies)
- Definitorial equivalence statement:
- Equivalence statement are called definitorial if the statement is acyclic after expression optimization
- e.g., \( C\equiv D\sqcap E \) (acyclic, definitorial)
- e.g., \( C\equiv D\sqcup \exists R.C \) (cyclic, not definitorial)
- e.g., \( C\equiv D\sqcup \exists R.(C\sqcap \neg C) \) (cyclic, definitorial)
- \( \equiv D\sqcup \exists R.(\bot) \)
- \( \equiv D \)
- Acyclic TBox: All TBox statements are definitorial
- Acyclic TBox can be reduced to an empty TBox by adding the statements to the ABox
- Cyclic TBox:
- Define concepts recursively
- Increase complexity
- Leads to fixpoint semantics
- Can be used to model transitive roles
Expansion \( \mathcal{C} \): General Complement¶
- Motivation
- \( \mathcal{AL} \) allows only the negation of atomic concepts
- General negation of complex concepts is necessary
- \( (\neg C)^I=\Delta^I\setminus C^I \)
- Resulting language: \( \mathcal{ALC} \)
- Expressiveness:
- Union and full existential quantification can be modeled with the general complement
- \( (C\sqcup D)\equiv \neg(\neg C\sqcap\neg D) \)
- \( \exists R.C\equiv\neg \forall R.\neg C \)
- Use \( \mathcal{ALC} \) for \( \mathcal{ALUEC} \) and \( \mathcal{ALUE} \)
Expansion \( \mathcal{U} \): Union¶
- Motivation: Union two complex concepts
- \( (C\sqcup D)^I=C^I\cup D^I \)
- Resulting language: \( \mathcal{ALU} \)
Expansion \( \mathcal{E} \): Full Existential Quantification¶
- Motivation
- \( \mathcal{AL} \) allows limited existential quantification
- e.g., \( \exists R.\top \)
- Existential quantification for complex concepts
- \( (\exists R.C)^I=\{a\in\Delta^I\mid\exists b((a,b)\in R^I\land b\in C^I)\} \)
- Resulting language: \( \mathcal{ALE} \)
Expansion \( \mathcal{N} \): Number Restriction¶
- Number Restriction \( \gtrsim_n \)
- Compare to cardinalities in ER-model
- Al-least-Restriction:
- \( \gtrsim_n R.C \)
- \( (\gtrsim_n R.C)^I=\{a\in\Delta^I: |\{b: (a,b)\in R^I\}|\geq n\} \)
- At-most-Restriction:
- \( \lesssim_m R.C \)
- \( (\lesssim_n R.C)^I=\{a\in\Delta^I: |\{b: (a,b)\in R^I\}|\leq n\} \)
Complexity of \( \mathcal{ALC} \)¶
- Typical reasoning problems:
- General satisfiability
- \( \Sigma\not\models \bot \)
- Concept satisfiability
- \( \Sigma\not\models C\equiv\bot \)
- Subsumption
- \( \Sigma\models C\sqsubseteq D \)
- Instance checking
- \( \Sigma\models C(a) \)
- Retrieval
- \( \{a\mid \Sigma\models C(a)\} \)
- Realization
- \( \{C\mid \Sigma\models C(a)\} \)
- General satisfiability
- Problems are reducible to general satisfiability

Example¶
- Individuals: Tilo, Jan, Student_A, Student_B, TUBS, KBS
- Concepts: Person, University, Professor, Lecture
- Roles: studies, teaches
- ABox statements:
- \( Person(Prof. Balke) \)
- \( Person(Philipp) \)
- \( Person(Student_A) \)
- \( Person(Student_B) \)
- \( University(TUBS) \)
- \( Professor(Tilo) \)
- \( Lecture(KBS) \)
- \( teaches(Tilo, KBS) \)
- \( teaches(Jan, KBS) \)
- \( studies(Student_A, TUBS) \)
- \( studies(Student_B, TUBS) \)
- TBox statements:
- \( Student\equiv Person\sqcap \forall studies.University \)
- \( \mathcal{AL}: TeachingAssistant\equiv Person\sqcap \neg Professor\sqcap \forall teaches.Lecture \)
- \( \mathcal{ALC}: TeachingAssistant\equiv Person\sqcap \neg Professor\sqcap \exists teaches.Lecture \)
- \( HiWi\equiv Student\sqcap \forall teaches.Lecture \)
Description Language \( \mathcal{S} \)¶
- \( \mathcal{S}:=\mathcal{ALCUE}+\text{transitive roles} \)
- Motivation:
- Define complex roles
- New statement type: RBox (complex roles)
- Base language: \( \mathcal{ALCUE} \)
- Role transitivity \( R^+ \)
- Simplest RBox statement
- Transitive closure of ABox facts
- e.g., recursion
- \( (R^+)^I=\cup_{i\geq I}(R^I)^i \)
- e.g., \( ancestor\equiv parent^+ \)
- Note:
- Most expansions do not increase expressiveness
- Use them for convience
- Expansions:
- \( \mathcal{H} \): Role Hierarchies
- \( \mathcal{I} \): Role Inverses
- \( \mathcal{F} \): Functionality
- \( \mathcal{O} \): Nominals
Expansion \( \mathcal{H} \): Role Hierarchies¶
- Role Hierarchies using inclusion
- \( (R\sqsubseteq S)^I=R^I\subseteq S^I \)
- Allows for more reasoning capabilities
- Allows for further complex role definitions
- Intersection: \( R\sqcap S \)
- Union: \( R\sqcup S \)
- Negation: \( \neg R \)
- Composition: \( R\circ S \)
- Use for more reasoning capabilies
- e.g., consistency check, role subsumption, role membership
Expansion \( \mathcal{I} \): Role Inverses¶
- Inverse role: Swap arguments
- \( (R^-)^I=\{(b,a)\in \Delta^I\times\Delta^I|(a,b)\in R^I\} \)
- e.g., \( \text{isTaughBy}=\text{teaches}^- \)
Expansion \( \mathcal{F} \): Functionality¶
- Restrict maximum number of role relation sources to 1
- \( \lesssim_1 R \)
- Role becomes a function (i.e., second argument fully functional dependent on the first argument)
- \( R(x,y)\iff f(x)=y \)
- e.g., age or mother
Expansion \( \mathcal{O} \): Nominals¶
- Enumerated set of values which can be used (subset of the domain values)
- Nominals are just a convenience feature
- e.g., \( degrees\equiv\{BSc, MSc, Magister\} \)
Resource Description Framework¶
Motivation¶
- Representation in Semantic Web
- Idea: Annotate information on the web with Knowledge representation (make it machine-readable)
- e.g., represent information like author, data, …
- Web pages are identified by URLs
- Motivation:
- Humans can easily deduce/create/process visible information (e.g., natural language, graphics, layout)
- Information is processed by Information Retrieval Systems (e.g., Google)
- Task: Automatically combine data from the web
- Requirements:
- Data should be available for machines
- Data should be combined/merged on Web scale
- Data should be usable for reasoning
- Resource Description Framework
- Idea: Describe resources using XML
- W3C recommendation, 2004
- Two models:
- RDF Concepts and Abstract Syntax (encode knowledge)
- RDF Syntax (denote statements)
RDF Concept¶
- Documentation
- Decompose knowledge into triples
- Results in a labeled, directed graph
- Each edge represents a fact/relation between two things
- Triple:
- Also called statement
- Subject: Name is URI
- Predicate: Name is URI
- Object: Name is URI or literal value (text, may be typed)
- Namespace:
- Motivation: URIs references (URI + fragment) are quite long
- Namespace: Abbreviate URIs by namespace
- e.g.,
w3c:index -> https://www.w3c.org/index
- Blank node:
- Some information has structure
- e.g., address consists of street, zip, etc.
- Blank node is intermediate node (not visible)
- Identify using blank node identifiers
- e.g.,
_:bruce_willis_address
- Some information has structure
RDF Syntax¶
- More details
- Resource Identification: URI
- Resource Description: Properties and values
- Representation of RDF by XML: RDF/XML
- Syntax:
- Namespace declaration
- Description
- Provenance of information: Describe RDF statements
- Reification:
- Description of a statement
- Use built-in vocabulary:
- type
rdf:Statement - properties
rdf:{subject, predicate, object}
- type
- Subject of the reification should consider a particular instance of a triple (e.g., add triple identifier directly)
- RDF Graph:
- Set of RDF triples
- Subgraph: Subset of the RDF Graph
- Proper subgraph: Proper subset of RDF Graph
- Blank node/blank edge:
- Ground graph: Graph without any blanks
- Names:
- Summarization of Literals and URIs
- Name can be compared to a constant value in logics (Names have no semantics)
- Graph vocabulary:
- All names of a graph
- i.e., all literals and URIs
- Graph instance:
- Tuple \( (G,M) \)
- \( G \): Graph
- \( M \): Mapping of blank nodes to names or nodes
- Proper instance:
- Graph where either (i) a blank node is mapped to a name or (ii) two nodes are mapped to the same node
- Proper instance is more specific
- Proper instance may still contain blank nodes
- Graph is equivalent:
- Graph is equivalent if a blank node is mapped to a new blank node (i.e., variable renaming)
- Graph is lean:
- Graph is lean if it has no internal redundancies
- i.e., No instance is a proper subgraph of the original graph
- Merging graphs:
- No common blank node:
- Union of the triples
- Common blank nodes:
- Map the blank nodes to new blank nodes
- union the triples
- i.e., rename intersecting blank nodes
- No common blank node:
- Result:
- Classify, merge and map graphs (required to map RDF to logics)
- RDF graph expresses logical facts (e.g., use methods for reasoning)

RDF Schema¶
- RDF Vocabulary Description Language (RDF-S)
- Goal:
- Define valid RDF statements
- Contains basic elements to describe the vocabulary of ontologies
- Restrict the possible set of URI references
- e.g., to improve data integration
- Improve interoperability
- Schema: Vocabulary
- RDF-S provides building blocks to create vocabularies
- Describe domain-specific classes/properties
- RDF vocabulary in RDF-S are valid RDF graphs
- RDF-S Classes:
- Like OOP classes, inheritance
rdf:type,rdfs:subClassOf,rdfs:isDefinedBy- Describe characteristics using properties
- Restrict possible subjects and objects
- e.g.,
rdfs:range,rdfs:domain
- Define properties and assign then to classes (different than in OO languages)
- Provide additional semantics
- e.g., types, ranges, domains

SPARQL¶
- SPARQL Protocol And RDF Query Language
- Purpose: Retrieve information of an RDF graph
- Use cases:
- Extract information (URIs, blank nodes, plain/typed literals)
- Extract RDF subgraphs
- Construct RDF graphs
- Idea:
- Define a set of triple patterns
- Any component can be a query
- Matching triple patters to a graph creates bindings between the variable and RDF terms
- SQL-style syntax
SELECTFROM: GraphWHERE: Limit query patternLIMIT,OFFSET,ORDER BYCONSTRUCT: Returns RDF graphDESCRIBE: Return RDF graph describing the resourcesASK: Boolean answer if a pattern matches
- Graph patterns:
- Basic graph patter
- Group pattern
- Value constraints
- Optional graph pattern
- Alternative graph pattern
- Named graph pattern
- Example:
SELECT ?url FROM g WHERE { ?x foaf:name "Jan" . }ASK { ?person ex:marriedTo ?spouse }
Ontologies¶
Basics¶
- RDF: Abstract domain knowledge -> Abstract Reality
- New information can be derived
- Network of these relationships is an ontology
- Definition Ontology:
- A) Formal representation of
- Set of concepts in a certain domain
- Relationships between the concepts
- B) Formal, explicit specification of a shared conceptualization
- Provides a shared vocabulary
- Define type of objects/concepts
- Define properties and relations between them
- Middle layer of the Semantic Web stack
- Domain ontology: Ontology for a specific domain
- Disambiguate most terms
- Incompatible with each other
- A) Formal representation of
- Use Case:
- Define a domain (represent the knowledge)
- Reason about the domain
- Application-dependent:
- Medical ontology should be complete and sound
- Ontology for holiday photos not
- Important aspects:
- Generation of ontologies (e.g., Folksonomy)
- Capturing ontologies (e.g., RDF semantics)
- Maintaining ontologies (e.g., keeping consistency)
Upper Ontology¶
- Model of common objects which are applicable across a wide range of domain ontologies
- Contains a core glossary (describe objects in a set of domains)
- Standardized upper ontologies:
- Usually, for metadata
- e.g., Dublin Core, OpenCyc, GFO
Taxonomy¶
- Means Law of arrangement
- Part of ontology (ontologies are broader than taxonomies)
- Group entities in so-called Taxa
- Taxa are in hierarchical structure (supertype-subtype relationship)
History¶
- 360 BC: Aristotle’s metaphysics
- Ontology (science of being)
- Natural theology (study of God)
- Universal science (First Principles, Logics)
- Central questions for ontologies:
- Which things exist?
- Which entities are fundamental?
- What is a physical object?
- What is existence?
- 1305: Ars Generalis Ultima
- Ramon Llull
- Uses Tree of knowledge (hierarchy of philosophical concepts)
- Solution for Ars Magna (Great Art)
- 1738: Linnaean Taxonomy
- Carl von Linne
- Classify all living things
- e.g., Eukaryotes
- e.g., Kingdom, Phylum, Class, Order, Suborder, Family
RDF Semantics¶
- Question: How to capture ontologies?
- RDF-S can model formal vocabularies
- Using RDF-S, RDF can express statements
- Syntax of RDF with RDF-S vocabularies:
- Language for expressing propositions
- Semantics of RDF:
- i.e., how to capture them?
- Model-theoretic approach
- Directly define model semantic
- Graph matching
- Translation approach
- Translate RDF into logics
- Problem: Reification leads to second-order logic
- More information: RDF Semantics
Formal Language¶
- \( \mathcal{L}=(\Gamma,\Omega,\Pi,X) \):
- Constant symbols:
- Names of the RDF graph which are not functions or predicates or variables
- Separate into Literals (untyped, typed) and URIs
- Function symbols:
- RDF functions
- Predicate symbols:
- Names of the RDF graph used as predicate
- Special names (e.g., rdf:type, rdfs:Class, rdfs:Property, …)
- Variable symbols:
- Names of the blank nodes

Formal Interpretation¶
- \( I=(U,I_C,I_F,I_P) \)
- Universe of Discourse:
- Resources \( U_R \) (alpha-numeric string literals)
- Properties \( U_P \) (predicates are part of the universe)
- Reification makes RDF second-order logic
- Literals \( U_L \)
- \( U_P\subseteq U_R \)
- \( U_L\subseteq U_R \) (literals)
- Predicate mapping:
- Map Property URIs to predicates
- Constant mapping:
- Map typed literals to resources (\( I_{CR} \))
- Map untyped literals to literal values (\( I_{CL} \))
- Map URIs to resources (\( I_{CU} \))
- Interpretation uses Herbrand-style interpretation (symbolic)
- Extension interpretation:
- Required for the properties in \( U_P \)
- \( I_{EXT}: U_P\rightarrow 2^{U_R\times U_R} \)
- Extension provides actual semantics of the property (what evaluates to true and what to false)
- cf. Herbrand interpretation

Model-theoretic Approach¶
- Central question: When is an interpretation \( I \) a model of a RDF graph \( G \)?
- \( I \) is model of \( G \) iff \( I \) is a model for each triple \( t\in G \)
- i.e., graph matching
- Model of a triple:
- \( I \) is model of triple iff the triple evaluates to \( true \)
- \( t=(s_t,p_t,o_t) \) (must be in vocabulary)
- Tilo: Triple must exist (RDF store)
- \( (I(s_t), I(o_t))\in I_{EXT}(p_t) \)
- Blank nodes:
- Mapping of blank nodes to literals or URIs corresponds to a variable substitution \( \rho \)
- Resulting graph must be grounded
- Example: Node substitution
- Substitution
?:x |--> c - Check for each triple (after substituting the blank nodes) if the interpretation is a model
- e.g., \( (I(?:x), I(\text{mdb:bruceWillis})) = (c,a)\in I_{EXT}(r) \)
- Substitution

Translation Approach¶
- Translate RDF to logic:
- Approach can be used for frame-based knowledge languages (i.e., reification, statements about statements)
- Problem:
- Results in higher-order logics
- Requires restrictions to reduce complexity (see Description logic)
- Requirement for the translation:
- Vocabulary of the RDF graph
- Translation scheme (map RDF to logics)
- Intended model of the vocabulary of the RDF graph
- Important:
- Logic representation must keep RDF features (e.g., properties, classes)
- Class:
mdb:Movieis a class (mdb:Movie rdf:type rdfs:Class) - Usually, this [reification] is provided by higher-order logics
- Only use second-order logics for well-defined tasks (class membership, subclass)
- Do not use the full second-order logics (undecidable)
Transformation Rules¶
- Transform RDF expression \( E \) into logic
- Operator \( TR \)
- URI reference:
- Constant symbol or
- Predicate symbol
- Blank node: Variable symbol
- Triple \( (s, \text{rdf:type}, o) \):
- \( TR(p)(TR(o)(TR(s)) \land \text{rdfs:Class}(TR(o)) \)
- Triple \( (s, p, o) \):
- \( TR(p)(TR(s), TR(o)) \land \text{rdfs:Property}(TR(p)) \)
- RDF graph:
- Existential closure of the conjunction of all translations of all triples on the graph
- e.g., \( \exists TR(E_1)\land\ldots\land TR(E_n) \)
- Set of RDF graphs:
- Conjunction of the translations of all graphs
Interpretation of Special Constructs¶
- Goal: Interprete special RDF-S constructs
- e.g., rdfs:subclassOf, rdf:type, rdfs:Class
- Problem: rdfs:Class is higher-order logic (reduce complexity)
- Use additional axioms and rules for the evaluation
- Use axioms to construct proof trees
- RDF axioms:
- (also required by the model-theoretic approach)
rdf:type(x, y) --> y(x)rdf:Property(rdf:type)rdf:Property(rdf:subject)- For all RDF special names which are properties or types
- RDFS axioms:
rdfs:Resource(x)rdfs:Class(y) --> (y(x) <--> rdf:type(x,y))- …
Hierarchical Expert Ontology¶
- Problems with Expert ontologies:
- Inflexible/rigid (only representing the author’s view and knowledge)
- Hard to change if established
- Expensive to maintain
- Hierarchical classification often not very practical
- Examples:
- Medical Subject Headings
- Periodic Table of Elements
- Dewey Decimal Classification (DDC)
- Yahoo Categories (classification of the Web, did not work)
- Transition from strictly hierarchical to linked hierarchical taxonomies (e.g., MeSH)
- Problem:
- Highly unstructured domains do not allow a hierarchical classification
- Idea:
- Omit the hierarchy and only use links
- Folksonomy: lightweight ontologies

Ontology Generation¶
- Manual creation is expensive and error-prone (not web-scale)
- Goal: Automatic generation of ontologies
- Idea: Mine statistical connections between terms
- Heuristics:
- Natural Language Processing
- Term co-occurrence
- Central question: Can purely statistical approaches lead to intelligent results?
Natural Language Processing¶
- Major approach for ontology creation
- Use phrases like such as or like to find synonyms or subclasses
- e.g., Named Entity Recognition
- Store the belief of correctness
Term Co-Occurrence¶
- Extraction method for domain ontologies
- Extract salient keywords from a text (i.e., terms)
- Use a sufficiently large collection
- Example:
- Keyword X subsumes Y
- 80 % of documents containing Y contain X
- X occurs on more documents than Y
Collective Intelligence (D)¶
- Idea: Statistics on human decisions
- Francis Galton, 1822-1911
- Claim: Intelligence and leadership are inherited
- Statistical analysis: Crowd consensus is best estimate
- Resulted in research area: Crowd decisions
- Under certain restrictions large crowds of people are able to perform highly effective decisions
- Use group intelligence for three types of problems:
- Cognition Problems
- Judging and Processing information
- e.g., guessing, predicting, assessing
- Coordination Problems
- How to coordinate own behavior with all others?
- e.g., Cultural behavior (expections on others)
- e.g., Navigation in heavy traffic, using seats in lecture hall
- Cooperation Problems
- Self-centered people should work together for a greater good
- Form networks of trust without a central controller
- e.g., free market, paying taxes
- Cognition Problems
- Key criteria for wise decisions:
- Diversity of Knowledgeable Opinions
- diversity of knowledgeable opinions (no/small bias)
- Each person should have private information
- Opposite opinions increase accuracy of group decisions (cancel out others mistakes vs. creating a discussion)
- Everybody must understand the problem
- Problem: Too homogeneous groups
- Independence
- Peoples opinions should be independent (not determined by the option of others)
- Problem: Information cascades
- Problem: Dominant members, Hype bubbles
- Decentralization
- People are specialized in local knowledge
- Add diversity
- Local knowledge can be used for optimized solutions
- Problems: Wasted efforts
- e.g., open-source software,
- Aggregation
- All individual opinions/decisions must be aggregated
- e.g., compute average
- Diversity of Knowledgeable Opinions
Folksonomies¶
- Idea:
- Use crowd intelligence for ontologies
- People tag web content (e.g., Flickr)
- Tags represent common, shared knowledge
- Similar idea: PageRank
- Link from a page counts as vote
- Tagging: Assignment of a word to some resource
- Tag cloud: Representation of the tags of a resource (bigger word - used more often)
- Folksonomy:
- Weaker structure than description logic ontologies
- No taxonomy
- No vocabulary
- Folksonomy represents self-emergent semantics
- Can be created by the co-occurrence of tags
- Disadvantages
- No controlled vocabulary (e.g., ROFL)
- Handling of synonyms/homonyms (e.g., ifis vs institute of information systems)
- Questionable semantics (no formal reasoning possible)
Formalization¶
- Folksonomy \( T \)
- Tripartite hypergraph \( H(T)=(V,E) \)
- Vertices \( V=A\cup C\cup I \)
- \( A \): Actors
- \( C \): Tags/concepts
- \( I \): Instances/objects
- Tag represents an edge between an actor, tag and instance
- \( E=\{\{a,c,i\}\mid (a,c,i)\in T\} \)
- Using the hypergraph, generate three weighted bi-partite graphs
- Weight: How often are the di-grammed vertices are connected
- Graph \( AC \)
- Actors and concepts
- \( AC=(A\times C, E_{ac}) \)
- \( E_{ac}=\{(a,c)\mid \exists i\in I:(a,c,i)\in E\} \)
- \( w:E_{ac}\rightarrow\mathbb{N} \)
- \( (a, c)\mapsto |\{i:(a,c,i)\in E\}| \)
- Graph \( CI \): Concepts and instances
- Affiliation graph
- Only keep edges with a certain occurrence
- Graph \( AI \): Actors and instances
Ontology¶
- Fold the affiliation graph into two lightweight ontologies
- Graph \( CI \)
- Lightweight ontology of related concepts
- Lightweight ontology of related instances
- Represent how the entities are related (e.g., co-occurrences)
- Multiply matrix with its inverse
- Results in co-occurrence matrix
- Normalize using a Jaccard coefficient (?)

Languages¶
- Implementation of description languages
- Languages:
- OWL
- DAML + OIL
Web Ontology Language (OWL)¶
- W3C recommendation in 2004
- Language and Semantics of choice for ontologies
- OWL is an XML syntax
- Encapsulate respective description logic language
- Technically, builds upon RDF (but is much more powerful)
- RDF-S forms a valid foundation for OWL
- Three complexity classes:
- OWL Lite
- OWL DL
- OWL Full
- Two kinds of properties:
- cf. Description Logic Roles
- Object properties
- Relate objects to objects
- e.g.,
supervises, toughtBy
- e.g.,
- Object datatypes can have a domain and rage
- e.g., domain=human, range=course
- Relate objects to objects
- Data type properties
- Relate objects to datatype values
- Use XML Schema data types (
range) - e.g., RDF literals

OWL Lite¶
- Provides a classification hierarchy and simple constraints
- Compare to \( \mathcal{SHIF(D)} \)
- AL (Concepts, Existential quantification, …)
- General complement
- Transitive roles (S)
- Role Hierarchy (H)
- Role Inverses (I)
- Role Functionality (F)
- Data types (D)
- ExpTIME-complete
OWL DL¶
- Provide maximum expressiveness while retaining computational completeness and decidability
- Contains all OWL language constructs (but only usable under certain conditions)
- Compare to \( \mathcal{SHOIN(D)} \)
- Number Restriction (N)
- Nominals (O)
- NExpTIME-complete
- Problem: Decidable but different semantics than RDF-S
OWL Full¶
- Preserve compatibility with RDF Schema
- Different semantics than OWL DL and OWL Lite
- Based on second-order logics (statements about statements)
- e.g., class can be treated as a collection of individuals and as an individual itself
- Not decidable
- Problem: Compatible with RDF-S but computationally hard
Examples¶
- Classes:
owl:Classis subclass ofrdfs:Class
- Disjointness of classes:
- \( C\sqcap D\equiv \bot \)
<owl:Class rdf:about="#hiwi"><owl:disjointWith rdf:resource="#prof"/><owl:disjointWith rdf:resource="#hiwi"/>
</owl:Class>
- Equivalence of classes:
- \( C\equiv D \)
<owl:Class rdf:about="#faculty"><owl:equivalentClass rdf:resource="#academic StaffMember"/>
</owl:Class>
- Top concept:
owl:Thing - Bottom concept:
owl:Nothing - Object properties:
<owl:ObjectProperty rdf:ID="teaches"><rdfs:range rdf:resource="#course"/><rdfs:domain rdf:resource= "#academicStaffMember"/><owl:inverseOf rdf:resource="#isTaughtBy"/>
</owl:ObjectProperty>
- Datatype property:
<owl:DatatypeProperty rdf:ID="age"><rdfs:range rdf:resource="http://www.w3.org/2001/XLMSchema #nonNegativeInteger"/>
</owl:DatatypeProperty>
DAML + OIL (D)¶
- Goal: Evaluate the RDF-S statements of the semantic web
- DAML and OIL were developed in parallel (combined in 2000)
DARPA Agent Markup Language (DAML)¶
- 1999-2006
- Goal: Facilitate concept of the Semantic Web
- Focus on tools for intuitive formulation of knowledge
- DAML RDF Editor
- Use to annotate websites
Ontology Inference Layer (OIL)¶
- Proposal:
- Web-based representation and inference layer for ontologies
- Compatible with RDF-S
- Goal:
- Define a logical foundation for the semantic web
- Provide frame-based techniques + formal semantics of description logic
- Layered approach to a standard ontology language
- Each layer adds functionality and complexity
- Dumb-Down-principle: Ignore features of higher layers which are not understood
- Core OIL
- Similar to RDF-S
- Exception: No reification of RDF-S
- \( \text{Core OIL}=\text{Standard OIL}\cap\text{RDF-S} \)
- Standard OIL
- Language designed to capture the necessary modeling primitives
- Provide adequate expressive power
- Instance OIL
- Adds individual integration
- Database-capability
- Heavy OIL
- Additional representation and reasoning capabilities

Protege (D)¶
- Major tool for building Ontologies
- Stanford + Manchester University
- Support for RDF and OWL
- Support TBox, ABox, RBox
Examples¶
The Cyc System (D)¶
- Cyc System
- Douglas Lenat, 1984
- Idea: Build a real AI system with a knowledge representation as base
- Developed at MCC, founded by Cycorp
- Goal:
- Program should learn from books
- System contains common knowledge (of a student of first grade)
- Common knowledge:
- Humans encode facts and rules
- System checks for consistency
- Inconsistencies resolved by humans
- e.g., witches are evil, witches do not exist
- CycL:
- Representation language (based on FOL)
- Create KB using CycL
- Cyc Knowledge Base:
- Contains classification of objects: Most general is Thing
- Divided into microtheories:
- Focus on domain/level of detail/time interval
- Bunde assertions with a set of common assumptions
- General knowledge
- Things, objects, individuals, collections
- e.g., chemistry, domain-specific knowledge, political knowledge
- Cyc System:
- Contains 24.5 millions rules
- Original Cyc
- OpenCyc
- ResearchCyc
- Drawbacks:
- Conclusion only valid within the assertions
- Consistent data can lead to false conclusions (data is not representative for the real world)
- Application:
- Directed marketing (use buying history)
- Database integration (resolve conflicts)
- Translation of technical documents
- Language understanding
- Security
- Medicine
Dublin Core¶
- Dublin Core Metadata Element Set (DCMES)
- from Dublin, Ohio
- Used to describe digital materials
- Cross-domain information resource description
- e.g., video, sound, image, web pages
- Defined by ISO 15836/NISO Z39.85-2007
- Consists of two levels:
- Simple Dublin Core (15 elements)
- Qualified Dublin Core (3 additional elements, refinements)
- Simple DCMES:
- Title
- Creator
- Subject
- Description
- Publisher
- Contributor
- 9 more
- Qualified DCMES:
- Elements:
- Audience (target group)
- Provenance (trustworthiness)
- RightsHolder
- Element refinements:
- Specify the meaning of elements
- Elements:
- Dumb-Down Principle:
- If an application does not understand an element, ignore the element
Medical Subject Heading (D)¶
- MeSH ontology
- Controlled vocabulary (Taxonomy + Thesaurus)
- Maintained by US National Library of Medicine
- Classify MEDLINE/PubMed collections
- Hand-crafted by medical experts
- Subjects: around 27.000 descriptors
- e.g., concepts, diseases, hierarchically ordered
- Qualifiers: Encode commonly used tags
Dewey Decimal Classification (DDC)¶
- Melvin Dewey, 1876
- Proprietary system for library classification
- e.g., used by Library of Congress
- 10 Main classes with 10 divisions each and 10 sections per division
- Strictly hierarchical
- Main problem: Inflexibility
- e.g., 290 Other religions (later, more books were added)