David BenDavid amp Roi Adadi Built on W3C Tutorial on Semantic Web Technologies presentation We all know that right The Semantic Web Artificial Intelligence on the Web One has to add metadata to all Web pages convert all relational databases and XML data to use the Semantic W ID: 629834
Download Presentation The PPT/PDF document "Semantic Web Technologies" is the property of its rightful owner. Permission is granted to download and print the materials on this web site 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.
Slide1
Semantic Web Technologies
David Ben-David & Roi Adadi
Built on W3C “
Tutorial on Semantic Web Technologies
” presentationSlide2
We all know that, right?
The Semantic Web Artificial Intelligence on the Web
One
has to add metadata to all Web pages, convert all relational databases, and XML data to use the Semantic Web
It is just an ugly application of XML
One has to learn formal logic, knowledge representation techniques, description logic, etc
It is, essentially, an academic project, of no interest for industry …Slide3
WRONG!!!!
The Semantic Web Artificial Intelligence on the Web
One
has to add metadata to all Web pages, convert all relational databases, and XML data to use the Semantic Web
It is just an ugly application of XML
One has to learn formal logic, knowledge representation techniques, description logic, etc
It is, essentially, an academic project, of no interest for industry …Slide4
Is the Semantic Web AI on the Web?
No!
Beware of the hype!!!Slide5
So what is the Semantic Web?
Humans can easily “connect the dots” when browsing the Web…
you disregard advertisements
you “know” (from the context) that this link is interesting and goes to my CV; whereas the other one is without interest
etc.
… but machines can’t!
The goal is to have a
Web of Data
to ensure smooth integration with data, too
Let us see just some application examples…Slide6
Example: Searching
The best-known example… Google et al. are great, but there are too many false hits
adding (maybe application specific) descriptions to resources should improve thisSlide7
General searchSlide8
Example: Semantics of Web Services
If the services are ubiquitous, searching issue comes up, for example: “find me the most elegant Schrödinger equation solver”
but what does it mean to be
“elegant”?
“most elegant”?
mathematicians ask these questions all the time…
It is necessary to characterize the service not only in terms of input and output parameters…
…but also in terms of its
semanticsSlide9
Example: data(base) integration
Databases are very different in structure & in contentLots of applications require managing
several databases
after company mergers
biochemical
, genetic, pharmaceutical research
etc.
Most of these data is accessible on the
WebSlide10
Example: data integration in life sciencesSlide11
And the problem is realSlide12
The Semantic Web Vision
"
The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation
."
Tim Berners-Lee, James
Hendler
and
Ora
Lassila
;
Scientific American, May 2001 Slide13
What Is Needed?
(Some) data should be available for machines for further
processing
Data should be possibly
exchanged, merged, combined
on a Web scale
Sometimes, data may
describe
other data
Machines
may also need to
reason
about that dataSlide14
What Is Needed (Technically)?
To make data machine process-able, we need:
unambiguous names for resources that may also bind data to real world objects: URI-s
a common data model to access, connect, describe the resources: RDF
access to that data: SPARQL
common vocabularies: RDFS, OWL, SKOS
reasoning logics: OWL, Rules
The “Semantic Web” is an infrastructure for the interchanging and integrating data on the Web
It
extends
the current Web (and does not replace it)Slide15
Statements
The data is a set of statements
Statements can be modeled (mathematically) with:
Resources:
an element, a URI, a literal, …
Properties:
directed relations between two resources
Statements:
“triples” of two resources bound by a property
Common terminology: (
s,p,o
) for subject, properties, object
subject
object
propertySlide16
URI-s Play a Fundamental Role
Anybody can create (meta)data on any resource on the Web
e.g., the
same
Person could be annotated through other terms
semantics is added to existing Web resources via URI-s
Data exist on the Web, because it is accessible through standard Web means
URI-s ground RDF into the Web
information can be retrieved using existing tools
this makes the “Semantic Web”, well… “Semantic Web”Slide17
Resource Description Framework
The data model of the Semantic Web.
A schema-less data model that features unambiguous identifiers and named relations between pairs of resources.
A labeled, directed graph of relations between resources and literal values.Slide18
RDF is a Graph
An (s,p,o) triple can be viewed as a labeled edge in a graph
i.e., a set of RDF statements is a directed, labeled graph
both “objects” and “subjects” are the graph nodes
“properties” are the edges
One should “think” in terms of graphs; XML or Turtle syntax are only the tools for practical usage!Slide19
Example RDF triples
<
rdf:Description
rdf:about
="http://.../
membership.svg#FullSlide
">
<
axsvg:graphicsType
>Chart</
axsvg:graphicsType
>
<
axsvg:labelledBy
rdf:resource
="http://...#
BottomLegend
"/>
<
axsvg:chartType
>Line</
axsvg:chartType
>
</
rdf:Description
>Slide20
Merging data & data integration
It becomes easy to
merge
data
Merge can be done because statements refer to the same URI-s
nodes with identical URI-s are considered identical
Merging is a very powerful feature of RDF
metadata may be defined by several (independent) parties…
…and combined by an application
one of the areas where RDF is much handier than pure XMLSlide21
Data integration exampleSlide22
RDF/XML Principles (cont)
<
rdf:Description
rdf:about
="#
FullSlide
">
<
axsvg:labelledBy
>
<
rdf:Description
rdf:about
="#
BottomLegend
"/>
</
axsvg:labelledBy
>
</
rdf:Description
>
<
rdf:Description
rdf:about
="#
FullSlide
">
<
axsvg:graphicsType
>
Chart
</
axsvg:graphicsType
>
</
rdf:Description
>
<
rdf:Description
rdf:about
="#
FullSlide
">
<
axsvg:labelledBy
>
<
rdf:Description
rdf:about
="#
BottomLegend
"/>
</
axsvg:labelledBy
>
<
axsvg:graphicsType
>
Chart </axsvg:graphicsType></rdf:Description>
The “canonical” way:
The “simplified” version :
There are lots of other simplification rulesSlide23
Blank Nodes
Consider the following statement: “the full slide is a «thing» that consists of axes, legend, and
datalines
”
Until now, nodes were identified with a URI. But…
…what is the URI of «thing»?Slide24
Blank Nodes
Let the System Do It
Blank nodes require attention when merging
blanks nodes in different graphs are different
the implementation must be careful with its naming schemes
<
rdf:Description
rdf:about
="#
FullSlide
">
<
axsvg:isA
>
<
rdf:Description
>
<
axsvg:consistsOf
rdf:resource
="#Axes"/>
…
</
rdf:Description
>
</
axsvg:isA
>
</
rdf:Description
>Slide25
RDF Serialization
Depending on your preference -
RDF/XML
Turtle (not based on XML)
Again: these are all just syntactic sugar!
RDF environments often understand several serialization syntaxesSlide26
RDFS -RDF Vocabulary Description Language
officially: “RDF Vocabulary Description Language”; the term “Schema” is retained for historical reasons
Are there (logical) relationships among the terms in the RDF graph?Slide27
Classes, Resources, …
Think of well known in traditional ontologies
:
use the term “mammal”
“every dolphin is a mammal”
“Flipper is a dolphin”
etc.
RDFS defines resources and classes:
everything in RDF is a “resource”
“classes” are also resources, but…
they are also a collection of possible resources (i.e., “individuals”)
“mammal”, “dolphin”, …
Relationships are defined among classes/resources:
“typing”: an individual belongs to a specific class (“Flipper is a dolphin”)
“
subclassing
”: instance of one is also the instance of the other (“every dolphin is a mammal”)
RDFS formalizes these notions in RDFSlide28
Classes, Resources in RDF(S)
RDFS defines
rdfs:Resource
,
rdfs:Class
as nodes;
rdf:type
,
rdfs:subClassOf
as propertiesSlide29
Typed Nodes
A resource may belong to several classes rdf:type
is just a property…
“Flipper is a mammal, but Flipper is also a TV star…”
i.e., it is not like a
datatype
in this sense!
The type information may be very important for applications
e.g., it may be used for a categorization of possible nodesSlide30
Inferred Properties
(#Flipper
rdf:type
#Mammal)
is not in the original RDF data…
…but can be inferred from the RDFS rules
Better RDF environments will return that triplet, tooSlide31
Inference: Formal
The RDF Semantics document has a list of (44) entailment rules :“if such and such triplets are in the graph, add this and this triplet”
do that recursively until the graph does not change
this can be done in polynomial time for a specific graph
Whether those extra triplets are physically added to the graph, or deduced when needed is an implementation issueSlide32
Properties (Predicates)
Property is a special class (rdf:Property
)
Properties are constrained by their range and domain
Properties are also resources… (have URI’s)
For example, (P
rdfs:range
C) means:
1. P is a property
2.C is a class instance
3.when using P, the “object” must
be
an individual in C
* this is an RDF statement with subject P, object C, and property
rdfs:rangeSlide33
Property Specification ExampleSlide34
Literals
Literal doesn’t contain URI’s Literals may have a data type (floats,
ints
, free text, etc) defined in XML Schemas, including full XML Fragments
(Natural) language can also be specified (via
xml:lang
)Slide35
Concluding example (data export)Slide36
Concluding example (merged & revisited)Slide37
Concluding example (add external data source)Slide38
Querying RDF Graphs/Depositories
Complex queries into the RDF data are necessarysomething like: “give me the (
a,b
) pair of resources, for which there is an x such that (x parent a) and (b brother x) holds” (
ie
, return the uncles)
This is the goal of
SPARQL
(Query Language for RDF)Slide39
SPARQL
Stands for…?
S
PARQL
P
rotocol
a
nd
R
DF
Q
uery
L
anguage
Is based on similar systems that already existed in some environments
Is a programming language-independent query language
The fundamental idea: generalize the approach of graph patternsSlide40
Example
Returns: ["Total Members", 100, http://...],…,["Full Members",20, ]Slide41
Other SPARQL Features
Limit the number of returned results; remove duplicates, sort them, … Return the full
subgraph
(instead of a list of bound variables)
Construct a graph combining a separate pattern and the query results
Use
datatypes
and/or language tags when matching a pattern Slide42
Programming Practice - Jena
RDF toolkit in Java from HP’s Bristol lab; it has
a large number of classes/methods
listing, removing associated properties, objects, comparing full RDF graphs
manage typed literals, mapping
Seq
, Alt, etc. to Java constructs
an
“RDFS
Reasoner
”
a full SPARQL implementation
a layer (
Joseki
) for remote access of triples (essentially, and triple database)
and more…
Probably the most widely used RDF environment in Java todaySlide43
Ontologies (OWL)
RDFS is useful, but does not solve all the issuesCan a program reason about some terms? E.g.: “
if «A» is left of «B» and «B» is left of «C», is «A» left of «C»?
”
programs should be able to deduce such statements
if somebody else defines a set of terms: are they the same?Slide44
How to speak Ontology?
We need a Web Ontologies
Language to define:
more
constraints on
properties
logical
characterization of properties
etc.
W3C’s Ontology Language (OWL) -
A layer on top of RDFS with additional possibilities
“OWL is now the most used
ontology
language in the history of AI…” (Jim
Hendler
)Slide45
Why “OWL” and not “WOL”?
Some urban legends…
e.g., reference to Owl from
Winie
the Pooh, who misspelled his name as “WOL”
A reference to an AI project at MIT of the mid 70’s by Bill Martin, called “One World Language”…
an early attempt for a
ontology
language and associated ontology, intended to be a universal language for encoding meaning for computersSlide46
Property Restrictions in OWL
Restriction may be by: value constraints (i.e., further restrictions on the range)
all values must be from a class
at least one value must be from a class
cardinality constraints (i.e., how many times the property can be used on an instance?)
minimum cardinality
maximum cardinality
exact cardinalitySlide47
Property Restriction Example
“A dolphin is a mammal living in the sea or in the Amazonas”Slide48
More OWL preferences
Property Characterization
In OWL, one can characterize the behavior of properties (symmetric, transitive, …)
Term Equivalence/Relations
For classes (
owl:equivalentClass
,
owl:disjointWith
)
For properties (
owl:equivalentProperty
,
owl:inverseOf
)
For individuals (
owl:sameAs
,
owl:differentFrom
)
Special class
owl:Ontology
with special properties:
owl:imports
,
owl:versionInfo
,
owl:priorVersion
owl:backwardCompatibleWith
,
owl:incompatibleWith
rdfs:label
,
rdfs:comment
can also be usedSlide49
OWL and Logic
OWL expresses a small subset of First Order Logic
it has a “structure” (class hierarchies, properties,
datatypes
…), and “axioms” can be stated within that structure only.
Inference based on OWL is within this framework onlySlide50
However: Ontologies are Hard!
A full ontology-based application is
Complex system
Hard to implement
Heavy to run
And not all application may need it
Three layers of OWL are defined:
Lite
, DL(Description Logic), and Full
decreasing level of complexity and expressiveness Slide51
FOAF - The way to describe yourseft
Stands for "Friend Of A Friend"
Provides structured links
Information distributed & extensible
Name (
foaf:name
)
E-mail (
Foaf:mbox
)
Representing picture (
Foaf:img
)
Your publications (
Foaf:publications
)
Your online account (
Foaf:holdsAccount
)Slide52
Creating FOAF
Several types of FOAF authoring tools are available:Do it by hand
Web-based tools
Dedicated tools
Using a WikiSlide53
DC – Dublin core
The mission:To
make it easier to find resources using the Internet through the following activities
Developing metadata standards for discovery across domains
Defining frameworks for the interoperation of metadata sets
Facilitating the development of community- or discipline-specific metadata sets that are consistent with the above items
Slide54
DC - Core Metadata Element Set
Title (
dc:title
)
Subject (
dc:subject
)
Description (
dc:description
)
Creator
Publisher (
dc:publisher
)
Contributor
Date
Type
Format
Identifier (
dc:identifier
)
Source
Language
Relation
(
dcterms:isPartOf
)
Coverage
Rights