The Semantic Web
The Semantic Web
A Brief IntroductionDr. Randy M. KaplanA Brief IntroductionDr. Randy M. Kaplan
22
A QuoteA Quote
I have always imagined the information space as something to which everyone has immediate and intuitive access, not just to browse but to create ... Machines become capable of analyzing all the data on the web - the content, and links, and transaction between people and computers.
I have always imagined the information space as something to which everyone has immediate and intuitive access, not just to browse but to create ... Machines become capable of analyzing all the data on the web - the content, and links, and transaction between people and computers.
2
33
A Quote (continued)A Quote (continued)
... When the Semantic web does emerge the day-to-day mechanisms of trade, bureaucracy, and our daily lives will be handled by machines talking to machines, leaving people to provide the inspiration and intuition.
Tim Berners-Lee, 2000
... When the Semantic web does emerge the day-to-day mechanisms of trade, bureaucracy, and our daily lives will be handled by machines talking to machines, leaving people to provide the inspiration and intuition.
Tim Berners-Lee, 2000 3
44
What is the Semantic WebWhat is the Semantic Web
Semantic = meaning
Semantic Web = meaningful web?
The term semantic web is a vision
Computers - Software - People
Find, read, and understand data over the WWW to accomplish useful goals for users
Semantic = meaning
Semantic Web = meaningful web?
The term semantic web is a vision
Computers - Software - People
Find, read, and understand data over the WWW to accomplish useful goals for users
4
55
Semantic WebSemantic Web
Make data anywhere on the web accessible and understandable to people and machines
Informally defined
Fluid
Evolving
Not a working system
Make data anywhere on the web accessible and understandable to people and machines
Informally defined
Fluid
Evolving
Not a working system5
66
Semantic webSemantic web
Ideas
Machine-readable-data-view
Data on the web is used by machine
Used for automation, integration, and reuse (W3C 2003)
Ideas
Machine-readable-data-view
Data on the web is used by machine
Used for automation, integration, and reuse (W3C 2003)
6
77
Semantic webSemantic web
Ideas
Intelligent Agents
Allow intelligent agents to retrieve and manipulate pertinent information
Ideas
Intelligent Agents
Allow intelligent agents to retrieve and manipulate pertinent information
7
88
Semantic webSemantic web
Ideas
Distributed Database View
The Semantic Web does for data what HTML did for textual information systems
Ideas
Distributed Database View
The Semantic Web does for data what HTML did for textual information systems
8
99
Semantic webSemantic web
Ideas
Distributed Database View
Represent all databases
Represent logic rules to link databases together to add value
Ideas
Distributed Database View
Represent all databases
Represent logic rules to link databases together to add value
9
1010
Semantic webSemantic web
Ideas
Distributed Database View
Transform the web from a large interlinked book to large interlinked database
Ideas
Distributed Database View
Transform the web from a large interlinked book to large interlinked database
10
1111
Semantic webSemantic web
Ideas
Automated Infrastructure
Berners-Lee argues that the Semantic web is infrastructure and not software
Ideas
Automated Infrastructure
Berners-Lee argues that the Semantic web is infrastructure and not software
11
1212
Semantic webSemantic web
Ideas
Servant of Humanity
Allow software relieve us of much of the burden of finding, extracting, integrating, and indexing information on the web
Ideas
Servant of Humanity
Allow software relieve us of much of the burden of finding, extracting, integrating, and indexing information on the web
12
1313
Semantic webSemantic web
Ideas
Better Annotation
Web as we know it augmented with annotations that are machine-readable and linked
Ideas
Better Annotation
Web as we know it augmented with annotations that are machine-readable and linked
13
1414
Semantic webSemantic web
Ideas
Improved Searching
Possible to access web resources by content rather than keywords
Ideas
Improved Searching
Possible to access web resources by content rather than keywords
14
1515
Semantic webSemantic web
Ideas
Web Services
Semantic Web will be called upon to provide services that in turn provide useful behavior
Agents automate procedures that are currently performed manually
Ideas
Web Services
Semantic Web will be called upon to provide services that in turn provide useful behavior
Agents automate procedures that are currently performed manually
15
1616
Semantic webSemantic web
Recurring Themes
Indexing and retrieving
Meta data
Annotation
Web as Database
Machine retrieval of data
Recurring Themes
Indexing and retrieving
Meta data
Annotation
Web as Database
Machine retrieval of data16
1717
Semantic webSemantic web
Recurring Themes
Web-based services
Discovery of services
Agents
Recurring Themes
Web-based services
Discovery of services
Agents
17
1818
Semantic WebSemantic Web
Videoshttp://www.youtube.com/watch?v=mVFY52CH6Bc
http://www.youtube.com/watch?v=OGg8A2zfWKg
Videoshttp://www.youtube.com/watch?v=mVFY52CH6Bc
http://www.youtube.com/watch?v=OGg8A2zfWKg
18
1919
Semantic webSemantic web
ScenarioDuring her stay in Honolulu Clara runs into several interesting people and they trade vCards. In the evening Clara reviews the days activities on her digital assistant. The assistant pops up a note with a link to one of the vCards that reads, “This guy’s profile seems to match the position advertisement that Bill put on our intranet. Can I notify Bill’s assistant?”
Clara asked her digital assistant to explain. “I used his company directory for finding his DAML enhanced vita: he’s got the required skills as a statistician who led the data mining group of the database department at Montana U for the requirement of a researcher who worked in machine learning.” Clara asked the assistant to provide evidence. “I checked his affiliation with the university of Montana, he is cited several times in their web pages: reasonably trusted; I checked his publication records from publishers DAML sources and asked bill assistant a rating of the journals: highly trusted. More details?”
Clara asked the assistant to inform Bill’s assistant
ScenarioDuring her stay in Honolulu Clara runs into several interesting people and they trade vCards. In the evening Clara reviews the days activities on her digital assistant. The assistant pops up a note with a link to one of the vCards that reads, “This guy’s profile seems to match the position advertisement that Bill put on our intranet. Can I notify Bill’s assistant?”
Clara asked her digital assistant to explain. “I used his company directory for finding his DAML enhanced vita: he’s got the required skills as a statistician who led the data mining group of the database department at Montana U for the requirement of a researcher who worked in machine learning.” Clara asked the assistant to provide evidence. “I checked his affiliation with the university of Montana, he is cited several times in their web pages: reasonably trusted; I checked his publication records from publishers DAML sources and asked bill assistant a rating of the journals: highly trusted. More details?”
Clara asked the assistant to inform Bill’s assistant
19
2020
Semantic webSemantic web
Questions about the scenario -
What sorts of information must the agent have access to in order to perform these tasks?
What sorts of processing must the agent do in order to perform these tasks?
Questions about the scenario -
What sorts of information must the agent have access to in order to perform these tasks?
What sorts of processing must the agent do in order to perform these tasks?
20
2121
Semantic webSemantic web
Foundations
Resources
Standardized Addressing
Small set of commands
Scalability and large networks
Foundations
Resources
Standardized Addressing
Small set of commands
Scalability and large networks
21
2222
Semantic webSemantic web
Foundations
Openness, completeness, and consistency
Web and Semantic Web
Foundations
Openness, completeness, and consistency
Web and Semantic Web
22
2323
Semantic webSemantic web
Resources
A resource is intended to represent any idea that can be referred to
We think of these as tangible packages of data
The notion of resource is more general
Resources
A resource is intended to represent any idea that can be referred to
We think of these as tangible packages of data
The notion of resource is more general
23
2424
Semantic webSemantic web
Resources
Generality of Resources
A resource can change over time and still be the same resource
A resource can also be a reference to a real or fictitious person
Resources
Generality of Resources
A resource can change over time and still be the same resource
A resource can also be a reference to a real or fictitious person
24
2525
Semantic webSemantic web
25
XMLXMLXMLXML
XML SchemaXML SchemaXML SchemaXML Schema
RDFRDFRDFRDF
RDF SchemaRDF SchemaRDF SchemaRDF Schema
OntologyOntologyOntologyOntology
Logic & Logic & ProofProof
Logic & Logic & ProofProof
TrustTrustTrustTrust
Semantic WebSemantic Web
XMLXMLXMLXML
XML SchemaXML SchemaXML SchemaXML Schema
RDFRDFRDFRDF
RDF SchemaRDF SchemaRDF SchemaRDF Schema
OntologyOntologyOntologyOntology
Logic & Logic & ProofProof
Logic & Logic & ProofProof
TrustTrustTrustTrust
26
XML used to define new languages that are used to interchange data on the web
XML used to define new languages that are used to interchange data on the web
Semantic WebSemantic Web
XMLXMLXMLXML
XML SchemaXML SchemaXML SchemaXML Schema
RDFRDFRDFRDF
RDF SchemaRDF SchemaRDF SchemaRDF Schema
OntologyOntologyOntologyOntology
Logic & Logic & ProofProof
Logic & Logic & ProofProof
TrustTrustTrustTrust
27
A schema defines a language and is used to make sure statements in the language are writtencorrectly
A schema defines a language and is used to make sure statements in the language are writtencorrectly
Semantic WebSemantic Web
XMLXMLXMLXML
XML SchemaXML SchemaXML SchemaXML Schema
RDFRDFRDFRDF
RDF SchemaRDF SchemaRDF SchemaRDF Schema
OntologyOntologyOntologyOntology
Logic & Logic & ProofProof
Logic & Logic & ProofProof
TrustTrustTrustTrust
28
A language that is capable of describing all sorts of information and meta-data
A language that is capable of describing all sorts of information and meta-data
RDF = resource description framework
RDF = resource description framework
Semantic WebSemantic Web
XMLXMLXMLXML
XML SchemaXML SchemaXML SchemaXML Schema
RDFRDFRDFRDF
RDF SchemaRDF SchemaRDF SchemaRDF Schema
OntologyOntologyOntologyOntology
Logic & Logic & ProofProof
Logic & Logic & ProofProof
TrustTrustTrustTrust
29
When designing specific RDF-based application languages defines specific elements of the special language
When designing specific RDF-based application languages defines specific elements of the special language
Semantic WebSemantic Web
XMLXMLXMLXML
XML SchemaXML SchemaXML SchemaXML Schema
RDFRDFRDFRDF
RDF SchemaRDF SchemaRDF SchemaRDF Schema
OntologyOntologyOntologyOntology
Logic & Logic & ProofProof
Logic & Logic & ProofProof
TrustTrustTrustTrust
30
An ontology defines the vocabulary and usage of words in the context of the specific vocabulary
An ontology defines the vocabulary and usage of words in the context of the specific vocabulary
Semantic WebSemantic Web
XMLXMLXMLXML
XML SchemaXML SchemaXML SchemaXML Schema
RDFRDFRDFRDF
RDF SchemaRDF SchemaRDF SchemaRDF Schema
OntologyOntologyOntologyOntology
Logic & Logic & ProofProof
Logic & Logic & ProofProof
TrustTrustTrustTrust
31
Logical reasoning is used to establish the consistency and correctness of datasets
Logical reasoning is used to establish the consistency and correctness of datasets
Logical reasoning is also necessary to infer conclusions which are not necessarily
Logical reasoning is also necessary to infer conclusions which are not necessarily
3232
XMLXMLXMLXML
XML SchemaXML SchemaXML SchemaXML Schema
RDFRDFRDFRDF
RDF SchemaRDF SchemaRDF SchemaRDF Schema
OntologyOntologyOntologyOntology
Logic & Logic & ProofProof
Logic & Logic & ProofProof
TrustTrustTrustTrust
32
Provide authentication of identity
Provide authentication of identity
Create evidence that data, service, and agents are trustworthy
Create evidence that data, service, and agents are trustworthy
3333
RDFRDF
W3C’s candidate language to provide a standard way to model, describe, and exchange information about resources
W3C’s candidate language to provide a standard way to model, describe, and exchange information about resources
33
3434
RDFRDF
Three capabilities
Describe most kinds of data that will be available
Describe the structural design of data sets
Describe relationships between bits of data
Three capabilities
Describe most kinds of data that will be available
Describe the structural design of data sets
Describe relationships between bits of data
34
3535
RDFRDF
Uses a simple data model
Three things
Resources
Statements
Simple sentences in SVO order
Uses a simple data model
Three things
Resources
Statements
Simple sentences in SVO order
35
3636
RDFRDF
Example
“Billy lives in Chicago.”
Billy = subject
Lives = verb
Chicago = object
Example
“Billy lives in Chicago.”
Billy = subject
Lives = verb
Chicago = object
36
3737
Statements in RDFStatements in RDF
Statement is sometimes called a triple (because it has three parts)
Subject is called the subject
Verb is called the predicate (alt. Property)
Object is called the object (alt. Value)
Statement is sometimes called a triple (because it has three parts)
Subject is called the subject
Verb is called the predicate (alt. Property)
Object is called the object (alt. Value)
37
3838
Statements in RDFStatements in RDF
38
(person-1, name, “William Sparks”)(person-1, name, “William Sparks”)
SubjectSubject PredicatePredicate ObjectObject
TripleTriple
3939
Statements in RDFStatements in RDF
A value in a statement can be -
A number
A string
Such a value is called a LITERAL
A value in a statement may also be another resource
A value in a statement can be -
A number
A string
Such a value is called a LITERAL
A value in a statement may also be another resource
39
4040
Identifying Resources in RDFIdentifying Resources in RDF
RDF needs a standard widely used way to identify resources
RDF uses the URI (Uniform Resource Identifier)
URIs can be used to identify a concept, tangible thing, chunk of data
RDF needs a standard widely used way to identify resources
RDF uses the URI (Uniform Resource Identifier)
URIs can be used to identify a concept, tangible thing, chunk of data
40
4141
Identifying Resources in RDFIdentifying Resources in RDF
Identifying things is complicated
May never be a general solution
Names are not unique (many Robert Smith in the U.S.)
Same name - not the same person
Identifying things is complicated
May never be a general solution
Names are not unique (many Robert Smith in the U.S.)
Same name - not the same person
41
4242
Identifying Resources in RDFIdentifying Resources in RDF
To identify a resource -
A URI is paired with or associated with a resource and not any other resource
How this is accomplished in NOT specifed
May not be a good way to identify a resource
To identify a resource -
A URI is paired with or associated with a resource and not any other resource
How this is accomplished in NOT specifed
May not be a good way to identify a resource
42
4343
Identifying Resources in RDFIdentifying Resources in RDF
Alternative -
Identify a resource as the same as some other resource
The other resource is well-known
Use the right predicate (from a trusted source)
Alternative -
Identify a resource as the same as some other resource
The other resource is well-known
Use the right predicate (from a trusted source)
43
4444
Identifying Resources in RDFIdentifying Resources in RDF
Alternative
Identify a resource by its properties and relationships with other resources
Alternative
Identify a resource by its properties and relationships with other resources
44
4545
Identifying Resources in RDFIdentifying Resources in RDF
Example using properties
2003 New York Yankees had one general manager
If it were known that a person had been the general manager of the Yankees during that time, the individual would be uniquely identified
Example using properties
2003 New York Yankees had one general manager
If it were known that a person had been the general manager of the Yankees during that time, the individual would be uniquely identified
45
4646
Identifying Resources in RDFIdentifying Resources in RDF
Suppose the pairing of a URI with a resource is described in a document
Question: How can this document be found?
RDF provides no standard method for answering this question
Suppose the pairing of a URI with a resource is described in a document
Question: How can this document be found?
RDF provides no standard method for answering this question
46
4747
Identifying Resources in RDFIdentifying Resources in RDF
To deal with the problem of locating the document, an informal approach is sometimes adopted
Use a URL to retrieve the document
One must remember that the document may not be the actual resource
To deal with the problem of locating the document, an informal approach is sometimes adopted
Use a URL to retrieve the document
One must remember that the document may not be the actual resource
47
4848
Identifying Resources in RDFIdentifying Resources in RDF
Example
The type of resource that is an RDF statement is identified by its URI:
http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement
Example
The type of resource that is an RDF statement is identified by its URI:
http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement
48
4949
Identifying Resources in RDF Identifying Resources in RDF
At this URI there is a document
The document contains the following RDF fragment among others
At this URI there is a document
The document contains the following RDF fragment among others
49
5050
Identifying Resources in RDFIdentifying Resources in RDF
50
<!--This is the RDF schema for the RDF data model as described inThe Resource Description Framework (RDF) Model and Syntax Specifications http://www.w3c.org/TR/REC-rdf-syntax -->
<s:Class rdf:ID=”Statement”S:comment=”A triple consisting of a predicate, a subject,And an object.” />
<s:Class rdf:ID=”Property”A:comment=”A name of a property, defining specific meaningFor the property” />
<!--This is the RDF schema for the RDF data model as described inThe Resource Description Framework (RDF) Model and Syntax Specifications http://www.w3c.org/TR/REC-rdf-syntax -->
<s:Class rdf:ID=”Statement”S:comment=”A triple consisting of a predicate, a subject,And an object.” />
<s:Class rdf:ID=”Property”A:comment=”A name of a property, defining specific meaningFor the property” />
5151
Identifying Resources in RDFIdentifying Resources in RDF
The URI is not required to point to a document
The fact that this fragment in fact does is useful
The URI is not required to point to a document
The fact that this fragment in fact does is useful
51
5252
Anonymous ResourcesAnonymous Resources
A resource without an identifying URI reference is called an anonymous resource
It would be analogous to English language expressions like,
That man, a women with a red car
Anonymous resources are also called blank-nodes
A resource without an identifying URI reference is called an anonymous resource
It would be analogous to English language expressions like,
That man, a women with a red car
Anonymous resources are also called blank-nodes
52
5353
RDF and Conventional DatabasesRDF and Conventional Databases
Triples may seem different from the model found in the conventional relational databases
The difference is not as great as it appearss
Triples may seem different from the model found in the conventional relational databases
The difference is not as great as it appearss
53
5454
RDF and Conventional DatabasesRDF and Conventional Databases
Each row of a conventional relational database has the same structure as any other
In relational database lingo, a collection of related data items is called a tuple
Each row of a conventional relational database has the same structure as any other
In relational database lingo, a collection of related data items is called a tuple
54
5555
RDF and Conventional DatabasesRDF and Conventional Databases
Consider the following table fragment from a sample databaseConsider the following table fragment from a sample database
55
NameName PhonePhone EmailEmail CityCity StateState
William Sparks 435 555-6789 [email protected]
Springfield MA
Constance Sim 312 555-2238 [email protected]
Chicago IL
5656
RDF and Conventional DatabasesRDF and Conventional Databases
In a well designed table, all the cells on a row will depend on a single value called “the primary key”
In a well designed table, all the cells on a row will depend on a single value called “the primary key”
56
NameName PhonePhone EmailEmail CityCity StateState
William Sparks 435 555-6789 [email protected]
Springfield MA
Constance Sim 312 555-2238 [email protected]
Chicago IL
5757
RDF and Conventional DatabasesRDF and Conventional Databases
An obvious candidate for this is the person’s name ... But ...An obvious candidate for this is the person’s name ... But ...
57
NameName PhonePhone EmailEmail CityCity StateState
William Sparks 435 555-6789 [email protected]
Springfield MA
Constance Sim 312 555-2238 [email protected]
Chicago IL
5858
RDF and Conventional DatabasesRDF and Conventional Databases
But ... Names can change and more than one person can have the same name so let’s give each tuple a unique identifier
But ... Names can change and more than one person can have the same name so let’s give each tuple a unique identifier
58
NameName PhonePhone EmailEmail CityCity StateState
William Sparks 435 555-6789 [email protected]
Springfield MA
Constance Sim 312 555-2238 [email protected]
Chicago IL
5959
RDF and Conventional DatabasesRDF and Conventional Databases
But ... Names can change and more than one person can have the same name so let’s give each tuple a unique identifier
But ... Names can change and more than one person can have the same name so let’s give each tuple a unique identifier
59
NameName PhonePhone EmailEmail CityCity StateState Person IDPerson ID
William Sparks
435 555-6789
dMA person-1
Constance Sim
312 555-2238
[email protected] Chicago IL person-2
6060
RDF and Conventional DatabasesRDF and Conventional Databases
How do we get the data in this table in the form of a triple?How do we get the data in this table in the form of a triple?
60
NameName PhonePhone EmailEmail CityCity StateState Person IDPerson ID
William Sparks
435 555-6789
dMA person-1
Constance Sim
312 555-2238
[email protected] Chicago IL person-2
6161
RDF and Conventional DatabasesRDF and Conventional Databases
How do we get the data in this table in the form of a triple? We can break this table into a bunch of smaller tables
How do we get the data in this table in the form of a triple? We can break this table into a bunch of smaller tables
61
NameName PhonePhone EmailEmail CityCity StateState Person IDPerson ID
William Sparks
435 555-6789
dMA person-1
Constance Sim
312 555-2238
[email protected] Chicago IL person-2
6262
RDF and Conventional DatabasesRDF and Conventional Databases
62
NameName PhonePhone EmailEmail CityCity StateState Person IDPerson ID
William Sparks
435 555-6789
dMA person-1
Constance Sim
312 555-2238
[email protected] Chicago IL person-2
Person IDPerson ID NameName
person-1 William Sparks
person-2 Constance Sim
Person IDPerson ID PhonePhone
person-1
person-2
435 555-6789435 555-6789
312 555-2238312 555-2238
6363
RDF and Conventional DatabasesRDF and Conventional Databases
An RDF triple can be written as -
(resource) - (type of fact) - (value of fact)
Any set of tables can be rewritten in the form of RDF-triples
The primary key should be converted to a URI reference
An RDF triple can be written as -
(resource) - (type of fact) - (value of fact)
Any set of tables can be rewritten in the form of RDF-triples
The primary key should be converted to a URI reference
63
6464
RDF and Conventional DatabasesRDF and Conventional Databases
RDF and relational tables seem to be equivalent
Databases have better performance but require regular data
RDF does not require regular data and can be added to by adding a new triple
RDF and relational tables seem to be equivalent
Databases have better performance but require regular data
RDF does not require regular data and can be added to by adding a new triple
64
6565
RDF and Conventional DatabasesRDF and Conventional Databases
Another interesting feature of RDF is tha it can be self describing
In other words, RDF can be used to describe the data that describes the data
This particular aspect of RDF cannot be matched by a conventional database
Another interesting feature of RDF is tha it can be self describing
In other words, RDF can be used to describe the data that describes the data
This particular aspect of RDF cannot be matched by a conventional database
65
6666
Properties as ResourcesProperties as Resources
An RDF statement associates a resource with a property value
The predicate (property type) denotes the type of association
The object represents the value assigned
An RDF statement associates a resource with a property value
The predicate (property type) denotes the type of association
The object represents the value assigned
66
6767
Properties as ResourcesProperties as Resources
Predicates in RDF are interesting
Predicates are resources
Predicates can be the subjects of statements
Predicates in RDF are interesting
Predicates are resources
Predicates can be the subjects of statements
67
6868
Properties as ResourcesProperties as Resources
An RDF predicate (or property) is also a kind of resource
It can be identified by a URI reference
A standard RDF property defined in the RDF model
An RDF predicate (or property) is also a kind of resource
It can be identified by a URI reference
A standard RDF property defined in the RDF model
68
6969
Properties as ResourcesProperties as Resources
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
69
7070
Properties as ResourcesProperties as Resources
A property identified by this URI reference is used to state the TYPE of the resource
The recommendation includes an example where the subject is a person
This subject will have a type property
A property identified by this URI reference is used to state the TYPE of the resource
The recommendation includes an example where the subject is a person
This subject will have a type property
70
7171
RDF GraphsRDF Graphs
We can represent the RDF notation visually using graphs
In graphs we use a node to represent a resource or literal value, an arrow represents a predicate
We can represent the RDF notation visually using graphs
In graphs we use a node to represent a resource or literal value, an arrow represents a predicate
71
redredredredshoeshoeshoeshoecolorcolor
7272
RDF GraphsRDF Graphs
In RDF we cannot speak about all shoes
We can only speak about particular resources
Statements can be made about the class of shoes
This is not the same as making a statement about a generic shoe
In RDF we cannot speak about all shoes
We can only speak about particular resources
Statements can be made about the class of shoes
This is not the same as making a statement about a generic shoe
72
7373
RDF GraphsRDF Graphs
Let’s give the shoe an identifier instead of a generic nameLet’s give the shoe an identifier instead of a generic name
73
redredredredShoeShoe-23-23
ShoeShoe-23-23
colorcolor
7474
RDF GraphsRDF Graphs
In RDF graphs circles or ovals represent resources and rectangles represent literal values
In RDF graphs circles or ovals represent resources and rectangles represent literal values
74
redredredredShoeShoe-23-23
ShoeShoe-23-23
colorcolor
7575
RDF GraphsRDF Graphs
Resources with Many Statements
We can have a graph that depicts several statements about the same resource
Resources with Many Statements
We can have a graph that depicts several statements about the same resource
75
Person-Person-11
Person-Person-11
435 555-6789435 555-6789435 555-6789435 555-6789
William William SparksSparksWilliam William SparksSparks
[email protected]@mailto.com
SpringfieldSpringfieldSpringfieldSpringfieldMAMAMAMA
phonephone
namename
emailemail
citycitystatestate
7676
RDF GraphsRDF Graphs
It goes without saying that city and state are somehow related and yet this information is not represented in the diagram
We can correct this situation with the addition of a special node - the anonymous node
It goes without saying that city and state are somehow related and yet this information is not represented in the diagram
We can correct this situation with the addition of a special node - the anonymous node
76
7777
RDF GraphsRDF Graphs
77
Person-Person-11
Person-Person-11
435 555-6789435 555-6789435 555-6789435 555-6789
William William SparksSparksWilliam William SparksSparks
[email protected]@[email protected]@mailto.com
SpringfieldSpringfieldSpringfieldSpringfieldMAMAMAMA
phonephone
namename
emailemail
citycitystatestate
7878
RDF GraphsRDF Graphs
person-1 has an address that is something whose type is address, whose city is Springfield, and whose state is MA
This something is known by its properties
It is not known by its intrinsic identity
person-1 has an address that is something whose type is address, whose city is Springfield, and whose state is MA
This something is known by its properties
It is not known by its intrinsic identity
78
7979
RDF GraphsRDF Graphs
79
Person-Person-11
Person-Person-11
435 555-6789435 555-6789435 555-6789435 555-6789
William William SparksSparksWilliam William SparksSparks
[email protected]@[email protected]@mailto.com
SpringfieldSpringfieldSpringfieldSpringfieldMAMAMAMA
phonephone
namename
emailemail
citycitystatestate
addressaddressaddressaddress
typetype
8080
RDF GraphsRDF Graphs
Describing Collections
RDF provides three types of mechanisms to describe collections
(1) Bag
(2) Alternative
(3) Sequence
Describing Collections
RDF provides three types of mechanisms to describe collections
(1) Bag
(2) Alternative
(3) Sequence80
8181
RDF GraphsRDF Graphs
Bag
Contains any number of resources without any order
Duplicates are allowed
Bag
Contains any number of resources without any order
Duplicates are allowed
81
8282
RDF GraphsRDF Graphs
Alternative
Specifies that any one of the members can be selected
For example -
A light switch can be on or off
Alternative
Specifies that any one of the members can be selected
For example -
A light switch can be on or off
82
8383
RDF GraphsRDF Graphs
Sequence
Contains an ordered collection of resources
Sequence
Contains an ordered collection of resources
83
8484
RDF GraphsRDF Graphs
The arcs from a collection node to its members are given special labels
rdf:1
rdf:2
And so on ...
The arcs from a collection node to its members are given special labels
rdf:1
rdf:2
And so on ...
84
8585
RDF GraphsRDF Graphs
Container ExampleContainer Example
85
Light Light SwitchSwitchLight Light
SwitchSwitchAlternatAlternativeiveAlternatAlternativeive
rdf:_1rdf:_1
rdf:_2rdf:_2
statestate
8686
rdf:Statementrdf:Statement
A special resource
Can be used to say things about triples
In the RDF model, a triple is NOT a resource
Therefore, it can’t be the subject of another statement
A special resource
Can be used to say things about triples
In the RDF model, a triple is NOT a resource
Therefore, it can’t be the subject of another statement
86
8787
RDF GraphsRDF Graphs
87
person-person-11
person-person-11
RDF:StatemRDF:Statementent
RDF:StatemRDF:Statementent
typetype
namenamenamename
predicatepredicate
William SparksWilliam SparksWilliam SparksWilliam Sparks
subjectsubject
objectobject
8888
RDF GraphsRDF Graphs
This graph is saying, “There is something whose type is RDF:Statement ...”
This graph is saying, “There is something whose type is RDF:Statement ...”
88
person-person-11
person-person-11
RDF:StatemRDF:Statementent
RDF:StatemRDF:Statementent
typetype
namenamenamename
predicatepredicate
William SparksWilliam SparksWilliam SparksWilliam Sparks
subjectsubject
objectobject
8989
RDF GraphsRDF Graphs
“person-1 is the subject ...”“person-1 is the subject ...”
89
person-person-11
person-person-11
RDF:StatemRDF:Statementent
RDF:StatemRDF:Statementent
typetype
namenamenamename
predicatepredicate
William SparksWilliam SparksWilliam SparksWilliam Sparks
subjectsubject
objectobject
9090
RDF GraphsRDF Graphs
“name as a predicate ...”“name as a predicate ...”
90
person-person-11
person-person-11
RDF:StatemRDF:Statementent
RDF:StatemRDF:Statementent
typetype
namenamenamename
predicatepredicate
William SparksWilliam SparksWilliam SparksWilliam Sparks
subjectsubject
objectobject
9191
RDF GraphsRDF Graphs
“and William Sparks as an object”“and William Sparks as an object”
91
person-person-11
person-person-11
RDF:StatemRDF:Statementent
RDF:StatemRDF:Statementent
typetype
namenamenamename
predicatepredicate
William SparksWilliam SparksWilliam SparksWilliam Sparks
subjectsubject
objectobject
9292
RDF GraphsRDF Graphs
Once we create this node we can use it as the subject of other sentencces
Once we create this node we can use it as the subject of other sentencces
92
person-person-11
person-person-11
RDF:StatemRDF:Statementent
RDF:StatemRDF:Statementent
typetype
namenamenamename
predicatepredicate
William SparksWilliam SparksWilliam SparksWilliam Sparks
subjectsubject
objectobject
9393
RDF GraphsRDF Graphs
We call this process reifying
To reify is to make a thing out of something
We call this process reifying
To reify is to make a thing out of something
93
9494
Meshing Data and Meta DataMeshing Data and Meta Data
Supposing you had a data model as shown belowSupposing you had a data model as shown below
94
referencereferencereferencereference
publicationpublicationpublicationpublication
organizationorganizationorganizationorganization
personpersonpersonperson
occurs inoccurs in
publishedpublished
is written byis written by
one or moreone or more
0..n0..n
0..n0..n
0..n0..n 1..n1..n