1 Tutorial on the Semantic Web (Last update: 26 May 2009) adapted from (C) Ivan Herman, W3C Given at WE course by Peter Dolog Adapted: October 2010.

Slides:



Advertisements
Similar presentations
Last update: (2) (3) The Dutch airline.
Advertisements

Deutsche Gesellschaft für Informationswissenschaft und Informationspraxis e.V. 1. DGI-Konferenz, 62. DGI Jahrestagung Semantic Web & Linked Data Elemente.
Introduction to Semantic Web and RDF RDF, Linked Data workshop at DANS The Hague, 28 th July, 2010, Ivan Herman, W3C.
1 ARIN – KR Practical 1, Part 2 RDF Some of these slides are based on tutorial by Ivan Herman (W3C) reproduced here with kind permission. All changes and.
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Semantic Web Motivating Example. A Motivating example Here’s a motivating example, adapted from a presentation by Ivan Herman It introduces semantic web.
Gleaning Resource Descriptions from Dialects of Languages (GRDDL) W3C Team Submission 16 May 2005 Dominique Hazaël-Massieux, Dan Connolly Summarized by.
RDF Tutorial.
RDF and RDB 1 Some slides adapted from a presentation by Ivan Herman at the Semantic Technology & Business Conference, 2012.
Dr. Alexandra I. Cristea RDF.
COMP 6703 eScience Project Semantic Web for Museums Student : Lei Junran Client/Technical Supervisor : Tom Worthington Academic Supervisor : Peter Strazdins.
RDF: Data Description With HTML, the Web is for reading With XML, the Web is for processing Necessary to know  who wrote this?  who owns it?  who authorised.
RDF: Building Block for the Semantic Web Jim Ellenberger UCCS CS5260 Spring 2011.
Ivan Herman, W3C, “Semantic Café”, organized by the W3C Brazil Office São Paulo, Brazil,
Module 2b: Modeling Information Objects and Relationships IMT530: Organization of Information Resources Winter, 2007 Michael Crandall.
Metadata Standards and Applications 4. Metadata Syntaxes and Containers.
RDF: Concepts and Abstract Syntax W3C Recommendation 10 February Michael Felderer Digital Enterprise.
IS432: Semi-Structured Data Dr. Azeddine Chikh. 1. Semi Structured Data Object Exchange Model.
RDF (Resource Description Framework) Why?. XML XML is a metalanguage that allows users to define markup XML separates content and structure from formatting.
PREMIS Tools and Services Rebecca Guenther Network Development & MARC Standards Office, Library of Congress NDIIPP Partners Meeting July 21,
Practical RDF Chapter 1. RDF: An Introduction
Michalis Vafopoulos NTUA, GFOSS & The transformers GREEN CITY HACKATHON.
OracleAS Reports Services. Problem Statement To simplify the process of managing, creating and execution of Oracle Reports.
Logics for Data and Knowledge Representation
By: Dan Johnson & Jena Block. RDF definition What is Semantic web? Search Engine Example What is RDF? Triples Vocabularies RDF/XML Why RDF?
Master Informatique 1 Semantic Technologies Part 11Direct Mapping Werner Nutt.
Metadata. Generally speaking, metadata are data and information that describe and model data and information For example, a database schema is the metadata.
Of 41 lecture 4: rdf – basics and language. of 41 RDF basic ideas the fundamental concepts of RDF  resources  properties  statements ece 720, winter.
Semantic Web - an introduction By Daniel Wu (danielwujr)
©Ferenc Vajda 1 Semantic Grid Ferenc Vajda Computer and Automation Research Institute Hungarian Academy of Sciences.
STASIS Technical Innovations - Simplifying e-Business Collaboration by providing a Semantic Mapping Platform - Dr. Sven Abels - TIE -
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
Semantically Processing The Semantic Web Presented by: Kunal Patel Dr. Gopal Gupta UNIVERSITY OF TEXAS AT DALLAS.
Introduction to the Semantic Web and Linked Data Module 1 - Unit 2 The Semantic Web and Linked Data Concepts 1-1 Library of Congress BIBFRAME Pilot Training.
Understanding RDF. 2/30 What is RDF? Resource Description Framework is an XML-based language to describe resources. A common understanding of a resource.
ESIP Semantic Web Products and Services ‘triples’ “tutorial” aka sausage making ESIP SW Cluster, Jan ed.
Metadata : an overview XML and Educational Metadata, SBU, London, 10 July 2001 Pete Johnston UKOLN, University of Bath Bath, BA2 7AY UKOLN is supported.
1 Tutorial on the Semantic Web cntd. (Last update: 26 May 2009) adapted from (C) Ivan Herman, W3C Given at WE course by Peter Dolog Adapted: October.
THE BIBFRAME EDITOR AND THE LC PILOT Module 3 – Unit 1 The Semantic Web and Linked Data : a Recap of the Key Concepts Library of Congress BIBFRAME Pilot.
THE SEMANTIC WEB By Conrad Williams. Contents  What is the Semantic Web?  Technologies  XML  RDF  OWL  Implementations  Social Networking  Scholarly.
Semantic Web Presented by Xia Li. 2 Outline Introduction Examples Semantic Web technologies Applications Concerns.
1 RDF, XML & interoperability Metadata : a reprise Communities, communication & XML An introduction to RDF RDF, XML and interoperability.
Semantic Data Extraction for B2B Integration Syntactic-to-Semantic Middleware Bruno Silva 1, Jorge Cardoso 2 1 2
Chapter 5 The Semantic Web 1. The Semantic Web  Initiated by Tim Berners-Lee, the inventor of the World Wide Web.  A common framework that allows data.
XML Extensible Markup Language
What is the Semantic Web? 17 th XBRL International Conference Eindhoven, the Netherlands 5 st May, 2008 Ivan Herman, W3C.
Master Informatique 1 Semantic Web Technologies Part 0Course Organization Semantic Web Technologies Werner Nutt.
Setting the stage: linked data concepts Moving-Away-From-MARC-a-thon.
Linked Data & Semantic Web Technology The Semantic Web Part 4. Resource Description Framework (1) Dr. Myungjin Lee.
1 Introduction to the Semantic Web (tutorial) 3rd Chinese Semantic Web Symposium Nanjing, China August 29, 2009 Ivan Herman, W3C
Introduction to the Semantic Web (through an Example…) Ivan Herman, W3C (Last updated: 11 November 2009)
Introduction to the Semantic Web Ivan Herman, W3C ESA, Noordwijk, the Netherlands 16 th April, 2007 Ivan Herman.
1 Introduction to the Semantic Web (tutorial) 2009 Semantic Technology Conference San Jose, California, USA June 15, 2009 Ivan Herman, W3C
What is the Semantic Web? (In 15 minutes…) ISOC Nieuwjaarsreceptie , Amsterdam, The Netherlands Ivan Herman, W3C.
1 Introduction to the Semantic Web (tutorial) Netherlands Bioinformation Centre, PhD School Course Amsterdam, the Netherlands May 26, 2009 Ivan Herman,
Overview of the Semantic Web Ralph R. Swick World Wide Web Consortium (W3C) 17 October 2009.
Tutorial on Semantic Web
Tutorial on Semantic Web
RDFa How and Why Ralph R. Swick World Wide Web Consortium
RDF and RDB 1 Some slides adapted from a presentation by Ivan Herman at the Semantic Technology & Business Conference, 2012.
Materi Minggu ke 11 Introduction to the Semantic Web
Introduction to the Semantic Web (tutorial) 2009 Semantic Technology Conference San Jose, California, USA June 15, 2009 Ivan Herman, W3C
Tutorial on Semantic Web
How does the Semantic Web Work?
Overview of the Semantic Web Ralph R
Grid Computing 7700 Fall 2005 Lecture 18: Semantic Grid
RDF For Semantic Web Dhaval Patel 2nd Year Student School of IT
Grid Computing 7700 Fall 2005 Lecture 18: Semantic Grid
JSON for Linked Data: a standard for serializing RDF using JSON
Resource Description Framework (RDF)
Presentation transcript:

1 Tutorial on the Semantic Web (Last update: 26 May 2009) adapted from (C) Ivan Herman, W3C Given at WE course by Peter Dolog Adapted: October 2010

2 Outline Motivation RDF basis Processing RDF

3 I need a book of an author of whom I met at ICWE 2010 and I know he is referenced at Wikipedia

4 In short: we need a Web of Data!

5 The rough structure of data integration 1.Map the various data onto an abstract data representation  make the data independent of its internal representation… 2.Merge the resulting representations 3.Start making queries on the whole!  queries not possible on the individual data sets

6 A simplified bookstore data (dataset “A”)

7 1 st : export your data as a set of relations

8 Some notes on the exporting the data  Relations form a graph  the nodes refer to the “real” data or contain some literal  how the graph is represented in machine is immaterial for now  Data export does not necessarily mean physical conversion of the data  relations can be generated on-the-fly at query time  via SQL “bridges”  scraping HTML pages  extracting data from Excel sheets  etc.  One can export part of the data

9 Another bookstore data (dataset “F”)

10 2 nd : export your second set of data

11 3 rd : start merging your data

12 3 rd : start merging your data (cont.)

13 3 rd : merge identical resources

14 Start making queries…  User of data “F” can now ask queries like:  “give me the title of the original”  well, … « donnes-moi le titre de l’original »  This information is not in the dataset “F”…  …but can be retrieved by merging with dataset “A”!

15 However, more can be achieved…  We “feel” that a:author and f:auteur should be the same  But an automatic merge doest not know that!  Let us add some extra information to the merged data:  a:author same as f:auteur  both identify a “Person”  a term that a community may have already defined:  a “Person” is uniquely identified by his/her name and, say, homepage  it can be used as a “category” for certain type of resources

16 3 rd revisited: use the extra knowledge

17 Start making richer queries!  User of dataset “F” can now query:  “donnes-moi la page d’accueil de l’auteur de l’originale”  well… “give me the home page of the original’s ‘auteur’”  The information is not in datasets “F” or “A”…  …but was made available by:  merging datasets “A” and datasets “F”  adding three simple extra statements as an extra “glue”

18 Combine with different datasets  Using, e.g., the “Person”, the dataset can be combined with other sources  For example, data in Wikipedia can be extracted using dedicated tools  e.g., the “dbpedia” project can extract the “infobox” information from Wikipedia already…dbpedia

19 Merge with Wikipedia data

20 Merge with Wikipedia data

21 Merge with Wikipedia data

22 Is that surprising?  It may look like it but, in fact, it should not be…  What happened via automatic means is done every day by Web users!  The difference: a bit of extra rigour so that machines could do this, too

23 What was done

24 What did we do?  We combined different datasets that  are somewhere on the web  are of different formats (mysql, excel sheet, XHTML, etc)  have different names for relations  We could combine the data because some URI-s were identical (the ISBN-s in this case)  We could add some simple additional information (the “glue”), also using common terminologies that a community has produced  As a result, new relations could be found and retrieved

25 It could become even more powerful  We could add extra knowledge to the merged datasets  e.g., a full classification of various types of library data  geographical information  etc.  This is where ontologies, extra rules, etc, come in  ontologies/rule sets can be relatively simple and small, or huge, or anything in between…  Even more powerful queries can be asked as a result

26 What did we do? (cont)

27 The abstraction pays off because…  … the graph representation is independent of the exact structures  … a change in local database schema’s, XHTML structures, etc, do not affect the whole  “schema independence”  … new data, new connections can be added seamlessly

28 The network effect  Through URI-s we can link any data to any data  The “network effect” is extended to the (Web) data  “Mashup on steroids” become possible

29 So where is the Semantic Web?  The Semantic Web provides technologies to make such integration possible!  Hopefully you get a full picture at the end of the tutorial…

30 The Basis: RDF

31 RDF triples  Let us begin to formalize what we did!  we “connected” the data…  but a simple connection is not enough… data should be named somehow  hence the RDF Triples: a labelled connection between two resources

32 RDF triples (cont.)  An RDF Triple (s,p,o) is such that:  “ s ”, “ p ” are URI-s, ie, resources on the Web; “ o ” is a URI or a literal  “ s ”, “ p ”, and “ o ” stand for “subject”, “property”, and “object”  here is the complete triple:  RDF is a general model for such triples (with machine readable formats like RDF/XML, Turtle, N3, RXR, …) (,, )

33 RDF triples (cont.)  RDF triples are also referred to as “triplets”, or “statements”  The “ p ” is also referred to as “predicate” sometimes

34 Explaining RDF

35 RDF triples (cont.)  Resources can use any URI; it can denote an element within an XML file on the Web, not only a “full” resource, e.g.:     RDF triples form a directed, labelled graph (the best way to think about them!)

36 A simple RDF example (in RDF/XML) Le palais des mirroirs Le palais des mirroirs (Note: namespaces are used to simplify the URI-s)

37 A simple RDF example (in Turtle) f:titre "Le palais des ; f:original. f:titre "Le palais des ; f:original.

38 URI-s play a fundamental role  URI-s made the merge possible  URI-s ground RDF into the Web  information can be retrieved using existing tools  this makes the “Semantic Web”, well… “Semantic Web”

39 RDF/XML principles «Element for «Element for original» «Element for «/Element for original» «/Element for «Element for «Element for titre» Le palais des mirroirs «/Element for titre» «/Element for «Element for «Element for original» «Element for «/Element for original» «/Element for «Element for «Element for titre» Le palais des mirroirs «/Element for titre» «/Element for  Encode nodes and edges as XML elements or with literals:

40 RDF/XML principles (cont.)  Encode the resources (i.e., the nodes): «Element for original» «/Element for f:original» «Element for original» «/Element for f:original»

41 RDF/XML principles (cont.)  Encode the properties (i.e., edges) in their own namespaces: <rdf:RDF xmlns:rdf=" xmlns:f=" <rdf:RDF xmlns:rdf=" xmlns:f="

42 Examples of RDF/XML “simplifications”  Object references can be put into attributes  Several properties on the same resource  There are other “simplification rules”, see the “RDF/XML Serialization” document for details Le palais des mirroirs Le palais des mirroirs

43 “Internal” nodes  Consider the following statement:  “the publisher is a «thing» that has a name and an address”  Until now, nodes were identified with a URI. But…  …what is the URI of «thing»?

44 One solution: create an extra URI  The resource will be “visible” on the Web  care should be taken to define unique URI-s  Serializations may give syntactic help to define local URI-s HarpersCollins HarpersCollins

45 Internal identifier (“blank nodes”)  Syntax is serialization dependent  A234 is invisible from outside (it is not a “real” URI!); it is an internal identifier for a resource HarpersCollins HarpersCollins a:publisher _:A234. _:A234 a:p_name "HarpersCollins". a:publisher _:A234. _:A234 a:p_name "HarpersCollins".

46 Blank nodes: the system can also do it  Let the system create a “nodeID” internally (you do not really care about the name…) HarpersCollins … HarpersCollins …

47 Blank nodes: some more remarks  Blank nodes require attention when merging  blanks nodes with identical nodeID-s in different graphs are different  implementations must be careful…  Many applications prefer not to use blank nodes and define new URI-s “on-the-fly”  eg, when triples are in a database  From a logic point of view, blank nodes represent an “existential” statement  “there is a resource such that…”

48 RDF in programming practice  For example, using Java+Jena (HP’s Bristol Lab):  a “Model” object is created  the RDF file is parsed and results stored in the Model  the Model offers methods to retrieve:  triples  (property,object) pairs for a specific subject  (subject,property) pairs for specific object  etc.  the rest is conventional programming…  Similar tools exist in Python, PHP, etc.

49 Jena example // create a model Model model=new ModelMem(); Resource subject=model.createResource("URI_of_Subject") // 'in' refers to the input file model.read(new InputStreamReader(in)); StmtIterator iter=model.listStatements(subject,null,null); while(iter.hasNext()) { st = iter.next(); p = st.getProperty(); o = st.getObject(); do_something(p,o); } // create a model Model model=new ModelMem(); Resource subject=model.createResource("URI_of_Subject") // 'in' refers to the input file model.read(new InputStreamReader(in)); StmtIterator iter=model.listStatements(subject,null,null); while(iter.hasNext()) { st = iter.next(); p = st.getProperty(); o = st.getObject(); do_something(p,o); }

50 Merge in practice  Environments merge graphs automatically  e.g., in Jena, the Model can load several files  the load merges the new statements automatically

51 Some systems with RDF DBPedia Twine/Evri …