The Semantic Web Asset: the web stores a large
NS
Published · 56 slides · 0 views
1 / 1
Description
The Semantic Web Asset: the web stores a large portion of all of human knowledge Problem: it takes human intelligence to identify and interpret the knowledge available Reason: most web content is unstructured, not in a common
Related Topics
Share
Embed code
Download this presentation From Below
"The Semantic Web Asset: the web stores a large" is the property of its rightful owner. Permission is granted to download and print the materials on this website for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Presentation Transcript
01
The Semantic Web Asset: the web stores a large portion of all of human knowledge
Problem: it takes human intelligence to identify and interpret the knowledge available
Reason: most web content is “unstructured”, not in a common representation or language, most search mechanisms are limited to keyword (syntactic) matching approaches rather than semantic techniques
Semantic Web: AI attempt to resolve this issue by combining various technologies (* denotes AI technologies)
Ontologies* and ontology languages (e.g., OWL)
Agents*
RDF/RDFS, XML, SPARQL
Web pages (HTML, CSS) and other resources hyperlinked together
HTTP, web servers, search engines
Internet<br>
Problem: it takes human intelligence to identify and interpret the knowledge available
Reason: most web content is “unstructured”, not in a common representation or language, most search mechanisms are limited to keyword (syntactic) matching approaches rather than semantic techniques
Semantic Web: AI attempt to resolve this issue by combining various technologies (* denotes AI technologies)
Ontologies* and ontology languages (e.g., OWL)
Agents*
RDF/RDFS, XML, SPARQL
Web pages (HTML, CSS) and other resources hyperlinked together
HTTP, web servers, search engines
Internet<br>
02
Challenges Keep in mind that the web was developed for human consumption, not machine
Size: number of web documents is in the billions or more, most of which is unstructured and quite possibly erroneous and/or out of date
enhancing the web to the semantic web will be an enormous undertaking
Lack of semantics: web documents are free form and use human languages leading to vagueness of terms
Uncertainty and trust issues: information may or may not be true, how do you reason regarding what you can trust?
Inconsistency: similar (or same) terms may be defined differently at different sites leading to logical inconsistencies
we need mechanisms to translate from one vocabulary set to another<br>
Size: number of web documents is in the billions or more, most of which is unstructured and quite possibly erroneous and/or out of date
enhancing the web to the semantic web will be an enormous undertaking
Lack of semantics: web documents are free form and use human languages leading to vagueness of terms
Uncertainty and trust issues: information may or may not be true, how do you reason regarding what you can trust?
Inconsistency: similar (or same) terms may be defined differently at different sites leading to logical inconsistencies
we need mechanisms to translate from one vocabulary set to another<br>
03
Linked Data The web consists of hyperlinked web pages
These pages may include data but the data may be unstructured and data may not link to other, related data
The Linked Open Data Project is an attempt to make useful data available online that is both structured and defined via hyperlinks
Data will be represented primarily using RDFS (RDF Schema) where links are represented using URIs
Data can be distributed across many web sites
a defined structure at one location can then be utilized by another so that we can build upon what others have defined
the structure can include links to existing files, links to non-file resources (people, places, locations, organizations), and data<br>
These pages may include data but the data may be unstructured and data may not link to other, related data
The Linked Open Data Project is an attempt to make useful data available online that is both structured and defined via hyperlinks
Data will be represented primarily using RDFS (RDF Schema) where links are represented using URIs
Data can be distributed across many web sites
a defined structure at one location can then be utilized by another so that we can build upon what others have defined
the structure can include links to existing files, links to non-file resources (people, places, locations, organizations), and data<br>
04
RDF Resource Description Framework is a language for representing information about web resources
RDF will include a URI whose link will be of a descriptor file if available, but also include metadata that will help an agent reason about the resource
author of the resource, copyright info, licensing info, price, availability or consumer information, etc
RDF is written in XML (or XML-like notation) <?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">
<contact:Person rdf:about="http://www.w3.org/People/EM/contact#me">
<contact:fullName>Eric Miller</contact:fullName>
<contact:mailbox rdf:resource="mailto:em@w3.org"/>
<contact:personalTitle>Dr.</contact:personalTitle>
</contact:Person>
</rdf:RDF><br>
RDF will include a URI whose link will be of a descriptor file if available, but also include metadata that will help an agent reason about the resource
author of the resource, copyright info, licensing info, price, availability or consumer information, etc
RDF is written in XML (or XML-like notation) <?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">
<contact:Person rdf:about="http://www.w3.org/People/EM/contact#me">
<contact:fullName>Eric Miller</contact:fullName>
<contact:mailbox rdf:resource="mailto:em@w3.org"/>
<contact:personalTitle>Dr.</contact:personalTitle>
</contact:Person>
</rdf:RDF><br>
05
RDF RDF combines URIs from HTML and XML notation, namespaces and pre-defined types within the given namespace(s)
URIs do not have to be of files but can be of people, places, things, concepts in which case they are either not dereferenceable (do not point to a file) or can point to a file containing further RDF definitions
An RDF expression is a collection of triples where each triple is a subject, an object and a predicate (or property)
There are many different ways to express the RDF expression
Through HTML
Through RDF tags
Through other formats that will be processed into RDF such as Turtle or JSON<br>
URIs do not have to be of files but can be of people, places, things, concepts in which case they are either not dereferenceable (do not point to a file) or can point to a file containing further RDF definitions
An RDF expression is a collection of triples where each triple is a subject, an object and a predicate (or property)
There are many different ways to express the RDF expression
Through HTML
Through RDF tags
Through other formats that will be processed into RDF such as Turtle or JSON<br>
06
Examples <http://www.nku.edu/~foxr#me> <http://www.nku.edu/~foxr#FullName> “Richard Fox” .
<rdf:Description rdf:about=“http://www.nku.edu/~foxr”>
<person:fullName>Richard Fox</person:fullName>
</rdf:Description>
<rdf:Description rdf:about=“http://www.nku.edu/~foxr”>
<rdf:type rdf:resource=“xmlns.com/foaf/0.1/Person/”>
<foaf:name>Richard Fox</foaf:name>
@prefix: rf <http://www.nku.edu/~foxr”>
rf: person:fullName “Richard Fox” .
rf: rdf:type person:Person .<br>
<rdf:Description rdf:about=“http://www.nku.edu/~foxr”>
<person:fullName>Richard Fox</person:fullName>
</rdf:Description>
<rdf:Description rdf:about=“http://www.nku.edu/~foxr”>
<rdf:type rdf:resource=“xmlns.com/foaf/0.1/Person/”>
<foaf:name>Richard Fox</foaf:name>
@prefix: rf <http://www.nku.edu/~foxr”>
rf: person:fullName “Richard Fox” .
rf: rdf:type person:Person .<br>
07
RDFS The RDF schema defines a number of types used to define classes and properties of resources
rdf:Property – the class of RDF properties
rdfs:Resource – all things in RDF are resources, so this represents any thing (the topmost parent class)
rdfs:Class – declares a resource as a class
rdfs:subClassOf – declares a subclass of a defined class
rdfs:subPropertyOf – an instance of a property of a class (that is, a legal value for a property for this class)
rdfs:Literal – defines literal value types
rdfs:Datatype – class of datatypes
rdfs:domain – the class of subjects for a type of predicate in a triple
rdfs:source – the class of objects (datatypes) for a type of predicate in a triple
rdf:type – instance of a class
rdfs:label – instance of rdf:Property to provide a human-readable name/label
foaf:relation – friend of a friend, used to describe a relation to someone else<br>
rdf:Property – the class of RDF properties
rdfs:Resource – all things in RDF are resources, so this represents any thing (the topmost parent class)
rdfs:Class – declares a resource as a class
rdfs:subClassOf – declares a subclass of a defined class
rdfs:subPropertyOf – an instance of a property of a class (that is, a legal value for a property for this class)
rdfs:Literal – defines literal value types
rdfs:Datatype – class of datatypes
rdfs:domain – the class of subjects for a type of predicate in a triple
rdfs:source – the class of objects (datatypes) for a type of predicate in a triple
rdf:type – instance of a class
rdfs:label – instance of rdf:Property to provide a human-readable name/label
foaf:relation – friend of a friend, used to describe a relation to someone else<br>
08
RDF Example From http://www.w3schools.com/webservices/ws_rdf_example.asp, this example demonstrates an entry for a [fake] Bob Dylan CD, building on top of a previously defined RDF class CD
<?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#">
<rdf:Description rdf:about="http://www.recshop.fake/cd/Empire Burlesque"> <cd:artist>Bob Dylan</cd:artist> <cd:country>USA</cd:country> <cd:company>Columbia</cd:company> <cd:price>10.90</cd:price> <cd:year>1985</cd:year></rdf:Description>…</rdf:RDF><br>
<?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#">
<rdf:Description rdf:about="http://www.recshop.fake/cd/Empire Burlesque"> <cd:artist>Bob Dylan</cd:artist> <cd:country>USA</cd:country> <cd:company>Columbia</cd:company> <cd:price>10.90</cd:price> <cd:year>1985</cd:year></rdf:Description>…</rdf:RDF><br>
09
The Linked Data Cloud From http://lod-cloud.net/<br>
10
SPARQL An RDF query language used to query the RDF triples in some database or ontology
Queries are somewhat similar to SQL
SELECT – extract raw values, returned in a tabular format
CONSTRUCT – same but transforms the output into RDF
ASK – ask simple true/false question
DESCRIBE – same but extras an RDF “graph”
Query conditions consist of
PREFIX – the RDF class identifier(s)
FROM – the dataset classifier(s) (if needed)
Query type (SELECT, CONSTRUCT, etc) along with the fields to extra for SELECT, CONSTRUCT
WHERE – the condition(s) of the query, similar to the WHERE clause in SQL<br>
Queries are somewhat similar to SQL
SELECT – extract raw values, returned in a tabular format
CONSTRUCT – same but transforms the output into RDF
ASK – ask simple true/false question
DESCRIBE – same but extras an RDF “graph”
Query conditions consist of
PREFIX – the RDF class identifier(s)
FROM – the dataset classifier(s) (if needed)
Query type (SELECT, CONSTRUCT, etc) along with the fields to extra for SELECT, CONSTRUCT
WHERE – the condition(s) of the query, similar to the WHERE clause in SQL<br>
11
SPARQL Examples PREFIX abc: <http://example.com/exampleOntology#>
SELECT ?capital ?country
WHERE {
?x abc:cityname ?capital ;
abc:isCapitalOf ?y .
?y abc:countryname ?country ;
abc:isInContinent abc:Africa .
}
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX card: <http://www.w3.org/People/Berners-Lee/card#>
SELECT ?homepage
FROM <http://dig.csail.mit.edu/2008/webdav/timbl/foaf.rdf>
WHERE {
card:i foaf:knows ?known .
?known foaf:homepage ?homepage .
}<br>
SELECT ?capital ?country
WHERE {
?x abc:cityname ?capital ;
abc:isCapitalOf ?y .
?y abc:countryname ?country ;
abc:isInContinent abc:Africa .
}
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX card: <http://www.w3.org/People/Berners-Lee/card#>
SELECT ?homepage
FROM <http://dig.csail.mit.edu/2008/webdav/timbl/foaf.rdf>
WHERE {
card:i foaf:knows ?known .
?known foaf:homepage ?homepage .
}<br>
12
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<br>
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<br>
13
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<br>
(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<br>
14
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<br>
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<br>
15
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 approach<br>
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 approach<br>
16
Is There Still a Need for Ontologies? Issues with Linked Data
Linked Data is created in an ad hoc manner resulting in
Linked Data from different sources may not be coherent without some translation mechanism
Linked Data may not be entirely accurate
Linked Data presents data but not necessarily a “shared semantics” or a formal semantics across the Internet
RDFS does not provide all of the tools needed to construct knowledge bases (see OWL in a few slides)
RDF does not include the ability to “negotiate” which is found useful for semantic web agents
RDFS (and some versions of OWL) are monotonic in that anything concluded as true must remain true even in the face of new knowledge (knowledge cannot be introduced that contradicts already established knowledge)<br>
Linked Data is created in an ad hoc manner resulting in
Linked Data from different sources may not be coherent without some translation mechanism
Linked Data may not be entirely accurate
Linked Data presents data but not necessarily a “shared semantics” or a formal semantics across the Internet
RDFS does not provide all of the tools needed to construct knowledge bases (see OWL in a few slides)
RDF does not include the ability to “negotiate” which is found useful for semantic web agents
RDFS (and some versions of OWL) are monotonic in that anything concluded as true must remain true even in the face of new knowledge (knowledge cannot be introduced that contradicts already established knowledge)<br>
17
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)<br>
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)<br>
18
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?)<br>
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?)<br>
19
Example Ontology: CS Dept. Person
Worker
Faculty
Professor
AssistantProfessor
AssociateProfessor
VisitingProfessor
Lecturer
PostDoc
Assistant
ResearchAssistant
TeachingAssistant
AdministrativeStaff
Director
Chair {Professor}
Dean {Professor}
ClericalStaff
SystemsStaff
Student
UndergraduateStudent
GraduateStudent Organization
Department
School
University
Program
ResearchGroup
Institute
Publication
Article
TechnicalReport
JournalArticle
ConferencePaper
UnofficialPublication
Book
Software
Manual
Specification
Work
Course
Research
Schedule<br>
Worker
Faculty
Professor
AssistantProfessor
AssociateProfessor
VisitingProfessor
Lecturer
PostDoc
Assistant
ResearchAssistant
TeachingAssistant
AdministrativeStaff
Director
Chair {Professor}
Dean {Professor}
ClericalStaff
SystemsStaff
Student
UndergraduateStudent
GraduateStudent Organization
Department
School
University
Program
ResearchGroup
Institute
Publication
Article
TechnicalReport
JournalArticle
ConferencePaper
UnofficialPublication
Book
Software
Manual
Specification
Work
Course
Research
Schedule<br>
20
Example Continued: Relationships Relation Argument 1 Argument 2
================================================================
publicationAuthor Publication Person
publicationDate Publication .DATE
publicationResearch Publication Research
softwareVersion Software .STRING
softwareDocumentation Software Publication
teacherOf Faculty Course
teachingAssistantOf TeachingAssistant Course
takesCourse Student Course
age Person .NUMBER
emailAddress Person .STRING
head Organization Person
undergraduateDegreeFrom Person University
doctoralDegreeFrom Person University
advisor Student Professor
alumnus Organization Person
affiliateOf Organization Person
researchInterest Person Research
researchProject ResearchGroup Research
listedCourse Schedule Course
tenured Professor .TRUTH<br>
================================================================
publicationAuthor Publication Person
publicationDate Publication .DATE
publicationResearch Publication Research
softwareVersion Software .STRING
softwareDocumentation Software Publication
teacherOf Faculty Course
teachingAssistantOf TeachingAssistant Course
takesCourse Student Course
age Person .NUMBER
emailAddress Person .STRING
head Organization Person
undergraduateDegreeFrom Person University
doctoralDegreeFrom Person University
advisor Student Professor
alumnus Organization Person
affiliateOf Organization Person
researchInterest Person Research
researchProject ResearchGroup Research
listedCourse Schedule Course
tenured Professor .TRUTH<br>
21
OWL The Web Ontology Language
Built on top of RDFS & XML
3 versions
OWL Lite – monotonic and simplified
OWL DL – monotonic but enhances OWL Lite, anything true in OWL Lite will be true in OWL DL
OWL Full – uses the same constructs as OWL DL but does not include restrictions so that OWL Full ontologies are not monotonic and inferencing in OWL Full is not decidable in that any single inference may never reach a conclusion (cannot guarantee a halting state)
OWL syntax is that of RDF whereby all items defined make up a part of an ontology hierarchy
Each entry is a triple, whether expressed in OWL syntax or directly in RDF, here we define a class whose name is Continent (note that since we did not specify its parent class, it inherits directly from Thing) <owl:Class rdf:ID="Continent"/><br>
Built on top of RDFS & XML
3 versions
OWL Lite – monotonic and simplified
OWL DL – monotonic but enhances OWL Lite, anything true in OWL Lite will be true in OWL DL
OWL Full – uses the same constructs as OWL DL but does not include restrictions so that OWL Full ontologies are not monotonic and inferencing in OWL Full is not decidable in that any single inference may never reach a conclusion (cannot guarantee a halting state)
OWL syntax is that of RDF whereby all items defined make up a part of an ontology hierarchy
Each entry is a triple, whether expressed in OWL syntax or directly in RDF, here we define a class whose name is Continent (note that since we did not specify its parent class, it inherits directly from Thing) <owl:Class rdf:ID="Continent"/><br>
22
Defining Entities in OWL We start by defining a class
We then define properties and axioms of that class
We can also define individuals (instances) of the class
Individuals may have their own unique properties and axioms
Properties will have domains and ranges from which we can utilize re-defined data types or define our own data types
These types of definitions are specified using xml notation where the terms are either defined in RDF, RDFS, OWL or another ontology that we are utilizing (inheriting from)
We denote the location of the defined term using location:term as in rdf:ID, rdfs:subClassOf or owl:equivalentClass<br>
We then define properties and axioms of that class
We can also define individuals (instances) of the class
Individuals may have their own unique properties and axioms
Properties will have domains and ranges from which we can utilize re-defined data types or define our own data types
These types of definitions are specified using xml notation where the terms are either defined in RDF, RDFS, OWL or another ontology that we are utilizing (inheriting from)
We denote the location of the defined term using location:term as in rdf:ID, rdfs:subClassOf or owl:equivalentClass<br>
23
OWL Classes There are 6 types of descriptions that we apply to classes
Identifier (URI)
<owl:Class rdf:ID=“Human” />
Enumeration – the individuals (instances) of the class
this does not have to be complete although we can force it to be complete by saying that the instances are exhaustive by specifying “oneOf”
Property restriction – places a constraint on some property defined for the class (we look at properties next), such as allValuesFrom or someValuesFrom or for an individual, hasValue
Intersection, Union, Complement – using these set operations, we can define one class’ membership in terms of other defined classes<br>
Identifier (URI)
<owl:Class rdf:ID=“Human” />
Enumeration – the individuals (instances) of the class
this does not have to be complete although we can force it to be complete by saying that the instances are exhaustive by specifying “oneOf”
Property restriction – places a constraint on some property defined for the class (we look at properties next), such as allValuesFrom or someValuesFrom or for an individual, hasValue
Intersection, Union, Complement – using these set operations, we can define one class’ membership in terms of other defined classes<br>
24
OWL Class Definitions You can define a class using one of six methods
A new class definition with a specific URI
<owl:Class rdf:ID="Human" />
An exhaustive enumeration of specific instances that make up the class’ population
Restrictions on a previously defined class (thus, you narrow a prior class by restricting the available elements)
Taking previously defined classes and union or intersect them together
Taking a previously defined class and complement it (everything not in that class is in this class)
OWL has two predefined classes to start with
THING (topmost parent) and NOTHING (bottommost child)<br>
A new class definition with a specific URI
<owl:Class rdf:ID="Human" />
An exhaustive enumeration of specific instances that make up the class’ population
Restrictions on a previously defined class (thus, you narrow a prior class by restricting the available elements)
Taking previously defined classes and union or intersect them together
Taking a previously defined class and complement it (everything not in that class is in this class)
OWL has two predefined classes to start with
THING (topmost parent) and NOTHING (bottommost child)<br>
25
Class Axioms Once we define a class, we use axioms to specify how this class relates to other defined classes
Axiom terms include
rdfs:subClassOf
within a subclass definition we can further specify restrictions that control properties of this subclass (which might make it more unique or specialized than the parent class) using owl:Restriction
owl:equivalentClass – allows us to specify that a class defined elsewhere is the same as this class
owl:disjointWith – allows us to specify that a class defined elsewhere is not the same as this class and that the two classes have no individuals in common<br>
Axiom terms include
rdfs:subClassOf
within a subclass definition we can further specify restrictions that control properties of this subclass (which might make it more unique or specialized than the parent class) using owl:Restriction
owl:equivalentClass – allows us to specify that a class defined elsewhere is the same as this class
owl:disjointWith – allows us to specify that a class defined elsewhere is not the same as this class and that the two classes have no individuals in common<br>
26
Defining Classes Using Restrictions allValuesFrom – like “for all” in logic, includes all elements of a class that match the given value
<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:allValuesFrom rdf:resource="#Human" /> </owl:Restriction>
someValuesFrom – to be in this class, the instance has to have the associated value as one of its attributes
<owl:someValuesFrom rdf:resource="#Physician" />
hasValue – same as someValuesFrom but the value has to be semantically equivalent
this might be used to define a specific instance as in
<owl:hasValue rdf:resource="#Clinton" />
maxCardinality, minCardinality – to define valid ranges of numeric values
cardinality – is used to define a specific expected value
that is, both minimum and maximum<br>
<owl:Restriction> <owl:onProperty rdf:resource="#hasParent" /> <owl:allValuesFrom rdf:resource="#Human" /> </owl:Restriction>
someValuesFrom – to be in this class, the instance has to have the associated value as one of its attributes
<owl:someValuesFrom rdf:resource="#Physician" />
hasValue – same as someValuesFrom but the value has to be semantically equivalent
this might be used to define a specific instance as in
<owl:hasValue rdf:resource="#Clinton" />
maxCardinality, minCardinality – to define valid ranges of numeric values
cardinality – is used to define a specific expected value
that is, both minimum and maximum<br>
27
Properties A property links
Individuals to other individuals
Individuals to specific data values
Property statements are made using property axioms and consist of
rdfs:subPropertyOf
rdfs:domain, rdfs:range
owl:equivalentProperty
owl:inverseOf
owl:FunctionalProperty, owl:InverseFunctionalProperty
owl:SymmetricalProperty, owl:TransitiveProperty
Properties are defined using the ObjectProperty tag with the class being specified within the property rather than defining a class and placing a property inside of it<br>
Individuals to other individuals
Individuals to specific data values
Property statements are made using property axioms and consist of
rdfs:subPropertyOf
rdfs:domain, rdfs:range
owl:equivalentProperty
owl:inverseOf
owl:FunctionalProperty, owl:InverseFunctionalProperty
owl:SymmetricalProperty, owl:TransitiveProperty
Properties are defined using the ObjectProperty tag with the class being specified within the property rather than defining a class and placing a property inside of it<br>
28
Individuals Individuals are defined within a class membership and have their own property values and individual identity applied to them
The structure is <ClassName rdf:ID=“identifier”>
Followed by property definitions for this individual such as <hasName rdf:resource=“#individual’s name” />
Once defined, we can compare two individuals with the following three tags
owl:sameAs
owl:differentFrom
owl:AllDifferent (the items in the given list are all unique)
Here are some OWL examples:
http://www.w3.org/TR/owl-guide/wine.rdf
http://wiki.eclipse.org/Person.owl_Example
http://jmvidal.cse.sc.edu/talks/xmlrdfdaml/owlexample.html<br>
The structure is <ClassName rdf:ID=“identifier”>
Followed by property definitions for this individual such as <hasName rdf:resource=“#individual’s name” />
Once defined, we can compare two individuals with the following three tags
owl:sameAs
owl:differentFrom
owl:AllDifferent (the items in the given list are all unique)
Here are some OWL examples:
http://www.w3.org/TR/owl-guide/wine.rdf
http://wiki.eclipse.org/Person.owl_Example
http://jmvidal.cse.sc.edu/talks/xmlrdfdaml/owlexample.html<br>
29
OWL Defined Components<br>
30
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 foaf<br>
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 foaf<br>
31
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<br>
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<br>
32
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<br>
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<br>
33
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<br>
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<br>
34
Examples: How Ontologies are Used Question answering
If coded in the ontology, simply look up and respond
class/subclass information (primarily through inheritance)
attribute value response/database extraction
If inferences are available then select and apply appropriate inference
for example, given that A isa B and B is part of a C, we might want to know if A is part of a C<br>
If coded in the ontology, simply look up and respond
class/subclass information (primarily through inheritance)
attribute value response/database extraction
If inferences are available then select and apply appropriate inference
for example, given that A isa B and B is part of a C, we might want to know if A is part of a C<br>
35
Continued Processing
We might want to transform or manipulate some set of knowledge
special purpose inference such as from biology:
if either “X biosynthesis” or “X catabolism” exists then the parent “X metabolism” must also exist
Translation
Special purpose methods might be available to translate terms
Otherwise, common terms must be identified between the ontologies so that related terms can then be recognized even if the related terms go by different names<br>
We might want to transform or manipulate some set of knowledge
special purpose inference such as from biology:
if either “X biosynthesis” or “X catabolism” exists then the parent “X metabolism” must also exist
Translation
Special purpose methods might be available to translate terms
Otherwise, common terms must be identified between the ontologies so that related terms can then be recognized even if the related terms go by different names<br>
36
Cyc: Common Sense Reasoning An attempt to construct a common sense knowledge-base
Effort of 30 years of coding
Millions of pieces of concepts/pieces of knowledge, common sense facts and rules
General-purpose knowledge-base to be used with other applications
other applications are to sit on top of CYC so that, when necessary, these system can delve deeper into common sense/general-purpose knowledge when the special-purpose knowledge is not adequate
Knowledge represented using triples like RDF with the notation
link term value as in (#$isa #$BillClinton #$USPres) and (#$capitalCity #$France #$Paris)
Rules defined for inferencing
(#$ implies (#$and (#$isa ?OBJ ?SUBSET) (#$genls ?SUBSET ?SUPERSET)) (#$isa ?OBJ ?SUPERSET))<br>
Effort of 30 years of coding
Millions of pieces of concepts/pieces of knowledge, common sense facts and rules
General-purpose knowledge-base to be used with other applications
other applications are to sit on top of CYC so that, when necessary, these system can delve deeper into common sense/general-purpose knowledge when the special-purpose knowledge is not adequate
Knowledge represented using triples like RDF with the notation
link term value as in (#$isa #$BillClinton #$USPres) and (#$capitalCity #$France #$Paris)
Rules defined for inferencing
(#$ implies (#$and (#$isa ?OBJ ?SUBSET) (#$genls ?SUBSET ?SUPERSET)) (#$isa ?OBJ ?SUPERSET))<br>
37
Cyc Ontology Categories of categories
Categories of individuals (tangible and intangible objects)
Categories of scripts (typical actions and events)
physiological actions, problem solving actions, communications, rites of passage, work, hobby, natural phenomena
Entities are categorized as
Relationships (predicates)
Attributes
Lexical items (words, parts of speech/tense, etc…)
Proper nouns (people, places, …)
Microtheories (explained on the next slide)
Miscellany
Special-purpose inferences and heuristics (for efficiency)
Temporal and spacial reasoning using qualitative or naïve physics
Domain specific axioms (e.g., medical diagnostic rules)
Inferences for specific syntactic structures
General-purpose axioms to be applied when special-purpose axioms are not available or do not work<br>
Categories of individuals (tangible and intangible objects)
Categories of scripts (typical actions and events)
physiological actions, problem solving actions, communications, rites of passage, work, hobby, natural phenomena
Entities are categorized as
Relationships (predicates)
Attributes
Lexical items (words, parts of speech/tense, etc…)
Proper nouns (people, places, …)
Microtheories (explained on the next slide)
Miscellany
Special-purpose inferences and heuristics (for efficiency)
Temporal and spacial reasoning using qualitative or naïve physics
Domain specific axioms (e.g., medical diagnostic rules)
Inferences for specific syntactic structures
General-purpose axioms to be applied when special-purpose axioms are not available or do not work<br>
38
Part of Cyc’s Ontology<br>
39
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<br>
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<br>
40
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?<br>
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?<br>
41
What Does Autonomy Require? First and foremost, the agent must know how to solve the given problem
It must have its own
problem solving method(s)
knowledge-base or access to knowledge (say through ontologies)
ability to acquire necessary input (through communication)
Fortunately, unlike KBS, the methods and knowledge-base content are limited to a very specific problem, so constructing the agent should be more straightforward
How does the agent know where to seek the necessary input?
do we want to provide a static list of sources?
can the agent find proper sources in a dynamic environment?<br>
It must have its own
problem solving method(s)
knowledge-base or access to knowledge (say through ontologies)
ability to acquire necessary input (through communication)
Fortunately, unlike KBS, the methods and knowledge-base content are limited to a very specific problem, so constructing the agent should be more straightforward
How does the agent know where to seek the necessary input?
do we want to provide a static list of sources?
can the agent find proper sources in a dynamic environment?<br>
42
Communication Agents need to be able to communicate with other agents
An agent must know what other agents exist and how to contact them
An agent must be able to send messages that other agent(s) can understand
An agent must be able to understand or interpret responses from agents
An agent must know which of the available agents can accommodate the request of this agent
An agent may want to know what other agents are trustworthy (can I trust the response from that agent?)
Ontologies can help with communication by allowing agents to translate information from one agent into the vocabulary that they use<br>
An agent must know what other agents exist and how to contact them
An agent must be able to send messages that other agent(s) can understand
An agent must be able to understand or interpret responses from agents
An agent must know which of the available agents can accommodate the request of this agent
An agent may want to know what other agents are trustworthy (can I trust the response from that agent?)
Ontologies can help with communication by allowing agents to translate information from one agent into the vocabulary that they use<br>
43
Types of Environments Accessible vs. inaccessible: agent’s sensors give it access to the complete state of the environment at each point in time
Deterministic vs. non-deterministic: next state of the environment is completely determined by the current state and the action executed by the agent
Episodic vs. non-episodic: agent’s experience is divided into atomic episodes, each episode consisting of a perception-action pair where the action is a single action/event
Static vs. dynamic: environment is unchanged during the agent’s deliberation of an action
Discrete vs. continuous: limited number of distinct, clearly defined percepts and actions
Single agent vs multi-agent: the agent works in isolation (no other agents around)<br>
Deterministic vs. non-deterministic: next state of the environment is completely determined by the current state and the action executed by the agent
Episodic vs. non-episodic: agent’s experience is divided into atomic episodes, each episode consisting of a perception-action pair where the action is a single action/event
Static vs. dynamic: environment is unchanged during the agent’s deliberation of an action
Discrete vs. continuous: limited number of distinct, clearly defined percepts and actions
Single agent vs multi-agent: the agent works in isolation (no other agents around)<br>
44
Examples An environment would be considered semi-static if the environment is
not changing between agent decisions but if the agent is on a time limit –
for instance, in timed chess, the agent has to watch the clock or else be
penalized (or lose) if time runs out<br>
not changing between agent decisions but if the agent is on a time limit –
for instance, in timed chess, the agent has to watch the clock or else be
penalized (or lose) if time runs out<br>
45
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?<br>
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?<br>
46
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<br>
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<br>
47
Examples: Are They All Agents?<br>
48
An Agent Classification Some comments
Viruses have goals and mobility, but are they communicative or perceptive?
Artificial life forms may not qualify as their only goal is to survive and they may not be perceptive<br>
Viruses have goals and mobility, but are they communicative or perceptive?
Artificial life forms may not qualify as their only goal is to survive and they may not be perceptive<br>
49
How Does an Agent Differ from AI? Many AI systems have been developed that are autonomous, goal-oriented (in that they plan actions) and perceive their environment
Why create a distinction between ordinary AI and agents?
the KBS sits in isolation, communicating with a user to solve its problem
an agent communicates with other agents and interprets what those agents communicate to them
the agent will reason (plan out) how to solve the problem by using its own mechanisms as well as drawing upon other agents
On the other hand
an agent will not typically require the depth of knowledge that a KBS will and possibly not require uncertainty handling methods
an agent may require worldly knowledge, common sense knowledge, or natural language capabilities that the KBS does not require
Generally, an agent should be easier to implement than a KBS<br>
Why create a distinction between ordinary AI and agents?
the KBS sits in isolation, communicating with a user to solve its problem
an agent communicates with other agents and interprets what those agents communicate to them
the agent will reason (plan out) how to solve the problem by using its own mechanisms as well as drawing upon other agents
On the other hand
an agent will not typically require the depth of knowledge that a KBS will and possibly not require uncertainty handling methods
an agent may require worldly knowledge, common sense knowledge, or natural language capabilities that the KBS does not require
Generally, an agent should be easier to implement than a KBS<br>
50
Agent Architecture The agent operates as follows given a goal to accomplish
sense the environment
plan out a course of actions
select the next action to perform which will modify the environment and state
repeat until Goal has been reached How difficult is it to
sense the environment?
Will actions necessarily
accomplish the plan step
as expected?
Can other agents influence
the environment?
How are the plans stored
and selected?<br>
sense the environment
plan out a course of actions
select the next action to perform which will modify the environment and state
repeat until Goal has been reached How difficult is it to
sense the environment?
Will actions necessarily
accomplish the plan step
as expected?
Can other agents influence
the environment?
How are the plans stored
and selected?<br>
51
Types of Agents Reflex Agent
simplest form, the agent merely reacts to its environment – no memory, no internal states, no planning
State-based Agent
the next step up is an agent that keeps track of its current (and possibly previous) state(s), this can help with planning and understanding
Goal-oriented Agent
this agent has the ability to plan out a sequence of states to achieve in order – planning might be based on a table-lookup approach or something more elaborate using a search mechanism and available planning knowledge
Utility-based Agent
the agent has the ability to determine the usefulness of a plan step toward achieving its goals so that it can achieve the goals in a more optimal fashion, and possibly have better final results for goals<br>
simplest form, the agent merely reacts to its environment – no memory, no internal states, no planning
State-based Agent
the next step up is an agent that keeps track of its current (and possibly previous) state(s), this can help with planning and understanding
Goal-oriented Agent
this agent has the ability to plan out a sequence of states to achieve in order – planning might be based on a table-lookup approach or something more elaborate using a search mechanism and available planning knowledge
Utility-based Agent
the agent has the ability to determine the usefulness of a plan step toward achieving its goals so that it can achieve the goals in a more optimal fashion, and possibly have better final results for goals<br>
52
Comparison<br>
53
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<br>
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<br>
54
Learning (Adaptive) Agents Reactive learning – based on previous failed attempts
Caching solutions – case based reasoning or chunking
Novel learning – learning new ideas as they are faced
this might including learning new plan steps, learning new agents to communicate with, learning that previous plan steps can accomplish goals
A learning component requires a solution to the utility problem
How do you know that the new piece of knowledge is worth saving?
How do you index this new piece of knowledge? Do you discard older knowledge in favor of the new?
While we prefer adaptive agents, learning is a very challenging problem which may interfere with the performance of the agent<br>
Caching solutions – case based reasoning or chunking
Novel learning – learning new ideas as they are faced
this might including learning new plan steps, learning new agents to communicate with, learning that previous plan steps can accomplish goals
A learning component requires a solution to the utility problem
How do you know that the new piece of knowledge is worth saving?
How do you index this new piece of knowledge? Do you discard older knowledge in favor of the new?
While we prefer adaptive agents, learning is a very challenging problem which may interfere with the performance of the agent<br>
55
Multi-Agent Systems We also need to differentiate between
an agent that has subroutines to accomplish its task
and multiple agents that work together to accomplish a task
In the latter case
how does one agent know what other agents to communicate with?
how do the agents communicate (message passing? remote procedure calls?)
what happens if a communication is interrupted?
will there be multiple agents that could accomplish a given task so that one agent can call upon several agents and then select among the responses?
will there be a single governing agent?
These problems are similar to any distributed process but now it becomes more convoluted as we step up from simple processes to goal oriented processes<br>
an agent that has subroutines to accomplish its task
and multiple agents that work together to accomplish a task
In the latter case
how does one agent know what other agents to communicate with?
how do the agents communicate (message passing? remote procedure calls?)
what happens if a communication is interrupted?
will there be multiple agents that could accomplish a given task so that one agent can call upon several agents and then select among the responses?
will there be a single governing agent?
These problems are similar to any distributed process but now it becomes more convoluted as we step up from simple processes to goal oriented processes<br>
56
How the Semantic Web Works The semantic web as
a protocol stack<br>
a protocol stack<br>