session 49 - semantic metadata management practical

52
Semantic Sticky Note: RDF Metadata Access and Querying Using GT4 Java WS Session 49. July 15 th , 2009 Oscar Corcho, Carlos Buil (Universidad Politécnica de Madrid) Work distributed under the license Creative Commons Attribution-Noncommercial-Share Alike 3.0

Upload: issgc-summer-school

Post on 11-May-2015

753 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Session 49 - Semantic metadata management practical

Semantic Sticky Note:RDF Metadata Access and Querying Using

GT4 Java WS

Session 49. July 15th, 2009

Oscar Corcho, Carlos Buil(Universidad Politécnica de Madrid)

Work distributed under the license Creative Commons Attribution-Noncommercial-Share Alike 3.0

Page 2: Session 49 - Semantic metadata management practical

Tutorial Roadmap• Objectives• Hands-on: Build a Semantically-Aware Grid Service

– Structure and materials– Exercises

• 1. Setup the Globus Container• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a Sticky

Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary• Conclusions

Page 3: Session 49 - Semantic metadata management practical

General descriptions

about events

Metadata about Sticky Notes

Page 4: Session 49 - Semantic metadata management practical

Context & Technologies

Lifetime

MetadataService

Service

MetadataSeekingClient

Properties

Others…

Create/Query

Semantic Bindings of this Resource

1Semantics

1.1

Forward request via Operation Provider

2

“Oscar Corcho is organizing an event in ..

….. ”

RDFQuery/Retrieve Semantic Bindings Of all Resources

Resource

GT4 WSRF Sticky Note resources to be described and shared

Ontology Inference

Enabling technologies

RDFS

Minimally-intrusive augmentation

Page 5: Session 49 - Semantic metadata management practical

Roadmap• Objectives

• Structure and materials• Hands-on: Build a Semantically-Aware Grid Service

– Exercises• 1. Setup the Globus Container• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a Sticky

Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary• Conclusions

Page 6: Session 49 - Semantic metadata management practical

Structure• Each chapter includes:

– A discussion of the concepts– A discussion of implementation details– Hands-on exercises– A summary

Page 7: Session 49 - Semantic metadata management practical

Tutorial Material• In a browser window, please go to &

bookmark:– http://www.dia.fi.upm.es/~ocorcho/ISSGC2009/

SemanticGridPractical/

• We will be connecting to– ssh issgc-client-01.polytech.unice.fr

Page 8: Session 49 - Semantic metadata management practical

Roadmap• Objectives• Structure and materials• Hands-on: Build a Semantically-Aware Grid Service

– Exercises• 1. Setup the Globus Container and Sticky Note Service• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a Sticky

Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary• Conclusions

Page 9: Session 49 - Semantic metadata management practical

Ex1. Deploy the Globus Container

• In this exercise, – we will download:

• The Globus Container• The source code for the Semantic Grid tutorial

– Includes Basic Sticky Note source

– ... and we will setup (set environment and run):

• The Globus Container• The Semantic Binding Service Suite• An operation provider for sticky notes• The StickyNote Service

Page 10: Session 49 - Semantic metadata management practical

SB Factory

Client

Semantic Binding

Metadata Query

SBSB

SB

create

Query w/o Inference, UpdateContent

Query( over unified view)

WS-RP: Get/Set/Query Properties

WS-Addressing: epr

RDFRDF

create

query

Inspect-props . . .

query

Semantic Binding Service Suite

WS-RL: Destroy , SetTerminationTime

WS-RL ++: archive

WS-Notif: Subscribe / Notify

Ex1. Deploy Semantic Services & Operation Provider

Into the Globus Container we will deploy

Page 11: Session 49 - Semantic metadata management practical

Ex1. Deploy Semantic Services & Operation Provider

• The Semantic Services suite:– The SB Factory Service,

• creating contextualized RDF graphs (i.e. Semantic Bindings)

– The SB Service, • WS-Resource representatives of Semantic Bindings

– The Metadata Query Service,• Global view over multiple Semantic Bindings

exercise-install/SemanticBindingService/src/

Page 12: Session 49 - Semantic metadata management practical

Ex1. Deploy Semantic Services & Operation Provider

• Semantics Operation Provider, a proxy to the Semantic Binding Service. Could be augmented with any WSRF service and make it semantically aware.

exercise-install/SemanticsOperationProvider/src/

• Sticky Note, a WSRF service that allows creating and maintaining resources called sticky notes.

exercise-install/stickynote/src/

Page 13: Session 49 - Semantic metadata management practical

Hands-on Exercises

Student Notes, Chapters 1 and 2

Page 14: Session 49 - Semantic metadata management practical

Ex1 Review

• This is the setup obtained after setting up all the components in this exercise

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

Resource Home

ResourceProperties

Resources

WSRF Ops. & Reosurce Specific

OpsEnd Point

References

WSRF OperationProviders

createEPR

Page 15: Session 49 - Semantic metadata management practical

Ex1 Base Sticky Note Capabilities1. Run container.2. Create a Sticky Note

$GLOBUS_LOCATION/bin/create-note –s http://local....

3. Write a message to a Sticky Note$GLOBUS_LOCATION/bin/write-note –e note-123.epr

HelloWorld

4. Read the message of a Sticky Note$GLOBUS_LOCATION/bin/show-note –e note-123.epr

5. Destroy a Sticky Note$GLOBUS_LOCATION/bin/wsrf-destroy –e note123.epr Repeat show-note after this step….

Page 16: Session 49 - Semantic metadata management practical

Ex1 Review

• This is the setup obtained after completing this exercise

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

Newly deployed services

Newly deployed Semantics operation

provider

Page 17: Session 49 - Semantic metadata management practical

Roadmap• Objectives• Structure and materials• Hands-on: Build a Semantically-Aware Grid Service

– Exercises• 1. Setup the Globus Container and Sticky Note Service• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a Sticky

Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary• Conclusions

Page 18: Session 49 - Semantic metadata management practical

• RDF is the W3C recommended standard for metadata representation.

• RDF is also the base representation for more expressive SW languages.

• Semantic Bindings could represent metadata in RDF format in addition to other formats.

• In this exercise we will add RDF based descriptions to the content of StickyNotes.

Ex3. Attach Semantic Bindings to a Sticky Noteevent1

event2

event3 event4

local_event

event

Personal_event

researcherprofessor

MalcolmAtkinson OscarCorchoCarlosBuil

event5

rdf:type

rdf:type

rdf:type

rdf:type rdf:type

rdf:type

rdf:type rdf:type

involves involves

involves

involves

13/07/2008

13/07/2008

16/07/2008

“Oscar Corcho is organizing an event in..

….. ”

lecturer

Page 19: Session 49 - Semantic metadata management practical

Ex3. System Operation

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

Create-note

describe-note

EPR

key

createSemanticBinding write

create

Page 20: Session 49 - Semantic metadata management practical

Ex3. Adding a new operation

• This was the setup after completing exercise 2

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

Create-note

Page 21: Session 49 - Semantic metadata management practical

Ex3. Adding a new operation• Add writeSemanticBinding operation to the

Sticky Note service. (WSDL file)– Input: Semantic Binding content as RDF

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

Create-note

Page 22: Session 49 - Semantic metadata management practical

Ex3. Adding a new operation• Provide implementation for the new

operation via the Semantics Operation Provider. (wsdd file)

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

Create-note

Page 23: Session 49 - Semantic metadata management practical

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

Create-note

Ex3. Adding a new operation

Jndi-config

• Add JNDI configuration parameters to StickyNote to specify location of Semantic Services. (jndi xml file, caution to port numbers!!)

Page 24: Session 49 - Semantic metadata management practical

• Extend the client to invoke the newly added operation. (DescribeNote source code and post-deploy file)

Ex3. Client for Attaching an SB

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

create-note

Jndi-config

describe-note

event1

event2

event3 event4

local_event

event

Personal_event

researcherprofessor

MalcolmAtkinson OscarCorchoCarlosBuil

event5

rdf:type

rdf:type

rdf:type

rdf:type rdf:type

rdf:type

rdf:type rdf:type

involves involves

involves

involves

13/07/2008

13/07/2008

16/07/2008

lecturer

Page 25: Session 49 - Semantic metadata management practical

Hands-on Exercises

Student Notes, Chapter 3

Page 26: Session 49 - Semantic metadata management practical

Ex3 Review

• This is the setup obtained after completing this exercise– Now we have a SB resource that contains

• The RDF content machine processable representation of the note content

• The SB resource is contextualized with a pointer to the Sticky Note it describes (in its resource properties )

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

EPR

keycreate

Page 27: Session 49 - Semantic metadata management practical

Roadmap• Objectives• Structure and materials• Hands-on: Build a Semantically-Aware Grid Service

– Exercises• 1. Setup the Globus Container and Sticky Note Service• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a Sticky

Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary• Conclusions

Page 28: Session 49 - Semantic metadata management practical

Ex4. Query SBs of a Sticky Note

• RDF Metadata can be queried through a variety of languages. – Sparql, Serql, RDQL, RQL...

– Languages allow desired graph patterns to be expressed.

– Execution results are variable bindings for nodes in the specified pattern

• In this exercise we’ll do querying of RDF based metadata

Page 29: Session 49 - Semantic metadata management practical

• Query the Semantic Binding of the Sticky Note using the query-note operation

Ex4. Querying a Semantic Binding

• Create a Sticky Note and attach a Semantic Binding to it

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

EPR

key

...

query-note

SeRQL

Query 1: SELECT N FROM {N} rdf:type {sti:Event} USING NAMESPACE sti=<http://www.ontogrid.net/StickyNote#>

Query 2: SELECT N FROM {N} rdf:type {sti:Event}; sti:involves {sti:OscarCorcho} USING NAMESPACE sti=<http://www.ontogrid.net/StickyNote#>

Query 3: SELECT N FROM {N} rdf:type {sti:Event}; sti:involves {M} rdf:type {sti:Professor} USING NAMESPACE sti=<http://www.ontogrid.net/StickyNote#>

miniQuery

Page 30: Session 49 - Semantic metadata management practical

Ex4. Query SBs of a Sticky Note

• In this exercise we will add a querySemanticBinding operation to the Sticky Note Service (wsdl file)– Input: SeRQL query to be executed over the

Semantic Binding attached to a Sticky note.– Output: an XML-formatted resultset

• We will extend the client to invoke the newly added operation. (QueryNote source code and post-deploy file)

Page 31: Session 49 - Semantic metadata management practical

Hands-on Exercises

Student Notes, Chapter 4

Page 32: Session 49 - Semantic metadata management practical

Ex4 Review• We executed queries over SBS• As is querying

? eventrdf:type

Query #1 RDF content

• Relationships between terms missing

• Represent our model of the world in a simple ontology

• Exploit relations during querying

?

?

? ?

Page 33: Session 49 - Semantic metadata management practical

Roadmap• Objectives• Structure and materials• Hands-on: Build a Semantically-Aware Grid Service

– Exercises• 1. Setup the Globus Container and Sticky Note Service• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a

Sticky Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary• Conclusions

Page 34: Session 49 - Semantic metadata management practical

Ex5. Query SBs with Inferences

• RDF Schema is a simple ontology language.

• RDFS could be used to develop models of different application domains. Model:– Terms (i.e. Vocabulary to be used in an RDF

description).– Relationships between terms.

• In this exercise we’ll do queries by also exploiting the information captured in an ontology

local_event

event

Personal_event

researcher

professor

thing

person

subClassOf

subClassOf

subClassOf

subClassOf

subClassOf

subClassOf

involves

lecturersubClassOf

educational_eventsubClassOf

Page 35: Session 49 - Semantic metadata management practical

Ex5. Query SBs with Inferences

• In this exercise:– Setup a second Globus Container

• With a WS-DAIOnt ontology service• Containing an RDFS ontology

Page 36: Session 49 - Semantic metadata management practical

Ex5. Query SBs with Inferences

• We will add a querySemanticBindingInference operation to the Sticky Note Service (wsdl file)– Inputs:

• SeRQL query to be executed over the Semantic Binding attached to a Sticky note.

• The RDFS based knowledge model to be taken into acount during querying

– Output: • an XML-formatted resultset of variable bindings

• We will extend the client to invoke the newly added operation. (QueryNoteInference source code and post-deploy file)

Page 37: Session 49 - Semantic metadata management practical

GT4 Java W

S C

ore

WS

-DA

ION

T

RDFS

Ex5. Querying SBs with inferences

• Query the Semantic Binding of the Sticky Note using the query-note-inference operation• Contacts WS-DAIONT to obtain the RDFS ontology

• Create a Sticky Note and attach a Semantic Binding to it

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryServiceSemanticBindingService MetadataQueryServi

ce

EPR

key

...

query-note-inference

SeRQL

miniInferenceQuery

...

RDFS

RDF Semantics says:(http://www.w3.org/TR/rdf-mt/)

local_event

event

Personal_eventsubClassOf

subClassOf

event2

rdf:typerdf:type

Obtain ontology

Query 1: SELECT N FROM {N} rdf:type {sti:Event} USING NAMESPACE sti=<http://www.ontogrid.net/StickyNote#>

Query 2: SELECT N FROM {N} rdf:type {sti:Event}; sti:involves {sti:OscarCorcho} USING NAMESPACE sti=<http://www.ontogrid.net/StickyNote#>

Query 3: SELECT N FROM {N} rdf:type {sti:Event}; sti:involves {M} rdf:type

{sti:Professor} USING NAMESPACE sti=<http://www.ontogrid.net/StickyNote#>

Page 38: Session 49 - Semantic metadata management practical

Hands-on Exercises

Student Notes, Chapter 5

Page 39: Session 49 - Semantic metadata management practical

Ex5 Review

• We executed queries over the Semantic Binding attached to a Sticky Note via the StickyNote.

• The query execution took into account not only the asserted but also the inferred statements.

• So far, we’ve interrogated one single sticky note

• How about queries across the semantic bindings of several sticky notes?

Page 40: Session 49 - Semantic metadata management practical

• Objectives• Structure and materials• Hands-on: Build a Semantically-Aware Grid Service

– Exercises• 1. Setup the Globus Container and Sticky Note Service• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a Sticky

Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary• Conclusions

Page 41: Session 49 - Semantic metadata management practical

Ex6. Query over a Set of SBs

• In this exercise we will use the query operation available in the metadata service– Input: a SeRQL query to be executed over a

the set of Semantic Bindings.– Output: an XML-formatted resultset of

variable bindings

• Extend the client to invoke the query operation of the Metadata Service. (QueryAllNotes source code and post-deploy file)

Page 42: Session 49 - Semantic metadata management practical

• Create a Sticky Note and attach metadata to it.

Ex6. Query over a Set of SBs

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key

Client

SemanticBinding

FactoryService SemanticBindingServiceMetadataQueryServi

ce

Create-note

describe-note

EPR

key

createSemanticBinding write

create key

• Create a second Sticky Note and attach metadata to it.

• Call the query the operation of the Metadata Service to search over all created semantic bindings.

Query 1: SELECT N FROM {N} rdf:type {sti:Event} USING NAMESPACE

sti=<http://www.ontogrid.net/StickyNote#>

. . . .

. . . .

query

SeRQL

Page 43: Session 49 - Semantic metadata management practical

Hands-on Exercises

Student Notes, Chapter 6

Page 44: Session 49 - Semantic metadata management practical

Ex6 Review

• We executed queries over a set of SBs attached to a set of Sticky Notes

• We used the Metada Service to perform this operation– Provides a global view of RDF content of

all SB WS-Resources hosted by an SB service

Page 45: Session 49 - Semantic metadata management practical

Roadmap• Objectives• Structure and materials• Hands-on: Build a Semantically-Aware Grid Service

– Exercises• 1. Setup the Globus Container and Sticky Note Service• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a Sticky

Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary• Conclusions

Page 46: Session 49 - Semantic metadata management practical

Ex7. Use a Remote SB Service

• In this exercise we will repeat the previous exercise using a common Semantic Binding Factory Service, Semantic Binding Service and Metadata Query Service

• Every student will create its own sticky notes and will attach Semantic Bindings to them– The content of the Semantic Bindings will be different types of events

where a student specifies that he/she wants to meet other students on a specific date.

– Every student can be identified by the following URI:http://www.ontogrid.net/StickyNote#NameSurname

– Make queries to see whom you have to meet in the following days, and which types of events you have to attend to

• How do we do it?– Change the configuration settings at the JNDI configuration

parameters to specify where the Semantic Services are available• <<URLs of the Semantic Services>>

Page 47: Session 49 - Semantic metadata management practical

Student N

Ex7. Use a Remote SB Service

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key........

eu.ist..

SemanticBindingFactoryService SemanticBindingService MetadataQueryService

EPR

key............................

............................................

key............................

............................................

..............

..........................................................

..............

..........................................................

GT4 Java WS Core

GT4 Java WS Core

StickyNoteService

EPR

RP RP ...

key

RP RP ...

key

RP RP ...

key........

eu.ist..

...

Student 1

Server

Page 48: Session 49 - Semantic metadata management practical

Hands-on Exercises

Student Notes, Chapter 7

Page 49: Session 49 - Semantic metadata management practical

Roadmap• Objectives• Structure and materials• Hands-on: Build a Semantically-Aware Grid Service

– Exercises• 1. Setup the Globus Container and Sticky Note Service• 2. Deploy Semantic Services and Operation Providers• 3. Attach Semantic Bindings to a Sticky Note• 4. Query Semantic Bindings of a Sticky Note• 5. Make Inferences on the Semantic Bindings of a Sticky

Note• 6. Query over a Set of Semantic Bindings (advanced)• 7. Use a Remote Semantic Binding Service (advanced)

– Summary

• Conclusions

Page 50: Session 49 - Semantic metadata management practical

Summary• Storing and querying Semantic Bindings

– SBs are first class citizens – SBs can be managed as any other Grid resource.

• Minimally-intrusive extension mechanisms for augmenting existing service with metadata capabilities– Metadata Operation Provider.

• Knowledge Models and inference rules allow for inferring new information– If RDFS model is not used for querying, then the

results are the same as what it could be obtained using a traditional database.

Page 51: Session 49 - Semantic metadata management practical

Further Reading• Semantic-OGSA

– An overview of S-OGSA: a Reference Semantic Grid Architecture. Oscar Corcho et. al. Journal of Web Semantics 4(2):102-115. June 2006

• WS-DAIOnt-RDF(S)– Accessing RDF(S) data resources in service-based Grid

infrastructures. Miguel Esteban Gutiérrez, Isao Kojima, Said Mirza Pahlevi, Óscar Corcho, Asunción Gómez-Pérez. Concurrency and Computation: Practice and Experience 21(8): 1029-1051 (2009)

• Websiteshttp://www.semanticgrid.org/http://www.ontogrid.eu/

Page 52: Session 49 - Semantic metadata management practical

Credits• The SG tutorial is based on the BAS GT4 Sticky Note Tutorial,

developed by Rachana Ananthakrishnan, Charles Bacon, Lisa Childers, Ben Clifford, Jarek Gawor and Joe Insley (Globus Alliance)

• The tutorial was created by Pinar Alper

• We also thank people who tested the SG tutorial and helped improve it a lot.

– Ted Wen– Borja Sotomayor– Paolo Missier– Rafael González-Cabero – Miguel Esteban Gutiérrez – David Buján Carballal– Cristina Vicente Torres– Carlos Buil Aranda

• Work funded by the EC, OntoGrid and RSSGRID projects