The Semantic Web

94
The Semantic Web A Brief Introduction Dr. Randy M. Kaplan

description

The Semantic Web. A Brief Introduction Dr. Randy M. Kaplan. A Quote. - PowerPoint PPT Presentation

Transcript of The Semantic Web

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

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