Implementing and extending SPARQL queries over DLVHEX

Size: px
Start display at page:

Download "Implementing and extending SPARQL queries over DLVHEX"

Transcription

1 Implementing and extending SPARQL queries over DLVHEX Gennaro Frazzingaro Bachelor Thesis Presentation - October 5, 2007 From a work performed in Madrid, Spain Galway, Ireland Rende, Italy

2 How to solve problems arising Searching the Web Organize my journeys... Who can do this for me??

3 Making the Web more... Semantic Creating distributed knowledge: Shared distributed vocabularies (OWL, RDFS) Shared distributed information using these vocabularies How to store this information??

4 Making the Web more... Semantic Creating distributed knowledge: Shared distributed vocabularies (OWL, RDFS) Shared distributed information using these vocabularies How to store this information??

5 by the Resource Description Framework (RDF) = W3C standard from February 1999 Provides a framework to represent META-DATA about resources RDF model by TRIPLES subject - predicate - object

6 by the Resource Description Framework (RDF) = W3C standard from February 1999 Provides a framework to represent META-DATA about resources RDF model by TRIPLES subject - predicate - object

7 RDF representations (standard form) <rdf:rdf xmlns:rdf=" xmlns:contact=" <contact:person rdf:about=" <contact:fullname>eric Miller</contact:fullName> <contact:mailbox <contact:personaltitle>dr.</contact:personaltitle> </contact:person> </rdf:rdf> contact:fullname contact:personaltitle RDF/XML or Graph Data Model Eric Miller contact:mailbox Dr. Namespace contact="

8 RDF representations (more readable forms) subject - predicate - : < < :me contact:fullname Eric Miller :me contact:mailbox <mailto:em@w3.org> :me contact:personaltitle Dr. ^^xsd:string Notation 3 N-Triples Turtle just the syntax changes, not the content!

9 How to retrieve this information (what we need) A cross language for handling RDF s semi-structured data A language which allow higherlevel application development A platform-independent query language and which can retrieve triples from different data sources SQL-like languages Retrieve data from Databases composed of TRIPLES Simple and familiar SELECT form XQuery-like languages Retrieve data from XML (RDF/XML) Platform independent

10 How to retrieve this information (what we need) A cross language for handling RDF s semi-structured data A language which allow higherlevel application development A platform-independent query language and which can retrieve triples from different data sources SQL-like languages Retrieve data from Databases composed of TRIPLES Simple and familiar SELECT form XQuery-like languages Retrieve data from XML (RDF/XML) Platform independent

11 How to retrieve this information (what we need) A cross language for handling RDF s semi-structured data A language which allow higherlevel application development A platform-independent query language and which can retrieve triples from different data sources SQL-like languages Retrieve data from Databases composed of TRIPLES Simple and familiar SELECT form XQuery-like languages Retrieve data from XML (RDF/XML) Platform independent

12 How to retrieve this information (what we need) A cross language for handling RDF s semi-structured data A language which allow higherlevel application development A platform-independent query language and which can retrieve triples from different data sources SQL-like languages Retrieve data from Databases composed of TRIPLES Simple and familiar SELECT form XQuery-like languages Retrieve data from XML (RDF/XML) Platform independent ENCODING DEPENDENT

13 SPARQL is the W3C answer PREFIX (optional) SELECT FROM prefixes list of variables (* for all in the WHERE clause) default graph FROM NAMED named graphs WHERE (conjunction of patterns) pattern(s) SQL-like SELECT query form FROM and FROM NAMED to specify the data-sets Use of TRIPLE patterns written in TURTLE

14 SPARQL is the W3C answer PREFIX (optional) SELECT FROM prefixes list of variables (* for all in the WHERE clause) default graph FROM NAMED named graphs WHERE (conjunction of patterns) pattern(s) SQL-like SELECT query form FROM and FROM NAMED to specify the data-sets Use of TRIPLE patterns written in TURTLE

15 SPARQL is the W3C answer PREFIX (optional) SELECT FROM prefixes list of variables (* for all in the WHERE clause) default graph FROM NAMED named graphs WHERE (conjunction of patterns) pattern(s) SQL-like SELECT query form FROM and FROM NAMED to specify the data-sets Use of TRIPLE patterns written in TURTLE

16 How to solve these queries? Current approach: ARQ on Jena Jena is a Java API for Semantic Web applications (which supports RDQL answering) ARQ is a module for executing SPARQL queries translating them into RDQL RDQL is query language for extracting information from RDF graphs Our approach: SPARQL on DLVHEX DLVHEX is a framework which extends DLV to calculate answer-sets for HEX-programs HEX-programs are an extension of ASP-programs allowing external and higher-order atoms DLVHEX-SPARQL translate SPARQL queries into rules to calculate solutions

17 How to solve these queries? Current approach: ARQ on Jena Jena is a Java API for Semantic Web applications (which supports RDQL answering) ARQ is a module for executing SPARQL queries translating them into RDQL RDQL is query language for extracting information from RDF graphs Our approach: SPARQL on DLVHEX DLVHEX is a framework which extends DLV to calculate answer-sets for HEX-programs HEX-programs are an extension of ASP-programs allowing external and higher-order atoms DLVHEX-SPARQL translate SPARQL queries into rules to calculate solutions

18 HEX-programs A rule r is of the form α1... αk β1,...,βn, not βn+1,...,not βm where m, k >= 0 α1...αk are atoms β1...βm are either atoms or external atoms An external atom is of the form &g[y1,...,yn](x1,...xm) where &g is the external predicate name Y1,...,Yn are the input list of term X1,...,Xm are the output list of term A HEX-program is a finite set P of r rules

19 HEX-programs A rule r is of the form α1... αk β1,...,βn, not βn+1,...,not βm where m, k >= 0 α1...αk are atoms β1...βm are either atoms or external atoms An external atom is of the form &g[y1,...,yn](x1,...xm) where &g is the external predicate name Y1,...,Yn are the input list of term X1,...,Xm are the output list of term A HEX-program is a finite set P of r rules

20 HEX-programs A rule r is of the form α1... αk β1,...,βn, not βn+1,...,not βm where m, k >= 0 α1...αk are atoms β1...βm are either atoms or external atoms An external atom is of the form &g[y1,...,yn](x1,...xm) where &g is the external predicate name Y1,...,Yn are the input list of term X1,...,Xm are the output list of term A HEX-program is a finite set P of r rules

21 HEX Semantics HBP is the Herbrand Base of such a program P, a set of all possible ground version of atoms and HEX-atoms occurring in P Given an interpretation I relative to P, I is a model of atom a in HBP, if a is in I. f&g is a boolean function assigning each tuple (I, y1..., yn, x1,..., xm) either 0 or 1 I is a model of a ground external atom a=&g[y1..., yn](x1,..., xm) if and only if f&g(i, y1..., yn, x1,..., xm) = 1

22 How does it work? What DLVHEX needs: Import data from RDF graphs Store it into predicates to allow its evaluation Restrict solutions to those that match with the pattern in the WHERE clause What DLVHEX provides: External atom (RDF-plugin) &rdf[uri](s,p,o) to read triples from URI Infer predicates from this atom triple(s,p,o) :- &rdf[uri](s,p,o) Rewriting of the input (SPARQL) in its equivalent program in rules (SPARQL-plugin)

23 How does it work? What DLVHEX needs: Import data from RDF graphs Store it into predicates to allow its evaluation Restrict solutions to those that match with the pattern in the WHERE clause What DLVHEX provides: External atom (RDF-plugin) &rdf[uri](s,p,o) to read triples from URI Infer predicates from this atom triple(s,p,o) :- &rdf[uri](s,p,o) Rewriting of the input (SPARQL) in its equivalent program in rules (SPARQL-plugin)

24 SPARQL translation Conjuction and disjunction PREFIX foaf: < SELECT?N FROM < WHERE {?X a foaf:person. { {?X foaf:name?n } UNION {?X foaf:nick?n } } } QUERY foaf: alice: bob: < :bob a foaf:person; foaf:name "Bob"; foaf:nick "Bobby". alice:me foaf:knows _:c. _:c a foaf:person foaf:nick "Bob" ; foaf:nick "Bobby". RESULT?N "Bobby" "Bob" "Bobby" "Bob"

25 SPARQL translation Matching Alternatives PREFIX foaf: < SELECT?N FROM < WHERE {?X a foaf:person. { {?X foaf:name?n } UNION {?X foaf:nick?n } } } becomes answervars("n"). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(x_x) :- answer_1(x_x,default),answer_2(x_n,x_x,default).

26 SPARQL translation Matching Alternatives PREFIX foaf: < SELECT?N FROM < WHERE {?X a foaf:person. { {?X foaf:name?n } UNION {?X foaf:nick?n } } } becomes answervars("n"). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(x_x) :- answer_1(x_x,default),answer_2(x_n,x_x,default).

27 SPARQL translation Matching Alternatives PREFIX foaf: < SELECT?N FROM < WHERE {?X a foaf:person. { {?X foaf:name?n } UNION {?X foaf:nick?n } } } becomes answervars("n"). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(x_x) :- answer_1(x_x,default),answer_2(x_n,x_x,default).

28 SPARQL translation Matching Alternatives PREFIX foaf: < SELECT?N FROM < WHERE {?X a foaf:person. { {?X foaf:name?n } UNION {?X foaf:nick?n } } } becomes answervars("n"). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(x_x) :- answer_1(x_x,default),answer_2(x_n,x_x,default).

29 SPARQL translation Matching Alternatives PREFIX foaf: < SELECT?N FROM < WHERE {?X a foaf:person. { {?X foaf:name?n } UNION {?X foaf:nick?n } } } becomes answervars("n"). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(x_x) :- answer_1(x_x,default),answer_2(x_n,x_x,default).

30 SPARQL translation Matching Alternatives PREFIX foaf: < SELECT?N FROM < WHERE {?X a foaf:person. { {?X foaf:name?n } UNION {?X foaf:nick?n } } } becomes answervars("n"). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(x_x) :- answer_1(x_x,default),answer_2(x_n,x_x,default).

31 SPARQL translation Matching Alternatives answervars("x"). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(x_x) :- answer_1(x_x,default),answer_2(x_n,x_x,default). whose solution is which corresponds to {answer("'bobby'"), answer("'bob'")} RESULT?N "Bobby" "Bob"

32 Drawbacks of current translation SPARQL on DLVHEX is not fully compliant with the specifications described by W3C: Just plain RDF literals are supported (not datatyped) Solution modifier not supported Every query is solved as a DISTINCT query (if a binding appears more than once in the solution, DLVHEX shows it just once, like in the example above) Evaluation of FILTERs is still sloppy and often not yet supported.

33 Specific starting point of my thesis Enable both DISTINCT and not DISTINCT queries (showing, in the latter case, the results the same times they are matched in the graph) Complete evaluation of FILTERs

34 How to distinguish bindings Inserting an identifier (constant) for each branch of UNION propagated upwards by a variable Always carrying over all the variables in all subpatterns to the answer predicate answervars("","n",""). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(union_2_1,x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(union_2_2,x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(union_2,x_n,x_x) :- answer_1(x_x,default), answer_2(union_2,x_n,x_x,default).

35 How to distinguish bindings Inserting an identifier (constant) for each branch of UNION propagated upwards by a variable Always carrying over all the variables in all subpatterns to the answer predicate answervars("","n",""). triple(s,p,o,default) :- &rdf[" answer_1(x_x,default) :- triple(x_x,"< "foaf:person",default). answer_2(union_2_1,x_n,x_x,default) :- triple(x_x,"foaf:name",x_n,default). answer_2(union_2_2,x_n,x_x,default) :- triple(x_x,"foaf:nick",x_n,default). answer(union_2,x_n,x_x) :- answer_1(x_x,default), answer_2(union_2,x_n,x_x,default).

36 Now the solution is... {answer(union_2_2,"'bobby'","#genid_< answer(union_2_2,"'bobby'","< answer(union_2_2,"'bob'","#genid_< answer(union_2_1,"'bob'","< which corresponds to real result RESULT?N "Bobby" "Bobby" "Bob" "Bob"

37 FILTERs evaluation What is a FILTER FILTERs restrict solutions to those for which the filter expression evaluates to TRUE Once values of a solution are substituted in the constraint expression, are discarded solution that either FILTER pattern produces FALSE ( F ) or produce an error ( E ). How we implemented it Use of external atoms for external computation of FILTER constraints We provide an external atom &eval which takes: The string following the FILTER keyword The value of the (possible) variable values to evaluate the constraint

38 FILTERs evaluation What is a FILTER FILTERs restrict solutions to those for which the filter expression evaluates to TRUE Once values of a solution are substituted in the constraint expression, are discarded solution that either FILTER pattern produces FALSE ( F ) or produce an error ( E ). How we implemented it Use of external atoms for external computation of FILTER constraints We provide an external atom &eval which takes: The string following the FILTER keyword The value of the (possible) variable values to evaluate the constraint

39 FILTERs evaluation What is a FILTER FILTERs restrict solutions to those for which the filter expression evaluates to TRUE Once values of a solution are substituted in the constraint expression, are discarded solution that either FILTER pattern produces FALSE ( F ) or produce an error ( E ). How we implemented it Use of external atoms for external computation of FILTER constraints We provide an external atom &eval which takes: The string following the FILTER keyword The value of the (possible) variable values to evaluate the constraint

40 FILTERs evaluation when we encounter for example In a nutshell WHERE... <patterns> FILTER <constraint>... we will use the external atom &eval["<constraint>",<variables value in the constraint>](x). where X could be "T", "F" or "E"

41 FILTERs evaluation PREFIX foaf: < SELECT?name?mbox WHERE {?x foaf:name?name ; foaf:mbox?mbox. FILTER ( lang(?name) = "ES" && isiri(?mbox) ) } becomes answervars("mbox","name",""). answer(x_mbox,x_name,x_x) :- triple(x_x,"foaf:mbox",x_mbox,default), triple(x_x,"foaf:name",x_name,default), &eval["lang(?name) = \"ES\" && isiri(?mbox)",x_name,x_mbox]("t").

42 Particular case: FILTER + OPTIONAL (1) WHERE... <patterns> OPTIONAL <pattern>... Queries which contains OPTIONAL patterns do not reject solutions which has no binding for <pattern>. OPTIONAL patterns in SPARQL corresponds to the left join operator in Relational Algebra. Given the patterns Ω1 = <patterns> and Ω2 = <pattern> they could be transformed following the left join definition as follows Ω1 leftjoin Ω2 = (Ω1 join Ω2) U (Ω1 - Ω2)

43 Particular case: FILTER + OPTIONAL (2) OPTIONAL <pattern> FILTER <constraint> When a FILTER constraint appears in an OPTIONAL pattern there are 3 cases to consider: 1. there are bindings for <pattern> and <constraint> is true 2. there are bindings for <pattern>, but <constraint> is false or generate an error 3. there are no bindings for <pattern>

44 SPARQL translation Optional Patterns PREFIX foaf: < SELECT * FROM < WHERE { {?X1 a foaf:person. OPTIONAL {?X1 foaf:name?n. FILTER isliteral(?n) } } becomes answer_1(x_x1,default) :- triple(x_x1,"< "foaf:person",default). answer_2(x_n,x_x1,default) :- triple(x_x1,"foaf:name",x_n,default). answer_bjoin_1(null,x_x1,default) :- answer_1(x_x1,default), not answer_2_prime(x_x1,default). answer_2_prime(x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), &eval["isliteral(?n)",x_n]("t"). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), not &eval["isliteral(?n)",x_n]("t"). answer(x_n,x_x1) :- answer_bjoin_1(x_n,x_x1,default).

45 SPARQL translation Optional Patterns PREFIX foaf: < SELECT * FROM < WHERE { {?X1 a foaf:person. OPTIONAL {?X1 foaf:name?n. FILTER isliteral(?n) } } becomes answer_1(x_x1,default) :- triple(x_x1,"< "foaf:person",default). answer_2(x_n,x_x1,default) :- triple(x_x1,"foaf:name",x_n,default). answer_bjoin_1(null,x_x1,default) :- answer_1(x_x1,default), not answer_2_prime(x_x1,default). answer_2_prime(x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), &eval["isliteral(?n)",x_n]("t"). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), not &eval["isliteral(?n)",x_n]("t"). answer(x_n,x_x1) :- answer_bjoin_1(x_n,x_x1,default).

46 SPARQL translation Optional Patterns {?X1 a foaf:person. OPTIONAL {?X1 foaf:name?n. FILTER isliteral(?n) } } = Ω1 OPTIONAL Ω2 = (Ω1 join Ω2) U (Ω1 - Ω2) becomes FILTER is true generates an error answer_1(x_x1,default) :- triple(x_x1,"< "foaf:person",default). answer_2(x_n,x_x1,default) :- triple(x_x1,"foaf:name",x_n,default). answer_bjoin_1(null,x_x1,default) :- answer_1(x_x1,default), not answer_2_prime(x_x1,default). answer_2_prime(x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), &eval["isliteral(?n)",x_n]("t"). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), not &eval["isliteral(?n)",x_n]("t"). answer(x_n,x_x1) :- answer_bjoin_1(x_n,x_x1,default).

47 SPARQL translation Optional Patterns {?X1 a foaf:person. OPTIONAL {?X1 foaf:name?n. FILTER isliteral(?n) } } = Ω1 OPTIONAL Ω2 = (Ω1 join Ω2) U (Ω1 - Ω2) becomes FILTER is false or generates an error answer_1(x_x1,default) :- triple(x_x1,"< "foaf:person",default). answer_2(x_n,x_x1,default) :- triple(x_x1,"foaf:name",x_n,default). answer_bjoin_1(null,x_x1,default) :- answer_1(x_x1,default), not answer_2_prime(x_x1,default). answer_2_prime(x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), &eval["isliteral(?n)",x_n]("t"). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), not &eval["isliteral(?n)",x_n]("t"). answer(x_n,x_x1) :- answer_bjoin_1(x_n,x_x1,default).

48 SPARQL translation Optional Patterns Ω1 OPTIONAL Ω2 = (Ω1 join Ω2) U (Ω1 - Ω2) We need SAFETY! We need answer_2_prime to apply negation on answer_2 (Ω1 - Ω2) = Ω1 - (Ω1 Ω2) becomes answer_1(x_x1,default) :- triple(x_x1,"< "foaf:person",default). answer_2(x_n,x_x1,default) :- triple(x_x1,"foaf:name",x_n,default). answer_bjoin_1(null,x_x1,default) :- answer_1(x_x1,default), not answer_2_prime(x_x1,default). answer_2_prime(x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), &eval["isliteral(?n)",x_n]("t"). answer_bjoin_1(x_n,x_x1,default) :- answer_1(x_x1,default), answer_2(x_n,x_x1,default), not &eval["isliteral(?n)",x_n]("t"). answer (X_N,X_X1) :- answer_bjoin_1(x_n,x_x1,default).

49 DLVHEX+SPARQL web service We provide also a web-service developed with Apache Axis, available at It evaluates queries using dlvhex-sparql and its RuleML output It transforms this output in the official SPARQL Query Result XML format

50 Thanks. Questions?

Chapter 13: Advanced topic 3 Web 3.0

Chapter 13: Advanced topic 3 Web 3.0 Chapter 13: Advanced topic 3 Web 3.0 Contents Web 3.0 Metadata RDF SPARQL OWL Web 3.0 Web 1.0 Website publish information, user read it Ex: Web 2.0 User create content: post information, modify, delete

More information

What's New in RDF 1.1

What's New in RDF 1.1 What's New in RDF 1.1 SemTechBiz June 2013 http://www.w3.org/2013/talks/0603-rdf11 Sandro Hawke, W3C Staff sandro@w3.org @sandhawke Overview 1. Stability and Interoperability 2. Non-XML Syntaxes Turtle

More information

COMPUTER AND INFORMATION SCIENCE JENA DB. Group Abhishek Kumar Harshvardhan Singh Abhisek Mohanty Suhas Tumkur Chandrashekhara

COMPUTER AND INFORMATION SCIENCE JENA DB. Group Abhishek Kumar Harshvardhan Singh Abhisek Mohanty Suhas Tumkur Chandrashekhara JENA DB Group - 10 Abhishek Kumar Harshvardhan Singh Abhisek Mohanty Suhas Tumkur Chandrashekhara OUTLINE Introduction Data Model Query Language Implementation Features Applications Introduction Open Source

More information

Web 3.0 Overview: Interoperability in the Web dimension (1) Web 3.0 Overview: Interoperability in the Web dimension (2) Metadata

Web 3.0 Overview: Interoperability in the Web dimension (1) Web 3.0 Overview: Interoperability in the Web dimension (2) Metadata Information Network I Web 3.0 Youki Kadobayashi NAIST Web 3.0 Overview: Interoperability in the Web dimension (1) Interoperability of data: Assist in interacting with arbitrary (including unknown) resources

More information

Information Network I Web 3.0. Youki Kadobayashi NAIST

Information Network I Web 3.0. Youki Kadobayashi NAIST Information Network I Web 3.0 Youki Kadobayashi NAIST Web 3.0 Overview: Interoperability in the Web dimension (1) Interoperability of data: Metadata Data about data Assist in interacting with arbitrary

More information

Descriptions. Robert Grimm New York University

Descriptions. Robert Grimm New York University Descriptions Robert Grimm New York University The Final Assignment! Your own application! Discussion board! Think: Paper summaries! Time tracker! Think: Productivity tracking! Web cam proxy! Think: George

More information

From the Web to the Semantic Web: RDF and RDF Schema

From the Web to the Semantic Web: RDF and RDF Schema From the Web to the Semantic Web: RDF and RDF Schema Languages for web Master s Degree Course in Computer Engineering - (A.Y. 2016/2017) The Semantic Web [Berners-Lee et al., Scientific American, 2001]

More information

RDF AND SPARQL. Part IV: Syntax of SPARQL. Dresden, August Sebastian Rudolph ICCL Summer School

RDF AND SPARQL. Part IV: Syntax of SPARQL. Dresden, August Sebastian Rudolph ICCL Summer School RDF AND SPARQL Part IV: Syntax of SPARQL Sebastian Rudolph ICCL Summer School Dresden, August 2013 Agenda 1 Introduction and Motivation 2 Simple SPARQL Queries 3 Complex Graph Pattern 4 Filters 5 Solution

More information

Querying Semantic Web Data

Querying Semantic Web Data Querying Semantic Web Data Lalana Kagal Decentralized Information Group MIT CSAIL Eric Prud'hommeaux Sanitation Engineer World Wide Web Consortium SPARQL Program Graph patterns Motivations for RDF RDF

More information

Descriptions. Robert Grimm New York University

Descriptions. Robert Grimm New York University Descriptions Robert Grimm New York University The Final Assignment! Your own application! Discussion board! Think: Paper summaries! Web cam proxy! Think: George Orwell or JenCam! Visitor announcement and

More information

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on XML and Semantic Web

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on XML and Semantic Web Course on XML and Semantic Web Technologies, summer term 2012 0/45 XML and Semantic Web Technologies XML and Semantic Web Technologies II. Semantic Web / 3. SPARQL Query Language for RDF Lars Schmidt-Thieme

More information

SPARQL. Dr Nicholas Gibbins

SPARQL. Dr Nicholas Gibbins SPARQL Dr Nicholas Gibbins nmg@ecs.soton.ac.uk Semantic Web Applications Technologies considered so far allow us to create representation schemes (RDFS, OWL) and to represent data (RDF) We can put data

More information

A Rule System for Querying Persistent RDFS Data

A Rule System for Querying Persistent RDFS Data A Rule System for Querying Persistent RDFS Data Giovambattista Ianni 1, Thomas Krennwallner 2, Alessandra Martello 1, and Axel Polleres 3 1 Dipartimento di Matematica, Università della Calabria, I-87036

More information

Unit 1 a Bird s Eye View on RDF(S), OWL & SPARQL

Unit 1 a Bird s Eye View on RDF(S), OWL & SPARQL Unit 1 a Bird s Eye View on RDF(S), OWL & SPARQL Axel Polleres Siemens AG Österreich VU 184.729 Semantic Web Technologies A. Polleres VU 184.729 1/48 Unit Outline 1. Motivation Aggregating Web Data 2.

More information

BASI DI DATI II 2 modulo Parte VIII: SPARQL

BASI DI DATI II 2 modulo Parte VIII: SPARQL BASI DI DATI II 2 modulo Parte VIII: SPARQL Prof. Riccardo Torlone Università Roma Tre Outline Querying RDF SPARQL Query Languages: SQL A language for querying collections of tuples: SELECT SALARY, HIRE_DATE

More information

XML and Semantic Web Technologies. III. Semantic Web / 3. SPARQL Query Language for RDF

XML and Semantic Web Technologies. III. Semantic Web / 3. SPARQL Query Language for RDF XML and Semantic Web Technologies XML and Semantic Web Technologies III. Semantic Web / 3. SPARQL Query Language for RDF Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute

More information

RESOURCES DESCRIPTION FRAMEWORK: RDF

RESOURCES DESCRIPTION FRAMEWORK: RDF 1 RESOURCES DESCRIPTION FRAMEWORK: RDF Hala Skaf-Molli Associate Professor Nantes University Hala.Skaf@univ-nantes.fr http://pagesperso.lina.univ-nantes.fr/~skaf-h Linked Data Stack (Semantic Web Cake)

More information

Semantic Web Tools. Federico Chesani 18 Febbraio 2010

Semantic Web Tools. Federico Chesani 18 Febbraio 2010 Semantic Web Tools Federico Chesani 18 Febbraio 2010 Outline A unique way for identifying concepts How to uniquely identified concepts? -> by means of a name system... SW exploits an already available

More information

SPARQL QUERY LANGUAGE WEB:

SPARQL QUERY LANGUAGE   WEB: SPARQL QUERY LANGUAGE JELENA JOVANOVIC EMAIL: JELJOV@GMAIL.COM WEB: HTTP://JELENAJOVANOVIC.NET SPARQL query language W3C standard for querying RDF graphs Can be used to query not only native RDF data,

More information

Semantic Web Systems Querying Jacques Fleuriot School of Informatics

Semantic Web Systems Querying Jacques Fleuriot School of Informatics Semantic Web Systems Querying Jacques Fleuriot School of Informatics 5 th February 2015 In the previous lecture l Serialising RDF in XML RDF Triples with literal Object edstaff:9888 foaf:name Ewan Klein.

More information

Nested Queries in SPARQL

Nested Queries in SPARQL Nested Queries in SPARQL Renzo Angles Claudio Gutierrez Presented by: Nuno Lopes Stefan.Decker@deri.org http://www.stefandecker.org/! Copyright 2010. All rights reserved. Motivation for nested queries

More information

Processing SparQL Queries in an Object-Oriented Mediator

Processing SparQL Queries in an Object-Oriented Mediator 1-47 Uppsala Master s Theses in Computer Science 306 2007-01-07 ISSN 1100-1836 Processing SparQL Queries in an Object-Oriented Mediator Yu Cao Information Technology Computing Science Department Uppsala

More information

Semantics. Matthew J. Graham CACR. Methods of Computational Science Caltech, 2011 May 10. matthew graham

Semantics. Matthew J. Graham CACR. Methods of Computational Science Caltech, 2011 May 10. matthew graham Semantics Matthew J. Graham CACR Methods of Computational Science Caltech, 2011 May 10 semantic web The future of the Internet (Web 3.0) Decentralized platform for distributed knowledge A web of databases

More information

Querying RDF & RDFS. Several query languages exist to retrieve

Querying RDF & RDFS. Several query languages exist to retrieve Knowledge management: Querying with SPARQL 1 Querying RDF & RDFS Several query languages exist to retrieve resulting triples from RDF RDQL SERQL SPARQL These languages use triple patterns as input and

More information

SPARQL. Fausto Giunchiglia and Mattia Fumagallli. University of Trento

SPARQL. Fausto Giunchiglia and Mattia Fumagallli. University of Trento SPARQL Fausto Giunchiglia and Mattia Fumagallli University of Trento Roadmap Introduction Basic query forms SELECT CONSTRUCT ASK DESCRIBE Other clauses and modifiers SPARQL Federated Query Exercises 2

More information

MI-PDB, MIE-PDB: Advanced Database Systems

MI-PDB, MIE-PDB: Advanced Database Systems MI-PDB, MIE-PDB: Advanced Database Systems http://www.ksi.mff.cuni.cz/~svoboda/courses/2015-2-mie-pdb/ Lecture 11: RDF, SPARQL 3. 5. 2016 Lecturer: Martin Svoboda svoboda@ksi.mff.cuni.cz Author: Martin

More information

Orchestrating Music Queries via the Semantic Web

Orchestrating Music Queries via the Semantic Web Orchestrating Music Queries via the Semantic Web Milos Vukicevic, John Galletly American University in Bulgaria Blagoevgrad 2700 Bulgaria +359 73 888 466 milossmi@gmail.com, jgalletly@aubg.bg Abstract

More information

SEMANTIC WEB 07 SPARQL TUTORIAL BY EXAMPLE: DBPEDIA IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD

SEMANTIC WEB 07 SPARQL TUTORIAL BY EXAMPLE: DBPEDIA IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD SEMANTIC WEB 07 SPARQL TUTORIAL BY EXAMPLE: DBPEDIA IMRAN IHSAN ASSISTANT PROFESSOR, AIR UNIVERSITY, ISLAMABAD WWW.IMRANIHSAN.COM VIRTUOSO SERVER DOWNLOAD Open Link Virtuoso Server http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/main/vosdownload

More information

Semantic Web Information Management

Semantic Web Information Management Semantic Web Information Management Norberto Fernández ndez Telematics Engineering Department berto@ it.uc3m.es.es 1 Motivation n Module 1: An ontology models a domain of knowledge n Module 2: using the

More information

Multi-agent and Semantic Web Systems: Querying

Multi-agent and Semantic Web Systems: Querying Multi-agent and Semantic Web Systems: Querying Fiona McNeill School of Informatics 11th February 2013 Fiona McNeill Multi-agent Semantic Web Systems: Querying 11th February 2013 0/30 Contents This lecture

More information

Jena.

Jena. Jena http://openjena.org/ The Beginning... From: McBride, Brian Date: Mon, 28 Aug 2000 13:40:03 +0100 To: "RDF Interest (E-mail)" A few weeks ago I posted

More information

Day 2. RISIS Linked Data Course

Day 2. RISIS Linked Data Course Day 2 RISIS Linked Data Course Overview of the Course: Friday 9:00-9:15 Coffee 9:15-9:45 Introduction & Reflection 10:30-11:30 SPARQL Query Language 11:30-11:45 Coffee 11:45-12:30 SPARQL Hands-on 12:30-13:30

More information

Using SPARQL with RDFS and OWL Entailment

Using SPARQL with RDFS and OWL Entailment Using SPARQL with RDFS and OWL Entailment Birte Glimm The University of Oxford, Department of Computer Science, UK Abstract. This chapter accompanies the lecture on SPARQL with entailment regimes at the

More information

Semantic Web. Querying on the Web: XQuery, RDQL, SparQL. Morteza Amini. Sharif University of Technology Fall 94-95

Semantic Web. Querying on the Web: XQuery, RDQL, SparQL. Morteza Amini. Sharif University of Technology Fall 94-95 ه عا ی Semantic Web Querying on the Web: XQuery, RDQL, SparQL Morteza Amini Sharif University of Technology Fall 94-95 Outline XQuery Querying on XML Data RDQL Querying on RDF Data SparQL Another RDF query

More information

RDF and RDF Schema. Resource Description Framework

RDF and RDF Schema. Resource Description Framework RDF and RDF Schema Resource Description Framework Outline RDF Design objectives RDF General structure RDF Vocabularies Serialization: XML Semantic features RDF Schema RDF Semantics and Reasoning 2019-01-14

More information

Unit 2 RDF Formal Semantics in Detail

Unit 2 RDF Formal Semantics in Detail Unit 2 RDF Formal Semantics in Detail Axel Polleres Siemens AG Österreich VU 184.729 Semantic Web Technologies A. Polleres VU 184.729 1/41 Where are we? Last time we learnt: Basic ideas about RDF and how

More information

Semantic Web Technologies: Assignment 1. Axel Polleres Siemens AG Österreich

Semantic Web Technologies: Assignment 1. Axel Polleres Siemens AG Österreich Semantic Web Technologies: Assignment 1 Siemens AG Österreich 1 The assignment: 2 FOAF: 1. Create your own FOAF file. You can use a generator tool such as FOAF- a- Ma>c to generate a skeleton. 2. Make

More information

3. Queries Applied Artificial Intelligence Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences

3. Queries Applied Artificial Intelligence Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences 3. Queries Applied Artificial Intelligence Prof. Dr. Bernhard Humm Faculty of Computer Science Hochschule Darmstadt University of Applied Sciences 1 Retrospective Knowledge Representation (1/2) What is

More information

Semantic Days 2011 Tutorial Semantic Web Technologies

Semantic Days 2011 Tutorial Semantic Web Technologies Semantic Days 2011 Tutorial Semantic Web Technologies Lecture 2: RDF, The Resource Description Framework Martin Giese 7th June 2011 Department of Informatics University of Oslo Outline 1 The RDF data model

More information

Linked Data: What Now? Maine Library Association 2017

Linked Data: What Now? Maine Library Association 2017 Linked Data: What Now? Maine Library Association 2017 Linked Data What is Linked Data Linked Data refers to a set of best practices for publishing and connecting structured data on the Web. URIs - Uniform

More information

SPAR-QL. Mario Arrigoni Neri

SPAR-QL. Mario Arrigoni Neri SPAR-QL Mario Arrigoni Neri 1 Introduction 2 SPARQL = SPARQL Protocol and RDF Query Language SPARQL - query language to manipulate information in RDF graphs. It provides support to: extract information

More information

Semantic Web and Python Concepts to Application development

Semantic Web and Python Concepts to Application development PyCon 2009 IISc, Bangalore, India Semantic Web and Python Concepts to Application development Vinay Modi Voice Pitara Technologies Private Limited Outline Web Need better web for the future Knowledge Representation

More information

Chapter 3 Querying RDF stores with SPARQL

Chapter 3 Querying RDF stores with SPARQL Chapter 3 Querying RDF stores with SPARQL Why an RDF Query Language? l Why not use an XML query language? l XML at a lower level of abstraction than RDF l There are various ways of syntactically representing

More information

Building Blocks of Linked Data

Building Blocks of Linked Data Building Blocks of Linked Data Technological foundations Identifiers: URIs Data Model: RDF Terminology and Semantics: RDFS, OWL 23,019,148 People s Republic of China 20,693,000 population located in capital

More information

Querying the Semantic Web

Querying the Semantic Web Querying the Semantic Web CSE 595 Semantic Web Instructor: Dr. Paul Fodor Stony Brook University http://www3.cs.stonybrook.edu/~pfodor/courses/cse595.html Lecture Outline SPARQL Infrastructure Basics:

More information

Semantic Web. Lecture 12: SW Programming Dr. Knarig Arabshian

Semantic Web. Lecture 12: SW Programming Dr. Knarig Arabshian Semantic Web Lecture 12: SW Programming Dr. Knarig Arabshian Knarig.arabshian@hofstra.edu Hello Semantic Web World Example Say hello to the Semantic Web Say hello to some friends of the Semantic Web Expand

More information

Query. Ewan Klein. MASWS 12 February Multi-agent Semantic Web Systems: Query. Ewan Klein. Outline. Introduction RSS.

Query. Ewan Klein. MASWS 12 February Multi-agent Semantic Web Systems: Query. Ewan Klein. Outline. Introduction RSS. ing with ing with MASWS 12 February 2008 1 ing with ing with 2 3 ing with 4 ing with 5 ing RDF Data ing is crucial to being able to use RDF data. ing with ing with ing RDF Data ing with ing is crucial

More information

Introducing Linked Data

Introducing Linked Data Introducing Linked Data (Part of this work was funded by PlanetData NoE FP7/2007-2013) Irini Fundulaki 1 1 Institute of Computer Science FORTH & W3C Greece Office Manager EICOS : 4th Meeting, Athens, Greece

More information

On the Semantics of Heterogeneous Querying of Relational, XML and RDF Data with XSPARQL

On the Semantics of Heterogeneous Querying of Relational, XML and RDF Data with XSPARQL On the Semantics of Heterogeneous Querying of Relational, XML and RDF Data with XSPARQL Nuno Lopes, Stefan Bischof, Stefan Decker, Axel Polleres Stefan.Decker@deri.org http://www.stefandecker.org/! Copyright

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION Most of today s Web content is intended for the use of humans rather than machines. While searching documents on the Web using computers, human interpretation is required before

More information

Formalising the Semantic Web. (These slides have been written by Axel Polleres, WU Vienna)

Formalising the Semantic Web. (These slides have been written by Axel Polleres, WU Vienna) Formalising the Semantic Web (These slides have been written by Axel Polleres, WU Vienna) The Semantics of RDF graphs Consider the following RDF data (written in Turtle): @prefix rdfs: .

More information

Today s Plan. 1 Repetition: RDF. 2 Jena: Basic Datastructures. 3 Jena: Inspecting Models. 4 Jena: I/O. 5 Example. 6 Jena: ModelFactory and ModelMaker

Today s Plan. 1 Repetition: RDF. 2 Jena: Basic Datastructures. 3 Jena: Inspecting Models. 4 Jena: I/O. 5 Example. 6 Jena: ModelFactory and ModelMaker Today s Plan INF3580/4580 Semantic Technologies Spring 2015 Lecture 3: Jena A Java Library for RDF Martin Giese 2nd February 2015 2 Department of Informatics University of Oslo INF3580/4580 :: Spring 2015

More information

BUILDING THE SEMANTIC WEB

BUILDING THE SEMANTIC WEB BUILDING THE SEMANTIC WEB You might have come across the term Semantic Web Applications often, during talks about the future of Web apps. Check out what this is all about There are two aspects to the possible

More information

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES Semantics of SPARQL Sebastian Rudolph Dresden, June 14 Content Overview & XML 9 APR DS2 Hypertableau II 7 JUN DS5 Introduction into RDF 9 APR DS3 Tutorial 5 11

More information

JENA: A Java API for Ontology Management

JENA: A Java API for Ontology Management JENA: A Java API for Ontology Management Hari Rajagopal IBM Corporation Page Agenda Background Intro to JENA Case study Tools and methods Questions Page The State of the Web Today The web is more Syntactic

More information

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services Contents G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10 Introduction to the Semantic Web Semantic Web technologies Overview RDF OWL Semantic Web Services Concluding comments 1 See Developing Semantic

More information

INF3580/4580 Semantic Technologies Spring 2015

INF3580/4580 Semantic Technologies Spring 2015 INF3580/4580 Semantic Technologies Spring 2015 Lecture 15: RDFa Martin Giese 11th May 2015 Department of Informatics University of Oslo Repetition 18 June: Guest lecture, Lars Marius Garshol 25 May: no

More information

RuleML and SWRL, Proof and Trust

RuleML and SWRL, Proof and Trust RuleML and SWRL, Proof and Trust Semantic Web F. Abel and D. Krause IVS Semantic Web Group January 17, 2008 1 Solution 1: RuleML Express the following RuleML code as a human-readable First Order Logic

More information

The Semantic Web Revisited. Nigel Shadbolt Tim Berners-Lee Wendy Hall

The Semantic Web Revisited. Nigel Shadbolt Tim Berners-Lee Wendy Hall The Semantic Web Revisited Nigel Shadbolt Tim Berners-Lee Wendy Hall Today sweb It is designed for human consumption Information retrieval is mainly supported by keyword-based search engines Some problems

More information

Part II. Representation of Meta-Information

Part II. Representation of Meta-Information Part II Representation of Meta-Information 43 As we have seen in Chapter 3, quality-based information filtering policies rely on different types of meta-information about information itself, the information

More information

Harvesting RDF triples

Harvesting RDF triples Harvesting RDF triples Joe Futrelle Natioanl Center for Supercomputing Applications 1205 W. Clark St., Urbana IL 61801, US futrelle@ncsa.uiuc.edu Abstract. Managing scientific data requires tools that

More information

SPARQL Implementations

SPARQL Implementations SPARQL Implementations SPARQL Implementations ARQ Complete, general purpose query system SPARQL Parser and serializer SPARQL Algebra SPARQL Execution Results handling SDB Specialised ARQ extension SPARQL

More information

Reminder: RDF triples

Reminder: RDF triples Reminder: RDF triples The RDF data model is similar to classical conceptual modelling approaches such as entity relationship or class diagrams it is based on the idea of making statements about resources

More information

Copyright 2016 by Sahibi Miranshah. All Rights Reserved

Copyright 2016 by Sahibi Miranshah. All Rights Reserved ABSTRACT MIRANSHAH, SAHIBI. Integrating a Path Operator in Apache Jena for Generalized Graph Pattern Matching. (Under the direction of Dr. Kemafor Anyanwu Ogan.) The emergence of large heterogeneous networks

More information

SPARQL: An RDF Query Language

SPARQL: An RDF Query Language SPARQL: An RDF Query Language Wiltrud Kessler Institut für Maschinelle Sprachverarbeitung Universität Stuttgart Semantic Web Winter 2015/16 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike

More information

Today s Plan. INF3580/4580 Semantic Technologies Spring Reminder: RDF triples. Outline. Lecture 4: The SPARQL Query Language.

Today s Plan. INF3580/4580 Semantic Technologies Spring Reminder: RDF triples. Outline. Lecture 4: The SPARQL Query Language. Today s Plan INF3580/4580 Semantic Technologies Spring 2015 Lecture 4: The SPARQL Query Language Kjetil Kjernsmo 9th February 2015 4 Department of Informatics University of Oslo INF3580/4580 :: Spring

More information

Processing ontology alignments with SPARQL

Processing ontology alignments with SPARQL Provided by the author(s) and NUI Galway in accordance with publisher policies. Please cite the published version when available. Title Processing ontology alignments with SPARQL Author(s) Polleres, Axel

More information

Constraint Solving. Systems and Internet Infrastructure Security

Constraint Solving. Systems and Internet Infrastructure Security Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Constraint Solving Systems

More information

Apache Jena Framework. Philippe Genoud Université Joseph Fourier Grenoble (France)

Apache Jena Framework. Philippe Genoud Université Joseph Fourier Grenoble (France) Apache Jena Framework Philippe Genoud Université Joseph Fourier Grenoble (France) (Philippe.Genoud@imag.fr) Astrakhan State University November 2012 1 What is Jena? Introduction An open source semantic

More information

Designing a self-medication application on Semantic Web technologies. Olivier Curé UPEM LIGM, France

Designing a self-medication application on Semantic Web technologies. Olivier Curé UPEM LIGM, France Designing a self-medication application on Semantic Web technologies Olivier Curé UPEM LIGM, France Overview Self-medication applications Symptom & Drug DB Overview Self-medication applications Symptom

More information

Today s Plan. 1 Repetition: RDF. 2 Jena: Basic Datastructures. 3 Jena: Inspecting Models. 4 Jena: I/O. 5 Example. 6 Jena: ModelFactory and ModelMaker

Today s Plan. 1 Repetition: RDF. 2 Jena: Basic Datastructures. 3 Jena: Inspecting Models. 4 Jena: I/O. 5 Example. 6 Jena: ModelFactory and ModelMaker Today s Plan INF3580/4580 Semantic Technologies Spring 2017 Lecture 3: Jena A Java Library for RDF Martin Giese 30th January 2017 2 Department of Informatics University of Oslo INF3580/4580 :: Spring 2017

More information

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,

More information

Web NDL Authorities SPARQL API Specication

Web NDL Authorities SPARQL API Specication Web NDL Authorities SPARQL API Specication National Diet Library of Japan March 31th, 2014 Contents 1 The Outline of the Web NDLA SPARQL API 2 1.1 SPARQL query API.................................... 2

More information

Library of Congress BIBFRAME Pilot. NOTSL Fall Meeting October 30, 2015

Library of Congress BIBFRAME Pilot. NOTSL Fall Meeting October 30, 2015 Library of Congress BIBFRAME Pilot NOTSL Fall Meeting October 30, 2015 THE BIBFRAME EDITOR AND THE LC PILOT The Semantic Web and Linked Data : a Recap of the Key Concepts Learning Objectives Describe the

More information

KNOWLEDGE GRAPHS. Lecture 4: Introduction to SPARQL. TU Dresden, 6th Nov Markus Krötzsch Knowledge-Based Systems

KNOWLEDGE GRAPHS. Lecture 4: Introduction to SPARQL. TU Dresden, 6th Nov Markus Krötzsch Knowledge-Based Systems KNOWLEDGE GRAPHS Lecture 4: Introduction to SPARQL Markus Krötzsch Knowledge-Based Systems TU Dresden, 6th Nov 2018 Review We can use reification to encode complex structures in RDF graphs: Film Actor

More information

SPARQL Protocol And RDF Query Language

SPARQL Protocol And RDF Query Language SPARQL Protocol And RDF Query Language WS 2011/12: XML Technologies John Julian Carstens Department of Computer Science Communication Systems Group Christian-Albrechts-Universität zu Kiel March 1, 2012

More information

Interacting with Linked Data Part I: General Introduction

Interacting with Linked Data Part I: General Introduction Interacting with Linked Data Part I: General Introduction Agenda Part 0: Welcome Part I: General Introduction to Semantic Technologies Part II: Advanced Concepts Part III: OWLIM Part IV: Information Workbench-

More information

Semantic Web Engineering

Semantic Web Engineering Semantic Web Engineering Gerald Reif reif@ifi.unizh.ch Fr. 10:15-11:45, Room 2.A.10 The Resource Description Framework RDF Trust Proof Logic Ontology vocabulary RDF + RDF Schema XML + NS + XML Schema Unicode

More information

Semantic Web Fundamentals

Semantic Web Fundamentals Semantic Web Fundamentals Web Technologies (706.704) 3SSt VU WS 2017/18 Vedran Sabol with acknowledgements to P. Höfler, V. Pammer, W. Kienreich ISDS, TU Graz December 11 th 2017 Overview What is Semantic

More information

Semantic Web Fundamentals

Semantic Web Fundamentals Semantic Web Fundamentals Web Technologies (706.704) 3SSt VU WS 2018/19 with acknowledgements to P. Höfler, V. Pammer, W. Kienreich ISDS, TU Graz January 7 th 2019 Overview What is Semantic Web? Technology

More information

RDF & RDF QUERY LANGUAGES BUILDING BLOCKS FOR THE SEMANTIC WEB

RDF & RDF QUERY LANGUAGES BUILDING BLOCKS FOR THE SEMANTIC WEB RDF & RDF QUERY LANGUAGES BUILDING BLOCKS FOR THE SEMANTIC WEB Adam ALTĂR SAMUEL* 1 Alexandru COSTIN 2 Dragoș ENACHE 3 ABSTRACT Although the World Wide Web is a relatively new concept, its expansion and

More information

Harvesting RDF Triples

Harvesting RDF Triples Harvesting RDF Triples Joe Futrelle National Center for Supercomputing Applications 1205 W. Clark St., Urbana IL 61801, US futrelle@uiuc.edu Abstract. Managing scientific data requires tools that can track

More information

Semantic Web and Linked Data

Semantic Web and Linked Data Semantic Web and Linked Data Petr Křemen December 2012 Contents Semantic Web Technologies Overview Linked Data Semantic Web Technologies Overview Semantic Web Technology Stack from Wikipedia. http://wikipedia.org/wiki/semantic_web,

More information

Package rrdf. R topics documented: February 15, Type Package

Package rrdf. R topics documented: February 15, Type Package Type Package Package rrdf February 15, 2013 Title rrdf - support for the Resource Framework Version 1.9.2 Date 2012-11-30 Author Maintainer Depends

More information

DC-Text - a simple text-based format for DC metadata

DC-Text - a simple text-based format for DC metadata DC-Text - a simple text-based format for DC metadata Pete Johnston Eduserv Foundation Tel: +44 1225 474323 pete.johnston@eduserv.org.uk Andy Powell Eduserv Foundation Tel: +44 1225 474319 andy.powell@eduserv.org.uk

More information

COMP20008 Elements of Data Processing. Week 1: Lecture 2. Data format and storage

COMP20008 Elements of Data Processing. Week 1: Lecture 2. Data format and storage COMP20008 Elements of Data Processing Week 1: Lecture 2 Data format and storage Announcements Lecture recordings Lecture Capture: Current Technical Issue. There are currently long delays in processing

More information

Introduction to a Web of Linked Data

Introduction to a Web of Linked Data Introduction to a Web of Linked Data Week 3: SPARQL Query Language Accessing Data Sources on the Web Olivier Corby Week 3: SPARQL Query Language Query RDF triple stores published on the Web 1 Week 3: SPARQL

More information

Introduction to Semantic Web Databases. Version 1 Prepared By: Amgad Madkour Ph.D. Candidate Purdue University April 2018

Introduction to Semantic Web Databases. Version 1 Prepared By: Amgad Madkour Ph.D. Candidate Purdue University April 2018 Introduction to Semantic Web Databases Version 1 Prepared By: Amgad Madkour Ph.D. Candidate Purdue University April 2018 Semantic Web Motivation Represents the next generation of the the world wide web

More information

Filter: Evaluable Expression. List Syntax. Tests. Filter: Evaluable Expression. Tests : functions. Tests 06/09/2013. (1?x v )

Filter: Evaluable Expression. List Syntax. Tests. Filter: Evaluable Expression. Tests : functions. Tests 06/09/2013. (1?x v ) SPARQL 2 W3C RDF Data Access SPARQL W3C Simple Protocol And RDF Query Language olivier.corby@inria.fr Use Case and Requirements : http://www.w3.org/tr/rdf-dawg-uc Query language : http://www.w3.org/tr/rdf-sparql-query

More information

BIOLOGICAL PATHWAYS AND THE SEMANTIC WEB

BIOLOGICAL PATHWAYS AND THE SEMANTIC WEB BIOLOGICAL PATHWAYS AND THE SEMANTIC WEB Andra Waagmeester, Tina Kutmon, Egon Willighagen, and Alex Pico Univ. Maastricht, NL, and Gladstone Institutes, CA, USA What we will talk about today Introduc*on

More information

Making BioPAX SPARQL

Making BioPAX SPARQL Making BioPAX SPARQL hands on... start a terminal create a directory jena_workspace, move into that directory download jena.jar (http://tinyurl.com/3vlp7rw) download biopax data (http://www.biopax.org/junk/homosapiens.nt

More information

Quang Vu DANG. Computer Science Department Institut Telecom SudParis

Quang Vu DANG. Computer Science Department Institut Telecom SudParis Visualizing contributions in a forge Case study on PicoForge Quang Vu DANG Computer Science Department Institut Telecom SudParis Plan Introduction Semantic Web standards Visualizing contributions in a

More information

O N T O P E D I A. The Identity of Everything. Subject Identity. Steve Pepper. INF5909,

O N T O P E D I A. The Identity of Everything. Subject Identity. Steve Pepper. INF5909, Subject Identity Steve Pepper pepper.steve@gmail.com INF5909, 2009-02-23 Agenda Merging in Topic Maps The Importance of Identity The Topic Maps Approach to Identity The Identity Crisis of the Web Published

More information

Mustafa Jarrar: Lecture Notes on RDF Schema Birzeit University, Version 3. RDFS RDF Schema. Mustafa Jarrar. Birzeit University

Mustafa Jarrar: Lecture Notes on RDF Schema Birzeit University, Version 3. RDFS RDF Schema. Mustafa Jarrar. Birzeit University Mustafa Jarrar: Lecture Notes on RDF Schema Birzeit University, 2018 Version 3 RDFS RDF Schema Mustafa Jarrar Birzeit University 1 Watch this lecture and download the slides Course Page: http://www.jarrar.info/courses/ai/

More information

Logical reconstruction of RDF and ontology languages

Logical reconstruction of RDF and ontology languages Logical reconstruction of RDF and ontology languages Jos de Bruijn 1, Enrico Franconi 2, and Sergio Tessaris 2 1 Digital Enterprise Research Institute, University of Innsbruck, Austria jos.debruijn@deri.org

More information

D-RDF: Dynamic Resource Description Framework

D-RDF: Dynamic Resource Description Framework Retrospective Theses and Dissertations 2007 D-RDF: Dynamic Resource Description Framework Kamna Jain Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/rtd Part of the

More information

Flat triples approach to RDF graphs in JSON

Flat triples approach to RDF graphs in JSON Flat triples approach to RDF graphs in JSON Dominik Tomaszuk Institute of Computer Science, University of Bialystok, Poland Abstract. This paper describes a syntax that can be used to write Resource Description

More information

Programming THE SEMANTIC WEB. Build an application upon Semantic Web models. Brief overview of Apache Jena and OWL-API.

Programming THE SEMANTIC WEB. Build an application upon Semantic Web models. Brief overview of Apache Jena and OWL-API. Programming THE SEMANTIC WEB Build an application upon Semantic Web models. Brief overview of Apache Jena and OWL-API. Recap: Tools Editors (http://semanticweb.org/wiki/editors) Most common editor: Protégé

More information

A Deductive System for Annotated RDFS

A Deductive System for Annotated RDFS A Deductive System for Annotated RDFS DERI Institute Meeting Umberto Straccia Nuno Lopes Gergely Lukácsy Antoine Zimmermann Axel Polleres Presented by: Nuno Lopes May 28, 2010 Annotated RDFS Example Annotated

More information

Finding Similarity and Comparability from Merged Hetero Data of the Semantic Web by Using Graph Pattern Matching

Finding Similarity and Comparability from Merged Hetero Data of the Semantic Web by Using Graph Pattern Matching Finding Similarity and Comparability from Merged Hetero Data of the Semantic Web by Using Graph Pattern Matching Hiroyuki Sato, Kyoji Iiduka, Takeya Mukaigaito, and Takahiko Murayama Information Sharing

More information