Semantic Web
Semantic Web
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cd="http://www.recshop.fake/cd#">
From http://lod-cloud.net/
Ontologies
• Linked data presents us a way to describe resources
• However, the way one person describes a resource
may not match how others will describe the same
resource
• Additionally, a resource presented in this way may
(or will) be incomplete, lacking details of the
domain of which it resides
• To be complete so that others can make inference
over the collection of data, we want to build a full
structure that defines classes and their properties
• We need to go beyond simple Linked Data to an
ontology
Ontologies
• The formal definition of ontology is
– (1) a branch of metaphysics concerned with the nature and
relations of being and
– (2) a particular theory about the nature of being or the kinds
of existents
– The term comes from philosophy
• For the semantic web, we define an ontology as
– A representation vocabulary, often specialized to some
domain (or subject matter)
– The ontology typically represents class/subclass relations and
class/property relations
– Further, ontologies should share the same vocabulary in how
they express the pieces of knowledge found within their
domains so that ontologies can form a foundation of
underlying knowledge used throughout the semantic web
Types of Ontologies
• Domain ontology
– Represents concepts of a particular domain or category of
knowledge
• E.g., a music ontology, an ontology of computer hardware, etc
• Upper ontology
– Represents knowledge about knowledge – that is, meta-
knowledge
• Objects such as physical object, abstract object and within them,
living object, inanimate object, or for abstract: word, action, etc
• Hybrid ontology
– An ontology that cuts between the two, for instance a
common sense ontology which does not exist in a
particular domain and includes both general and specific
pieces of knowledge
Ontologies vs Linked Data
• Both support class/subclass and class/property
definitions so what is the difference between them?
– Think of Linked Data as being incomplete, messy,
inconsistent within itself and across to other data sources,
not particularly trustworthy, data driven (that is, starts with
data or resources)
– Think of an ontology as a well-thought out structure
which is as complete as possible, concept and application
driven (starts with the domain and the intended use of the
ontology)
• Early on, most semantic web researchers were
interested in building ontologies
– Today, Linked Data is a quicker, possibly more effective
Ontology Components
• Class: specify the superclass (all classes are members of
at least one class, Thing)
• Individuals: instances or objects, almost always at the
bottom level of any ontology hierarchy
• Attributes: properties/features/characteristics which can
be defined for a class or an individual
• Relations: ways that classes and/or individuals relate to
each other
• Functions: means of manipulating classes or individuals
• Rules: if-then statements that describe logical inferences
on classes/individuals
• Axioms: assumptions made within the domain
• Events: occurrences which change attributes or relations
between individuals (or possibly classes)
Example Ontology: Sports
• Question: who
decides what should
be represented and
how?
– here, the ontology
is tangled
(multiple parents)
– we may disagree
about whether
about the layout,
for instance would
you define Event
and then Game
and then the
individual sports?
(is Football a
subclass of
Event?)
Linked Open Vocabulary (LOV)
• A pursuit headed up by library science which builds upon Linked
Data using RDFS and OWL
– specifically building online vocabularies
• Similar to the Linked Open Data cloud, this draws on numerous
ontologies such as
– Audio features ontology
– Algorithms ontology
– BBC ontology
– Data category ontology, datatype ontrology
– Event ontology
– Food ontology
• These ontologies provide new name spaces such as dcat (data
category), vann (vocabulary for annotating vocabulary
descriptors), skos (simple knowledge organization system) and
WordNet
• A related project is WordNet which is a large database of
English words
– Words are grouped together into “cognitive synonyms” called
synsets (117,000) and hypernyms
• Synsets are linked together by both semantic relations (e.g., links as in
a semantic network) and by lexical relations
• Links include isa, instance, part (as in “is a part of”), generic verb
forms (somewhat like ATRANS, PTRANS) and word-specific
relationships such as “volume” for “talk” and “whisper”
– Words are also stored with definitions
• Primarily used for language processing when words
might be deemed synonymous or have some other form
of relation that needs to be discovered, or by services that
input natural language and need to translate that input
into a more structured form
The Envisioned Uses of Ontologies
• The primary use of the ontology is as a resource by a
web-based agent (whether human or program)
• Through ontologies, knowledge can be presented
such that
– Relationships of entities within a domain are explicitly
listed
– Domain assumptions are explicitly listed
– Vocabularies for the given domain are explicitly listed
– Translational rules to convert terms in the domain’s
vocabulary into other vocabularies are explicitly listed
• Through the ontology, agents can retrieve and
aggregate data from multiple sources and perform
inferences
Using an Ontology
• How will we use our ontologies?
– To enhance search engines beyond keyword searches
• Search query keyword terms can be translated by adding
semantics to the meaning behind the terms
– To annotate multimedia data files
• we can’t currently search for the content of image or sound
files
– To annotate design components
• imagine an expert system that needs to replace component
1 with component 2 based on the component functions and
sizes
– Intelligent agents
• so that two agents can find a common vocabulary to
communicate together
– To support ubiquitous computing endeavors
Agents
• Knowledge-based (Expert) System research reached
several interesting conclusions
– extremely useful but enormous undertakings
– with proper tools (shells, languages), non-AI people can
construct these systems
– automated knowledge acquisition reduces effort
– brittle because they lack general knowledge
• KBS construction moved out of the active realm of AI
research, but it was realized that we still need
autonomous problem solving systems
– this becomes even more critical as we focus on how we
might use the distributed knowledge available on the
WWW
– this led to research into more primitive forms of
reasoners: the intelligent agent
Agents: Some Definitions
• There is no single definition that adequately covers what
everyone wants an agent to be but there are several
commonly cited features:
– Autonomous – must be able to work on its own to solve the
problem
– Communicative – must be able to communicate with other
agents or knowledge sources to acquire knowledge or data
– Goal-oriented – must be able to, given a task, figure out how
to solve the task and work toward that go
– Perceptive – must be able to sense its “environment”
– Mobility – must be able to move within its environment *
– Sociability – ability to communicate with a human during
problem solving *
• To define an agent, which features are necessary?
– * these features are not required by all researchers
• Will these features help us identify what an agent is?
The Problem of Mobility
• True mobility means some degrees of freedom
– This may be physical motion like a robot that has a robotic arm, or
an autonomous vehicle
– Or it may be a process that is able to move from one processor to
another – it’s freedom is in that it can choose to migrate elsewhere
• If we restrict “mobile” to the above two forms of degrees of
freedom, then we disallow most forms of software as not
being agents, or we have to remove this attribute from the
list of what agents should do
– Communication is not mobility and most software on the Internet
(or other networks) do not move from processor to processor but
instead send out messages/requests
• Is the distinction important?
– If a process cannot migrate but can communicate, why should we
care?
What is and What is Not an Agent?
• We have to be careful in defining an agent
– All too often, the definition is so loosely based that it can
include any software product
– For instance, any computer program can be thought to be the
following
• autonomous – program works on its own to solve the problem
• communicative –program communicates with other programs
• perceptive – program receives input from various sources
• goal-oriented – program has an implicit function (goal)
• So how do intelligent agents differ?
– For one, we hope that an intelligent agent can plan and handle
surprising circumstances
– For another, the environment might be more than merely user
input
Examples: Are They All Agents?
Representative Agents
• An agent which represents your interests
– This implies that the agent has some knowledge or
understanding of your desires, goals, interests
– Examples:
• email filter agent – not only to filter out spam, but to prioritize
messages
• shop-bot agent – knows your preferences on the items being
shopped, and knows your monetary restrictions
• FAX – an email responding agent (or even a phone answering
agent) that will mimic your responses to anticipated inquiries
– Representative agents may require
• the ability to communicate in natural language
• the ability to explain itself to the person being represented
• some common sense reasoning capability
• the ability to judge what is trivial and therefore does not require
your attention
– Planning capabilities may not necessarily be needed
How the Semantic Web Works