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

Size: px
Start display at page:

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

Transcription

1 ه عا ی Semantic Web Querying on the Web: XQuery, RDQL, SparQL Morteza Amini Sharif University of Technology Fall 94-95

2 Outline XQuery Querying on XML Data RDQL Querying on RDF Data SparQL Another RDF query language 2

3 Outline XQuery Querying on XML Data RDQL SparQL 3

4 Requirements for an XML Query Language David Maier, W3C XML Query Requirements: Closedness: output must be XML Composability: wherever a set of XML elements is required, a subquery is allowed as well Can benefit from a schema, but should also be applicable without Retains the order of nodes 4

5 How Does One Design a Query Language? In most query languages, there are two aspects to a query: Retrieving data (e.g., from where in SQL) Creating output (e.g., select in SQL) Retrieval consists of Pattern matching (e.g., from ) Filtering (e.g., where ) although these cannot always be clearly distinguished 5

6 XQuery Principles XQuery is a language for querying XML documents. It is built on Xpath expressions and its data model is identical with the XPath data model: documents are ordered, labelled trees nodes have identity nodes can have simple or complex types (defined in XML Schema) XQuery can be used without schemas, but can be checked against DTDs and XML schemas. XQuery is a functional language no statements evaluation of expressions XQuery for XML is like SQL for databases. XQuery is supported by all major DBMSs. 6

7 Sample XML Structure <?xml version= 1.0 > <collection xmlns:= xmlns:xsi= > <description>.. </description> <recipe> <title> </title> <ingredient name= amount= unit= calories= /> <ingredient name= amount= unit= calories= /> <preparation> <step>. </step> <step>. </step> </preparation> <nutrition calories= /> <comment>. </comment> </recipe> <recipe> </recipe> </collection> 7

8 Sample XML Data 8

9 A Query over the Recipes Document <titles> {for $r in doc("recipes.xml")//recipe return $r/title} </titles> returns <titles> <title>beef Parmesan with Garlic Angel Hair Pasta</title> <title>ricotta Pie</title> </titles> 9

10 Query Features Part to be returned as it is given {To be evaluated} <titles> doc(string) returns input document {for $r in doc("recipes.xml")//recipe return $r/title} Iteration $var - variables XPath </titles> Sequence of results, one for each variable binding 10

11 Features: Summary The result is a new XML document. A query consists of parts that are returned as is.... and others that are evaluated (everything in {...} ) Calling the function doc(string) returns an input document. XPath is used to retrieve nodes sets and values Iteration over node sets: binds a variable to all nodes in a node set Variables can be used in XPath expressions. return returns a sequence of results, one for each binding of a variable. 11

12 XPath is a Fragement of XQuery doc("recipes.xml")//recipe[1]/title returns <title>beef Parmesan with Garlic Angel Hair Pasta</title> an element doc("recipes.xml")//recipe[position()<=3] /title returns <title>beef Parmesan with Garlic Angel Hair Pasta</title>, <title>ricotta Pie</title>, <title>linguine Pescadoro</title> a list of elements 12

13 Beware: XPath Attributes doc("recipes.xml")//recipe[1]/ingredient[1] attribute name {"beef cube steak"} a constructor for an attribute node string(doc("recipes.xml")//recipe[1] /ingredient[1]/@name) "beef cube steak" a value of type string 13

14 XPath Attributes (2) <first-ingredient> {string(doc("recipes.xml")//recipe[1] </first-ingredient> <first-ingredient>beef cube steak</first-ingredient> an element with string content 14

15 XPath Attributes (3) <first-ingredient> {doc("recipes.xml")//recipe[1] </first-ingredient> <first-ingredient name="beef cube steak"/> an element with an attribute 15

16 XPath Attributes (4) <first-ingredient oldname="{doc( recipes.xml )//recipe[1] Beef </first-ingredient> <first-ingredient oldname="beef cube steak"> Beef </first-ingredient> An attribute is cast as a string 16

17 Conditional Expressions Syntax: if (condition) then expr else expr Parentheses around the if expression are required. else is required, but it can be just else () Example: for $r in doc("recipes.xml")//recipe return if oil") then $r//title else () 17

18 Comparisons Two ways of comparing values. General comparisons: =,!=, <, <=, >, >= Value comparisons: eq, ne, lt, le, gt, ge Difference is as follows: > 300) returns true if any calories attributes have a value greater than 300. ($r//nutrition/@calories gt 300) returns true if there is only one calories attribute returned by the expression and its value is greater than 300. If more than one is returned, an error occurs. 18

19 Iteration with the For-Clause Syntax: for $var in exp Example: for $r in doc("recipes.xml")//recipe return ($r/title) The expression exp creates a list of bindings for a variable $var For-clauses can be nested: for $r in doc("recipes.xml")//recipe for $v in doc("vegetables.xml")//vegetable return... 19

20 Nested For-Clauses: Example <my-recipes> {for $r in doc("recipes.xml")//recipe return <my-recipe title="{$r/title}"> {for $i in $r//ingredient return <my-ingredient> </my-ingredient> } </my-recipe> } </my-recipes> Returns my-recipes with titles as attributes and my-ingredients with names as text content 20

21 The Let Clause Syntax: let $var := xpath-expr Binds variable $var to a list of nodes, with the nodes in document order. Does not iterate over the list, Allows one to keep intermediate results for reuse. Example: let $ooreps := doc("recipes.xml")//recipe [.//ingredient/@name="olive oil"] 21

22 Let Clause: Example <calory-content> {let $ooreps := doc("recipes.xml")//recipe oil"] for $r in $ooreps return <calories> {$r/title/text()} {": "} </calories>} </calory-content> Calories of recipes with olive oil Note the implicit string concatenation 22

23 Let Clause: Example (cntd.) The query returns: <calory-content> <calories>beef Parmesan: 1167</calories> <calories>linguine Pescadoro: 532</calories> </calory-content> 23

24 The Where Clause Syntax: where <condition> occurs before return clause similar to predicates in XPath Example: for $r in doc("recipes.xml")//recipe where oil" return... 24

25 The Order By Clause Syntax: order by expr [ascending descending] Defines the sort-order. Example: for $iname in order by $iname descending return string($iname) yields "whole peppercorns", "whole baby clams", "white sugar",... 25

26 The Order By Clause (cntd.) for $r in doc("recipes.xml")//recipe order by return $r/title Note: The query returns titles, but the ordering is according to calories, which do not appear in the output. 26

27 Quantifiers Syntax: some/every $var in node-set satisfies expr $var is bound to all nodes in node-set. Test succeeds if expr is true for some/every binding. Note: if node-set is empty, then some is false and every is true. 27

28 Quantifiers (Example) Recipes that have some ingredient with calories more than 300. for $r in doc("recipes.xml")//recipe where some $i in $r/ingredient satisfies gt 300 return $r/title Recipes where every ingredient has calories less than 300. for $r in doc("recipes.xml")//recipe where every $i in $r/ingredient satisfies lt 300 return $r/title 28

29 Element Fusion (1) To every recipe, add the attribute calories! <result> {let $rs := doc("recipes.xml")//recipe for $r in $rs return <recipe> {$r/title} </recipe>} an element an attribute </result> 29

30 Element Fusion (2) The query result: <result> <recipe calories="1167"> <title>beef Parmesan with Garlic Angel Hair Pasta</title> </recipe> <recipe calories="349"> <title>ricotta Pie</title> </recipe> <recipe calories="532"> <title>linguine Pescadoro</title> </recipe> </result> 30

31 Eliminating Duplicates The function distinct-values(node Set) extracts the values of a sequence of nodes creates a duplicate free sequence of values Note the coercion: nodes are cast as values! Example: let $rs := doc("recipes.xml")//recipe return distinct-values($rs//ingredient/@name) yields beef cube steak onion, sliced into thin rings... 31

32 Grouping and Aggregation Aggregation functions count, sum, avg, min, max Example: The number of simple ingredients per recipe for $r in doc("recipes.xml")//recipe return <number> {attribute {"title"} {$r/title/text()}} {count($r//ingredient[not(ingredient)])} </number> 32

33 Grouping and Aggregation (cntd.) The query result: <number title="beef Parmesan with Garlic Angel Hair Pasta">11</number>, <number title="ricotta Pie">12</number>, <number title="linguine Pescadoro">15</number>, <number title="zuppa Inglese">8</number>, <number title="cailles en Sarcophages">30</number> 33

34 Nested Aggregation The recipe with the maximal number of calories! let $rs := doc("recipes.xml")//recipe let $maxcal := for $r in $rs where = $maxcal return string($r/title) returns "Cailles en Sarcophages" 34

35 Running Queries with Galax Galax is an open-source implementation of XQuery ( The main developers have taken part in the definition of XQuery 35

36 Outline XQuery RDQL Querying on RDF Data SparQL 36

37 Introduction RDF Data Query Language JDBC/ODBC friendly Simple: SELECT FROM WHERE AND USING some information somewhere this match these constraints these vocabularies 37

38 Example 38

39 SELECT, FROM, WHERE The SELECT portion indicates which RDQL variables should be returned by the query. Variables are shown in form of?var The FROM part indicates the RDF sources to be queried. Each source is enclosed by angle brackets (< >). More than one sources are separated using commas. The WHERE part indicates the constraints that RDF triples must accomplish in order to be returned. 39

40 Example The query: SELECT?x FROM <doc.rdf> WHERE (?x, < "John Smith") returns: x ============================= < 40

41 Example Return all the resources that have property FN and the associated values: SELECT?x,?fname FROM <doc.rdf> WHERE (?x, < The outcome is: x fname ================================================ < "John Smith" < "Sarah Jones" < "Matt Jones" 41

42 Example Return the given name of Jones (which is a family): SELECT?givenName FROM <doc.rdf> WHERE (?y, < "Jones") (?y, < The outcome is: givenname ========= "Matthew" "Sarah" 42

43 URI Prefixes : USING RDQL has a syntactic convenience that allows prefix strings to be defined in the USING clause. Syntax: prefix FOR namespace SELECT?x WHERE (?x, vcard:fn, "John Smith") USING vcard FOR < SELECT?givenName WHERE (?y, vcard:family, "Smith") (?y, vcard:given,?givenname) USING vcard FOR < 43

44 Filters Using AND part, the constraints on RDQL variables can be defined. SELECT?resource WHERE (?resource, info:age,?age) AND?age >= 25,?age < 50 USING info FOR < 44

45 Another Example SELECT?title?description?orbit?satellite?sensor?date FROM < WHERE (?item, <dc:title>,?title) (?item, <dc:description>,?description) (?item, <isc:orbit>,?orbit) (?item, <isc:satellite>,?satellite) (?item, <isc:sensor>,?sensor) (?item, <dc:date>,?date) USING isc FOR < dc FOR < rdf FOR < rdfs FOR < 45

46 Implementations Jena Sesame RDFStore 46

47 Limitation Does not take into account semantics of RDFS. For example: ex:human rdfs:subclassof ex:animal ex:student rdfs:subclassof ex:human ex:john rdf:type ex:student Query: To which class does the resource John belong? Expected answer: ex:student, ex:human, ex:animal However, the query: SELECT?x WHERE (< rdf:type,?x) USING rdf FOR < Yields only: < Solution: Inference Engines 47

48 Outline XQuery RDQL SparQL Another RDF query language 48

49 Introduction An RDF query language developed by W3C. Builds on previous RDF query languages such as rdfdb, RDQL, and SeRQL. 49

50 Example RDF 50

51 Example (1) Simple Query: PREFIX foaf: < SELECT?url FROM <bloggers.rdf> WHERE {?contributor foaf:name "Jon Foobar".?contributor foaf:weblog?url. } 51

52 Term Constraints Restricting the Values of Strings: PREFIX foaf: < SELECT?name?depiction WHERE {?person foaf:name?name. FILTER regex (?name, Ali ) } 52

53 Term Constraints Restricting Numeric Values: PREFIX foaf: < SELECT?name?depiction WHERE {?person foaf:name?age. FILTER (?age > 50 ) } 53

54 Optional Values Optional block: SPARQL has a the ability to query for data but not to fail query when that data does not exist. E.g.,?mbox in the following example. PREFIX foaf: < SELECT?name?mbox WHERE {?person foaf:name?name. OPTIONAL {?person foaf:mbox?mbox. } } 54

55 Example (3) Alternative matches: one of a number of possibilities is tried. PREFIX foaf: < PREFIX rdf: < SELECT?name?mbox WHERE {?person foaf:name?name. { {?person foaf:mbox?mbox } UNION {?person foaf:mbox_sha1sum?mbox } } } There are many other features in SparQL. Refer to references for more information. 55

56 References A Programmer's Introduction to RDQL

57 Any Question... 57

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

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

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

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

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

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

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

infoh509 xml & web technologies lecture 9: sparql Stijn Vansummeren February 14, 2017

infoh509 xml & web technologies lecture 9: sparql Stijn Vansummeren February 14, 2017 infoh509 xml & web technologies lecture 9: sparql Stijn Vansummeren February 14, 2017 what have we gained? Current no structure Future structured by RDF (subject, predicate, object) b:genome b:field b:molecular-bio

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

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 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

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

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

Implementing and extending SPARQL queries over DLVHEX

Implementing and extending SPARQL queries over DLVHEX 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 How to solve

More information

Semantic Web. Repositories. Copyright 2009 Dieter Fensel and Federico Facca

Semantic Web. Repositories. Copyright 2009 Dieter Fensel and Federico Facca Semantic Web Repositories Copyright 2009 Dieter Fensel and Federico Facca 1 Where are we? # Title 1 Introduction 2 Semantic Web architecture 3 Resource Description Framework 4 Semantic Web of hypertext

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

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

XML Data Management. 6. XPath 1.0 Principles. Werner Nutt

XML Data Management. 6. XPath 1.0 Principles. Werner Nutt XML Data Management 6. XPath 1.0 Principles Werner Nutt 1 XPath Expressions and the XPath Document Model XPath expressions are evaluated over documents XPath operates on an abstract document structure

More information

XQuery. Leonidas Fegaras University of Texas at Arlington. Web Databases and XML L7: XQuery 1

XQuery. Leonidas Fegaras University of Texas at Arlington. Web Databases and XML L7: XQuery 1 XQuery Leonidas Fegaras University of Texas at Arlington Web Databases and XML L7: XQuery 1 XQuery Influenced by SQL Based on XPath Purely functional language may access elements from documents, may construct

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

Storage and Querying

Storage and Querying Semantic Web WS 2017/18 Storage and Querying Anna Fensel 06.11.2017 Copyright 2010 2016 Dieter Fensel, Federico Facca, Ioan Toma, and Anna Fensel 1 Where are we? # Title 1 Introduction 2 Semantic Web Architecture

More information

INFO216: Advanced Modelling

INFO216: Advanced Modelling INFO216: Advanced Modelling Theme, spring 2018: Modelling and Programming the Web of Data Andreas L. Opdahl Session 3: SPARQL Themes: introducing SPARQL Update SPARQL 1.1 Update

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

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

Author: Irena Holubová Lecturer: Martin Svoboda

Author: Irena Holubová Lecturer: Martin Svoboda A7B36XML, AD7B36XML XML Technologies Lecture 4 XPath, SQL/XML 24. 3. 2017 Author: Irena Holubová Lecturer: Martin Svoboda http://www.ksi.mff.cuni.cz/~svoboda/courses/2016-2-a7b36xml/ Lecture Outline XPath

More information

Advanced Database Technologies XQuery

Advanced Database Technologies XQuery Advanced Database Technologies XQuery Christian Grün Database & Information Systems Group Introduction What is XQuery? query language (more than a) counterpart to SQL functional language general purpose

More information

Progress Report on XQuery

Progress Report on XQuery Progress Report on XQuery Don Chamberlin Almaden Research Center May 24, 2002 History Dec. '98: W3C sponsors workshop on XML Query Oct. '99: W3C charters XML Query working group Chair: Paul Cotton About

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

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

Introduction to XQuery. Overview. Basic Principles. .. Fall 2007 CSC 560: Management of XML Data Alexander Dekhtyar..

Introduction to XQuery. Overview. Basic Principles. .. Fall 2007 CSC 560: Management of XML Data Alexander Dekhtyar.. .. Fall 2007 CSC 560: Management of XML Data Alexander Dekhtyar.. Overview Introduction to XQuery XQuery is an XML query language. It became a World Wide Web Consortium Recommendation in January 2007,

More information

Semantic Web Systems Linked Open Data Jacques Fleuriot School of Informatics

Semantic Web Systems Linked Open Data Jacques Fleuriot School of Informatics Semantic Web Systems Linked Open Data Jacques Fleuriot School of Informatics 9 th February 2015 In the previous lecture l Querying with XML Basic idea: search along paths in an XML tree e.g. path expression:

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

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

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

Three Implementations of SquishQL, a Simple RDF Query Language

Three Implementations of SquishQL, a Simple RDF Query Language Three Implementations of SquishQL, a Simple RDF Query Language Libby Miller 1, Andy Seaborne 2, and Alberto Reggiori 3 1 ILRT, Bristol University, UK libby.miller@bristol.ac.uk 2 Hewlett-Packard Laboratories,

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

12. MS Access Tables, Relationships, and Queries

12. MS Access Tables, Relationships, and Queries 12. MS Access Tables, Relationships, and Queries 12.1 Creating Tables and Relationships Suppose we want to build a database to hold the information for computers (also refer to parts in the text) and suppliers

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

XML Query Languages. Yanlei Diao UMass Amherst April 22, Slide content courtesy of Ramakrishnan & Gehrke, Donald Kossmann, and Gerome Miklau

XML Query Languages. Yanlei Diao UMass Amherst April 22, Slide content courtesy of Ramakrishnan & Gehrke, Donald Kossmann, and Gerome Miklau XML Query Languages Yanlei Diao UMass Amherst April 22, 2008 Slide content courtesy of Ramakrishnan & Gehrke, Donald Kossmann, and Gerome Miklau 1 Querying XML How do you query a directed graph? a tree?

More information

Parte IV: XPATH. Prof. Riccardo Torlone

Parte IV: XPATH. Prof. Riccardo Torlone BASI DI DATI II 2 modulo Parte IV: XPATH Prof. Riccardo Torlone Università Roma Tre Outline Location steps and paths Typical locations paths Abbreviations General expressions Riccardo Torlone: Basi di

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

OLAP over Federated RDF Sources

OLAP over Federated RDF Sources OLAP over Federated RDF Sources DILSHOD IBRAGIMOV, KATJA HOSE, TORBEN BACH PEDERSEN, ESTEBAN ZIMÁNYI. Outline o Intro and Objectives o Brief Intro to Technologies o Our Approach and Progress o Future Work

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

XML and Semi-structured Data

XML and Semi-structured Data XML and Semi-structured Data Krzysztof Trawiński Winter Semester 2008 slides 1/27 Outline 1. Introduction 2. Usage & Design 3. Expressions 3.1 Xpath 3.2 Datatypes 3.3 FLWOR 4. Functions 5. Summary 6. Questions

More information

Querying XML Documents. Organization of Presentation

Querying XML Documents. Organization of Presentation Querying XML Documents Paul Cotton, Microsoft Canada University of Waterloo Feb 1, 2002 1 Organization of Presentation XML query history XML Query WG history, goals and status XML Query working drafts

More information

XML. Semi-structured data (SSD) SSD Graphs. SSD Examples. Schemas for SSD. More flexible data model than the relational model.

XML. Semi-structured data (SSD) SSD Graphs. SSD Examples. Schemas for SSD. More flexible data model than the relational model. Semi-structured data (SSD) XML Semistructured data XML, DTD, (XMLSchema) XPath, XQuery More flexible data model than the relational model. Think of an object structure, but with the type of each object

More information

XML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9

XML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9 XML databases Jan Chomicki University at Buffalo Jan Chomicki (University at Buffalo) XML databases 1 / 9 Outline 1 XML data model 2 XPath 3 XQuery Jan Chomicki (University at Buffalo) XML databases 2

More information

Big Data Exercises. Fall 2016 Week 9 ETH Zurich

Big Data Exercises. Fall 2016 Week 9 ETH Zurich Big Data Exercises Fall 2016 Week 9 ETH Zurich Introduction This exercise will cover XQuery. You will be using oxygen (https://www.oxygenxml.com/xml_editor/software_archive_editor.html), AN XML/JSON development

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

CS 582 Database Management Systems II

CS 582 Database Management Systems II Review of SQL Basics SQL overview Several parts Data-definition language (DDL): insert, delete, modify schemas Data-manipulation language (DML): insert, delete, modify tuples Integrity View definition

More information

XML: Extensible Markup Language

XML: Extensible Markup Language XML: Extensible Markup Language CSC 375, Fall 2015 XML is a classic political compromise: it balances the needs of man and machine by being equally unreadable to both. Matthew Might Slides slightly modified

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

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

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

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

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

Ontological Modeling: Part 2

Ontological Modeling: Part 2 Ontological Modeling: Part 2 Terry Halpin LogicBlox This is the second in a series of articles on ontology-based approaches to modeling. The main focus is on popular ontology languages proposed for the

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

XQ: An XML Query Language Language Reference Manual

XQ: An XML Query Language Language Reference Manual XQ: An XML Query Language Language Reference Manual Kin Ng kn2006@columbia.edu 1. Introduction XQ is a query language for XML documents. This language enables programmers to express queries in a few simple

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

Slide Find the subclasses of MotorVehicle 2. Find the subclasses of MiniVan 3. Find the superclasses of MiniVan

Slide Find the subclasses of MotorVehicle 2. Find the subclasses of MiniVan 3. Find the superclasses of MiniVan Slide 11 1. Find the subclasses of MotorVehicle?x rdfs:subclassof ns:motorvehicle 2. Find the subclasses of MiniVan?x rdfs:subclassof ex:minivan (rdfs:subclassof

More information

The Semantic Web. What is the Semantic Web?

The Semantic Web. What is the Semantic Web? The Semantic Web Alun Preece Computing Science, University of Aberdeen (from autumn 2007: School of Computer Science, Cardiff University) What is the Semantic Web, and why do we need it now? How does the

More information

SQL Data Querying and Views

SQL Data Querying and Views Course A7B36DBS: Database Systems Lecture 04: SQL Data Querying and Views Martin Svoboda Faculty of Electrical Engineering, Czech Technical University in Prague Outline SQL Data manipulation SELECT queries

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

SEMANTIC WEB TECHNOLOGIES:

SEMANTIC WEB TECHNOLOGIES: SEMANTIC WEB TECHNOLOGIES: FUNDAMENTALS, TOOLS, CASES AND BEST PRACTICES Luka Pavlič University of Maribor Faculty of Electrical Engineering and Computer Science Johannes Kepler Universität Linz, October

More information

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML CSI 3140 WWW Structures, Techniques and Standards Representing Web Data: XML XML Example XML document: An XML document is one that follows certain syntax rules (most of which we followed for XHTML) Guy-Vincent

More information

FedX: Optimization Techniques for Federated Query Processing on Linked Data. ISWC 2011 October 26 th. Presented by: Ziv Dayan

FedX: Optimization Techniques for Federated Query Processing on Linked Data. ISWC 2011 October 26 th. Presented by: Ziv Dayan FedX: Optimization Techniques for Federated Query Processing on Linked Data ISWC 2011 October 26 th Presented by: Ziv Dayan Andreas Schwarte 1, Peter Haase 1, Katja Hose 2, Ralf Schenkel 2, and Michael

More information

Aperçu de SPARQL. Exemples tirés

Aperçu de SPARQL. Exemples tirés Aperçu de SPARQL Exemples tirés https://www.w3.org/tr/2013/rec-sparql11-query-20130321/ 1 1 Requête simple Un premier exemple dont les parties seront détaillées par la suite. Données @prefix foaf: .

More information

XML and Semantic Web Technologies. III. Semantic Web / 1. Ressource Description Framework (RDF)

XML and Semantic Web Technologies. III. Semantic Web / 1. Ressource Description Framework (RDF) XML and Semantic Web Technologies XML and Semantic Web Technologies III. Semantic Web / 1. Ressource Description Framework (RDF) Prof. Dr. Dr. Lars Schmidt-Thieme Information Systems and Machine Learning

More information

Oracle Database 11g: SQL and PL/SQL Fundamentals

Oracle Database 11g: SQL and PL/SQL Fundamentals Oracle University Contact Us: +33 (0) 1 57 60 20 81 Oracle Database 11g: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn In this course, students learn the fundamentals of SQL and PL/SQL

More information

SPARQL. Part III. Jan Pettersen Nytun, UiA

SPARQL. Part III. Jan Pettersen Nytun, UiA ARQL Part III Jan Pettersen Nytun, UiA 1 Agenda P Example with: - RDER BY - UM Example continues with: - GRUP BY - GRUP BY together with UM Example continues with: - HAVING - BIND - CNCAT New example with:

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

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

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

Functional Programming. Pure Functional Languages

Functional Programming. Pure Functional Languages Functional Programming Pure functional PLs S-expressions cons, car, cdr Defining functions read-eval-print loop of Lisp interpreter Examples of recursive functions Shallow, deep Equality testing 1 Pure

More information

Control Structures. CIS 118 Intro to LINUX

Control Structures. CIS 118 Intro to LINUX Control Structures CIS 118 Intro to LINUX Basic Control Structures TEST The test utility, has many formats for evaluating expressions. For example, when given three arguments, will return the value true

More information

Lecture 3 SQL. Shuigeng Zhou. September 23, 2008 School of Computer Science Fudan University

Lecture 3 SQL. Shuigeng Zhou. September 23, 2008 School of Computer Science Fudan University Lecture 3 SQL Shuigeng Zhou September 23, 2008 School of Computer Science Fudan University Outline Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views

More information

Functional Programming. Pure Functional Languages

Functional Programming. Pure Functional Languages Functional Programming Pure functional PLs S-expressions cons, car, cdr Defining functions read-eval-print loop of Lisp interpreter Examples of recursive functions Shallow, deep Equality testing 1 Pure

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 27-1 Slide 27-1 Chapter 27 XML: Extensible Markup Language Chapter Outline Introduction Structured, Semi structured, and Unstructured Data. XML Hierarchical (Tree) Data Model. XML Documents, DTD, and XML Schema.

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

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

EMERGING TECHNOLOGIES

EMERGING TECHNOLOGIES EMERGING TECHNOLOGIES XML (Part 3): XQuery Outline 1. Introduction 2. Structure of XML data 3. XML Document Schema 3.1. Document Type Definition (DTD) 3.2. XMLSchema 4. Data Model for XML documents. 5.

More information

CSC Web Programming. Introduction to SQL

CSC Web Programming. Introduction to SQL CSC 242 - Web Programming Introduction to SQL SQL Statements Data Definition Language CREATE ALTER DROP Data Manipulation Language INSERT UPDATE DELETE Data Query Language SELECT SQL statements end with

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

SQL: Data Querying. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 4

SQL: Data Querying. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 4 B0B36DBS, BD6B36DBS: Database Systems h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 4 SQL: Data Querying Mar n Svoboda mar n.svoboda@fel.cvut.cz 20. 3. 2018 Czech Technical University

More information

Semantic Web. RDF and RDF Schema. Morteza Amini. Sharif University of Technology Spring 90-91

Semantic Web. RDF and RDF Schema. Morteza Amini. Sharif University of Technology Spring 90-91 بسمه تعالی Semantic Web RDF and RDF Schema Morteza Amini Sharif University of Technology Spring 90-91 Outline Metadata RDF RDFS RDF(S) Tools 2 Semantic Web: Problems (1) Too much Web information around

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

Chapter 7. Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel

Chapter 7. Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel 1 In this chapter, you will learn: The basic commands

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

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

SPARQL By Example: The Cheat Sheet

SPARQL By Example: The Cheat Sheet SPARQL By Example: The Cheat Sheet Accompanies slides at: http://www.cambridgesemantics.com/semantic-university/sparql-by-example Comments & questions to: Lee Feigenbaum VP

More information

Full file at

Full file at David Kroenke's Database Processing: Fundamentals, Design and Implementation (10 th Edition) CHAPTER TWO INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) True-False Questions 1. SQL stands for Standard

More information

Documentation for LISP in BASIC

Documentation for LISP in BASIC Documentation for LISP in BASIC The software and the documentation are both Copyright 2008 Arthur Nunes-Harwitt LISP in BASIC is a LISP interpreter for a Scheme-like dialect of LISP, which happens to have

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

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the fundamentals of SQL and PL/SQL along with the

More information

Information Systems. XQuery. Nikolaj Popov

Information Systems. XQuery. Nikolaj Popov Information Systems XQuery Nikolaj Popov Research Institute for Symbolic Computation Johannes Kepler University of Linz, Austria popov@risc.uni-linz.ac.at What Is XQuery The purpose of XQuery is to provide

More information

Outline RDF. RDF Schema (RDFS) RDF Storing. Semantic Web and Metadata What is RDF and what is not? Why use RDF? RDF Elements

Outline RDF. RDF Schema (RDFS) RDF Storing. Semantic Web and Metadata What is RDF and what is not? Why use RDF? RDF Elements Knowledge management RDF and RDFS 1 RDF Outline Semantic Web and Metadata What is RDF and what is not? Why use RDF? RDF Elements RDF Schema (RDFS) RDF Storing 2 Semantic Web The Web today: Documents for

More information

PGQL 0.9 Specification

PGQL 0.9 Specification PGQL 0.9 Specification Table of Contents Table of Contents Introduction Basic Query Structure Clause Topology Constraint Repeated Variables in Multiple Topology Constraints Syntactic Sugars for Topology

More information

Publishing Student Graduation Projects Based on the Semantic Web Technologies

Publishing Student Graduation Projects Based on the Semantic Web Technologies TRANSACTIONS ON MACHINE LEARNING AND ARTIFICIAL INTELLIGENCE SOCIETY FOR SCIENCE AND EDUCATION UNITED KINGDOM Volume 6 No. 1 ISSN 2054-7390 Publishing Student Graduation Projects Based on the Semantic

More information

Solution Sheet 5 XML Data Models and XQuery

Solution Sheet 5 XML Data Models and XQuery The Systems Group at ETH Zurich Big Data Fall Semester 2012 Prof. Dr. Donald Kossmann Prof. Dr. Nesime Tatbul Assistants: Martin Kaufmann Besmira Nushi 07.12.2012 Solution Sheet 5 XML Data Models and XQuery

More information