SQL, XQuery, and SPARQL:Making the Picture Prettier
|
|
- Robyn Mitchell
- 6 years ago
- Views:
Transcription
1 SQL, XQuery, and SPARQL:Making the Picture Prettier Jim Melton, Oracle Corporation, Copyright 2007 Oracle, Introduction Last year, we asked what s wrong with this picture? regarding the existence of three apparently overlapping query languages: SQL, XQuery, and SPARQL. Our somewhat reluctant answer to the question was that there was essentially nothing wrong because each of the three languages (and their corresponding data models) served specific purposes better than the two alternatives. This year, our research has been aimed at making the picture prettier that is, accepting our earlier conclusions and finding practical ways to make the situation work well at minimal development costs. In early 2006, the World Wide Web Consortium (W3C ) published three Candidate Recommendation documents [SPARQL-L], [SPARQL-P], and [SPARQL-R] defining a new query language called SPARQL. That new language was described as a query language for getting information from RDF graphs (that is, SPARQL is an RDF query language), which seemed on the surface to be a new technology requirement. Comments raised during the Candidate Recommendation review period resulted in the W3C s Data Access Working Group (DAWG) reverting [SPARQL-L] to Working Draft status for additional work. Recently, the revised specification [SPARQL-L2] was advanced to Last Call Working Draft status, while the other two specifications have been held in the Candidate Recommendation stage awaiting progression of [SPARQL-L2] to Candidate Recommendation. Last year, we acknowledged that SPARQL s existence is justified, but we also identified some areas in which additional research was required before it could be said whether or not practical integration with SQL and/or XQuery was likely. The present paper addresses that subject further. In particular, we indicate how existing investment in persistence technology can be applied to the RDF data model and to implementing the SPARQL language. Data Model Integration Query languages are designed to be applied to data represented in a particular data model. SQL is used to retrieve, create, modify, and delete data represented in (a variation of) the relational model of data. XQuery is used to locate and retrieve data that is represented in the XPath data model, XDM [XDM]. (The ability to update such data is expected to be provided in early 2008.) Our vision is of a world in which applications can query data that is provided in the SQL/relational model, in the XPath Data Model, and in RDF, preferably in a single query expression. This implies that SQL statements must be able to access XML data and RDF data, that XQuery expressions be able to access SQL data and RDF data, and that SPARQL queries be able to access SQL data and XML data. Achieving that vision requires a significant amount of infrastructure. We ve long known that one language can be used to query data represented in a data model other than that for which the language was designed by mapping the data from its native data model into the query language s data model. An important example is SQL/XML [SQL/XML], which allows relational data to be published in an XML form (that is, as an XPath data model instance) that can then be queried using XQuery. SQL/XML also provides a facility (XMLTABLE) that allows XML to be treated as though it were SQL data. Such mappings naturally run into the famous impedance mismatch caused by factors such as the collections of data types differing amongst query languages and their corresponding data models. 1
2 RDF is presented in [RDF-C] as yet another data model a graph data model distinct from the XPath tree-structured data model and from the SQL flat table data model. It is tempting to reject that assertion because of the tuple nature of RDF entities. However, a close examination of [RDF-C] shows subtle but important differences between collections of RDF triples and multisets of rows in SQL tables of three columns. For example, SQL tables are defined to comprise one or more columns, each having a particular declared data type (such as INTEGER, TIMESTAMP, or some user-defined type). Every row in that table has exactly that number of columns and the value of each column in each such row must be of the column s declared type. (Values of user-defined type columns may have a most-specific type that is a subtype of that user-defined type, which is a concept that doesn t apply to columns of SQL s built-in types.) In addition, all of SQL s metadata is essentially structural metadata that is, metadata about the structure of the various tables, about the data types of columns, and so forth and not semantic metadata, information that actually describes meaning of the SQL data. In the SQL model, the data types of columns are captured in various system tables, but very little information about the relationships of those data types is derivable from the system tables. Of course, information from those system tables can be combined with the data in the tables themselves, although the criteria through which such combinations would be meaningful are far from clear. By contrast, a given RDF collection can be augmented by RDF triples expressed using RDF Schema [RDF-S] and OWL [OWL-L] constructs that specify the class to which a given RDF entity belongs. Last year, we investigated whether the use of SQL s user-defined types might offer some way to map such class information from RDF into the SQL model, but the results were discouraging and we have abandoned that line of research. Another important difference arises from the relationships between the metadata associated with each model and the data available under that model. In the SQL environment, data literally cannot exist without metadata the schema. The two are inseparable in theory and in practice. However, in both the XPath data model and in the RDF data model, data may exist independent of any schema describing that data. While the absence of a schema may limit the ways in which the data can be interpreted, it is possible to build XML documents and RDF collections without any schema that describes them. On the World Wide Web, this distinction is especially important, because, unlike in the closed world of a database system, it is impossible for there to be a central point of control at which such metadata can be created...and enforced. Persistence Models The first commercial relational database management systems began to appear about 25 years ago. At the time, data management was dominated by CODASYL and other network DBMSs. The conventional wisdom at the time said that the new low-performance, small-volume systems didn t have a chance against the established base. But the separation of data model from persistence model proved to offer incredible versatility and opportunity for tremendous performance, manageability, scalability, and amount of data. Since then, there have been a number of database system innovations that were hoped to overtake relational systems in the marketplace, such as object-oriented database systems (OODBMS) and the so-called native XML database systems. To date, none have succeeded in doing so (although many of them have found secure niche markets with unique requirements). Instead, the implementers of relational systems have co-opted the new forms of data. The advent of object-relational systems (ORDBMS) responded to the majority of the requirements that led to the development of OODBMSs, and it appears at present that those systems have been successfully extended to handle XML data (XORDBMS) for the large majority of application environments. What, then, should be done about RDF data? RDF, as stated above, defines a graph data model. An important question to consider is this: Are the persistence requirements for graph data models so unique that the persistence engines that have served so well for relational data, object-oriented data, and XML data must be avoided? Or do those engines have sufficient flexibility that they can be used successfully for persisting and managing RDF data, too? We considered the possibility of creating a native RDF storage engine to deal with the graph nature of the RDF data. Such an engine would, no doubt, have some similarities to the CODASYL and other network DBMSs of the 70s. While we realized that there might be some advantages to this approach, we are also highly aware that relational storage engines easily overcame any perceived advantages to such pointer-based systems. Furthermore, development of new database storage engines is burdened by the immense amount of infrastructure required to 2
3 provide truly industrial-strength capabilities that existing relational engines already provide. There would have to be truly overwhelming advantages to a new storage model to justify the expenditures (literally billions of dollars) that led to the dominance of relational engines today. We firmly believe that the storage technologies that underlie the successful relational systems of which we are aware including commercial implementations and open source implementations are completely adequate for RDF data management. In fact, because the nature of RDF is collections of 3-tuples, we are convinced that there is no need at all for a native RDF storage environment and that relational systems are ideally suited for the job. Having reached that conclusion, we were next faced with a somewhat higher-level decision: Should there be a new native RDF data type defined for relational systems, as was done for XML data? The choice here was not so obvious, as there are advantages to defining a new data type and advantages to eschewing a new type in favor of ordinary table/column/row representations. The advantages to defining a new RDF data type include building in the ability to guarantee that the RDF data model directed graphs is always followed, but there is a significant disadvantage to face: the enhancements to SQL required to deal with such a new data type would complicate the language considerably. By contrast, using ordinary table representations for RDF data minimizes (or eliminates) any necessary changes to SQL, but it does require some care to ensure that the requirements of the RDF graph model are not violated. Our decision was easy to make; we chose to use a table representation for RDF data to create a persistent store for that data. But that raised another question to answer! Should we depend on application developers and users to write SQL queries to interrogate their RDF data? As we demonstrated last year, the SQL syntax required is not always obvious. Worse, as we ll demonstrate in this paper, the SQL can become very complex very quickly, especially when the nature of queries depends on the relationships between data more than on actual data values. It became clear to us that SPARQL was a much preferable language for querying RDF. Consequently, we made the choice to use SPARQL for querying RDF stored in ordinary SQL tables and columns. However, to minimize development costs and complexities, we also chose not to develop a native SPARQL language layer atop our existing storage engines, but to transform SPARQL into a language already understood by those engines: SQL. The next problem we faced was deciding the details of that table representation. The RDF data model is, as we observed earlier in this paper, a directed graph of nodes connected by labeled edges. The graph is frequently, and conveniently, represented textually as a collection of 3-tuples comprising a subject, a predicate, and an object. Predicates are always represented as URIs, while objects may be represented by URIs or by literal values. In theory, subjects may also be represented by URIs or by literal values, but the current definition of RDF limits them to URIs. Both subjects and objects may also be represented by blank nodes, each of which is uniquely identified within a given RDF graph. Naturally, we thought, these collections of 3-tuples would best be handled in SQL tables of three columns. However, the differences between URIs and literal values gave us some pause, especially since URIs are, in effect, pointers (usually, but not always, to other nodes in the graph). We chose to address this issue by creating tables of four columns instead of three. One column is, of course, used as the subject of each triple and a second is used as the predicate. The other two capture the object of the triple one is used when the object is a URI and the other when the object is a literal value. Of course, in SQL tables, every value of a column must be of the same data type, while RDF literals can be of many data types. We chose to use the approach chosen by RDF for typed literals the lexical representation of the literal value accompanied by a data type specification (a URI as defined by XML Schema). We also postulated a sort of referential integrity facility on the SQL tables to help enforce the graph model of RDF: CREATE TABLE RDF_STORE ( SUBJECT VARCHAR(2000), VERB VARCHAR(2000), OBJECT_URI VARCHAR(2000), OBJECT_LIT VARCHAR(2000), CHECK ( OBJECT_URI IS NULL 3
4 ) OR OBJECT_URI IN ( SELECT SUBJECT FROM RDF_STORE ) ),... CHECK ( VERB IS NULL OR VERB IN ( SELECT SUBJECT FROM RDF_STORE ), CHECK ( ( OBJECT_URI IS NOT NULL AND OBJECT_LIT IS NULL ) OR ( OBJECT_LIT IS NOT NULL AND OBJECT_URI IS NULL ) ) However, it was pointed out to us that RDF does not require that subject, predicate, or object URIs resolve to anything represented in the graph! Because of that fact, referential integrity is not needed (and, indeed, would violate the RDF data model). SPARQL to SQL Once the conclusion was reached that a relational engine was appropriate for persisting RDF graphs, that SPARQL was the appropriate language to use for querying that RDF, and that the development costs of building a complete SPARQL stack were prohibitive, we investigated exactly how we would deal with the problem of executing SPARQL code in an SQL engine. We describe our solution as though we were literally transforming SPARQL syntax into SQL syntax, but we do not expect any practical implementation to follow that paradigm; instead, implementations will transform SPARQL syntax into the same underlying execution trees/code used for compiling and executing SQL code. We made several assumptions as we began solving this problem: RDF graphs will be stored in tables of three columns (nothing in this work conflicts with the four-column design discussed above). The primary keys of such tables comprises all three (four) columns. Blank nodes are represented by (generated) blank node identifiers. The transformation from SPARQL into SQL involves a number of prerequisites. We chose to represent SPARQL syntax as parse trees, which significantly simplified several other aspects of the design. We created a simple algorithm for producing (globally!) unique blank node identifiers. We next created an algorithm to produce an SQL subquery corresponding to each node in the parse tree for a SPARQL statement; the result of each subquery includes a path column that identifies every node of the parse tree that contributes to the solution represented by that subquery. In this design, every node in the parse tree is numbered. The root node of the parse tree is node number 1. Every descendant of node i is numbered j, j > i. We also give each node a name (in two forms: a character string, and an SQL identifier) derived from its number: 'N1', 'N2', etc., and N1, N2, etc. The SQL code that is generated for a typical SPARQL statement is quite cumbersome, verbose, and complex. As we said above, however, we do not expect that any implementation will generate literal SQL code such as that illustrated here. The code we show here is intended to be illustrative of the technique, not of specific generated SQL. Consider the following simple SPARQL statement: { {?x :v _:n } UNION {?x :v _:n } } 4
5 The parse tree for that statement is shown in Figure 1. Figure 1: Parse Tree of SPARQL Statement The parenthesized number at each node represents the node number. There are no subqueries associated with the leaf nodes of the parse tree (e.g.,?x(5) or :v(11)). The path column of the subquery associated with each of the two TRIPLE nodes return the name of that node (N4 and N9, respectively). The path column of the subqueries associated with nodes GROUP(3) and GROUP(8) return the names of those nodes concatenated to the value of the path column of the nodes descendants (N4N3 and N9N8, respectively). The path column of the subquery associated with node UNION(2) returns N4N3N2 and N9N8N2. Consider node (4), which is a TRIPLE node comprising: <?x :v _:n > The SQL subquery corresponding to that TRIPLE node is: N4 AS ( SELECT 'N4' AS "::path", Subject AS "x", Object as "_:n" FROM GraphTable WHERE Verb = ' ) The notation used here was created as part of the 1999 edition of the SQL standard. It can be read as N4 is the nickname given to the subquery. The expression is an element of an SQL WITH clause, which predeclares subqueries, giving them a query name that are used later in the overall query or in later elements of the WITH clause; in this case, N4 is the subquery name. The remainder of that expression is a table subquery, which generates a virtual table of zero or more rows. Continuing to break that expression down: 'N4' AS "::path" is the first column The name of the column is "::path" (an SQL delimited identifier) The value of the column in all rows is the character string N4 (an SQL character string literal) identifying that node Subject AS "x" is the second column The name of the column is "x" (the SPARQL variable name) 5
6 The value of the column in all rows is the value of the SUBJECT column of the corresponding row taken from the graph table after the WHERE clause has been applied Object as "_:n" is the third column The name of the column is "_:x" (an SQL delimited identifier that is generated from the blank node name ) The value of the column in all rows is the value of the OBJECT column of the corresponding row taken from the graph table after the WHERE clause has been applied FROM GraphTable causes all rows from the graph table to be identified as candidate rows to be used in the WHERE and SELECT clauses. WHERE Verb = ' causes the un-identification of all rows identified in the graph table in which the value of the Verb does not equal the URI (character string) The result is a virtual table with as many rows as there rows in the graph table whose verb is the given URI. And, finally, the result of the entire expression is generated by the SELECT clause, which returns (in rows of a virtual table) the subject and object values from each row that remains after application of the WHERE clause (there is a 1:1 relationship between those remaining rows and the rows generated by the expression), as well as (in each row) the literal value that identifies the node in the SPARQL syntax tree for which those rows are a solution. Of course, analogous SQL subqueries are generated for other SPARQL syntax elements: JOIN nodes, GROUP nodes, EMPTY nodes, OPTIONAL nodes, UNION nodes, GRAPH nodes, and the root node. Conclusions Relational database management systems provide both the industrial-strength storage capabilities needed for RDF use in an enterprise of any size and the language infrastructure needed to execute SPARQL statements to query that RDF. Specialized RDF storage engines are not required and can actually inhibit integration of multiple sorts of data. By choosing to represent RDF triples in an SQL table of three or four columns, RDF can take complete advantage of the facilities offered by modern RDBMSs, including very high scalability, extreme reliability, manageability (including backup and restore), security, and so forth. We have demonstrated that it is possible to transform arbitrary SPARQL statements into SQL code, recognizing that real product will not transform literally into SQL but into the internal execution trees that also result from SQL compilation. By using an RDBMS as the RDF persistence engine and transforming SPARQL into SQL-like execution trees, it becomes an almost trivial exercise to integrate ordinary SQL queries, XQuery queries (using SQL/XML), and RDF queries (most likely using an SQL/XML-like facility that includes an SQL function for invoking SPARQL statements). By leveraging the enormous investment already made in RDBMS engines, this approach promises to greatly increase the rate of adoption of the semantic web. Acknowledgements The author thanks Fred Zemke, Ashok Malhotra, Susie Stephens, and Eric Prud hommeaux for their help in researching and understanding topics related to the semantic web, including RDF and SPARQL. Bibliography [OWL-L] OWL Web Ontology Language Reference, Recommendation, World Wide Web Consortium, ; [RDF-C] Resource Description Framework (RDF): Concepts and Abstract Syntax, Recommendation, World Wide Web Consortium, ; [RDF-S] RDF/XML Syntax Specification (Revised), Recommendation, World Wide Web Consortium, ; 6
7 [SPARQL-L] SPARQL Query Language for RDF, Candidate Recommendation, World Wide Web Consortium, ; [SPARQL-L2] SPARQL Query Language for RDF, Last Call Working Draft, World Wide Web Consortium, ; [SPARQL-P] SPARQL Protocol for RDF, Candidate Recommendation, World Wide Web Consortium, ; [SPARQL-R] SPARQL Query Results XML Format, Candidate Recommendation, World Wide Web Consortium, ; [SQL] ISO/IEC 9075-*:2003, Information technology Database languages SQL, International Organization for Standardization, 2003 [SQL/XML] ISO/IEC :2006, Information technology Database languages SQL Part 14: XML-Related Specifications (SQL/XML), International Organization for Standardization, 2006 [XDM] XQuery 1.0 and XPath 2.0 Data Model (XDM), Recommendation, World Wide Web Consortium, ; [XQuery] XQuery 1.0: An XML Query Language, Recommendation, World Wide Web Consortium, ; 7
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 informationUsing UML To Define XML Document Types
Using UML To Define XML Document Types W. Eliot Kimber ISOGEN International, A DataChannel Company Created On: 10 Dec 1999 Last Revised: 14 Jan 2000 Defines a convention for the use of UML to define XML
More informationEvent Stores (I) [Source: DB-Engines.com, accessed on August 28, 2016]
Event Stores (I) Event stores are database management systems implementing the concept of event sourcing. They keep all state changing events for an object together with a timestamp, thereby creating a
More informationPart XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321
Part XII Mapping XML to Databases Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Outline of this part 1 Mapping XML to Databases Introduction 2 Relational Tree Encoding Dead Ends
More informationRelational Data Model
Relational Data Model 1. Relational data model Information models try to put the real-world information complexity in a framework that can be easily understood. Data models must capture data structure
More informationB.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1
Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished
More information5 RDF and Inferencing
5 RDF and Inferencing In Chapter 1XXX, we introduced the notion of dumb data, and how a more connected web infrastructure can result in behavior that lets smart applications perform to their potential.
More informationM359 Block5 - Lecture12 Eng/ Waleed Omar
Documents and markup languages The term XML stands for extensible Markup Language. Used to label the different parts of documents. Labeling helps in: Displaying the documents in a formatted way Querying
More informationViolating Independence
by David McGoveran (Originally published in the Data Independent, Premier Issue, Jan. 1995: Updated Sept. 2014) Introduction A key aspect of the relational model is the separation of implementation details
More informationOrchestrating 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 informationCHAPTER 2: DATA MODELS
CHAPTER 2: DATA MODELS 1. A data model is usually graphical. PTS: 1 DIF: Difficulty: Easy REF: p.36 2. An implementation-ready data model needn't necessarily contain enforceable rules to guarantee the
More informationXML technology is very powerful, but also very limited. The more you are aware of the power, the keener your interest in reducing the limitations.
XML technology is very powerful, but also very limited. The more you are aware of the power, the keener your interest in reducing the limitations. A key problem is rooted in the very paradigm of XML, which
More informationCOMP9321 Web Application Engineering
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411
More informationCOMP9321 Web Application Engineering
COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457
More information2. An implementation-ready data model needn't necessarily contain enforceable rules to guarantee the integrity of the data.
Test bank for Database Systems Design Implementation and Management 11th Edition by Carlos Coronel,Steven Morris Link full download test bank: http://testbankcollection.com/download/test-bank-for-database-systemsdesign-implementation-and-management-11th-edition-by-coronelmorris/
More informationCourse Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course:
Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: 20762C Developing SQL 2016 Databases Module 1: An Introduction to Database Development Introduction to the
More informationSeveral major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their
Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their products. These companies are promoting a new, extended version
More information6. Relational Algebra (Part II)
6. Relational Algebra (Part II) 6.1. Introduction In the previous chapter, we introduced relational algebra as a fundamental model of relational database manipulation. In particular, we defined and discussed
More informationISO INTERNATIONAL STANDARD. Geographic information Filter encoding. Information géographique Codage de filtres. First edition
INTERNATIONAL STANDARD ISO 19143 First edition 2010-10-15 Geographic information Filter encoding Information géographique Codage de filtres Reference number ISO 19143:2010(E) ISO 2010 PDF disclaimer This
More informationSOME TYPES AND USES OF DATA MODELS
3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model
More informationSQL: Data De ni on. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3
B0B36DBS, BD6B36DBS: Database Systems h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3 SQL: Data De ni on Mar n Svoboda mar n.svoboda@fel.cvut.cz 13. 3. 2018 Czech Technical University
More informationModule 9: Managing Schema Objects
Module 9: Managing Schema Objects Overview Naming guidelines for identifiers in schema object definitions Storage and structure of schema objects Implementing data integrity using constraints Implementing
More informationImplementation Techniques
V Implementation Techniques 34 Efficient Evaluation of the Valid-Time Natural Join 35 Efficient Differential Timeslice Computation 36 R-Tree Based Indexing of Now-Relative Bitemporal Data 37 Light-Weight
More informationSQL: Data Definition Language. csc343, Introduction to Databases Diane Horton Fall 2017
SQL: Data Definition Language csc343, Introduction to Databases Diane Horton Fall 2017 Types Table attributes have types When creating a table, you must define the type of each attribute. Analogous to
More informationAdvanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs
Object Oriented Database Chapter 13 1 Object DBMSs Underlying concepts: Freely sharing data across processing routines creates unacceptable data dependencies All software should be constructed out of standard,
More information2.2 Syntax Definition
42 CHAPTER 2. A SIMPLE SYNTAX-DIRECTED TRANSLATOR sequence of "three-address" instructions; a more complete example appears in Fig. 2.2. This form of intermediate code takes its name from instructions
More informationCHAPTER 2: DATA MODELS
Database Systems Design Implementation and Management 12th Edition Coronel TEST BANK Full download at: https://testbankreal.com/download/database-systems-design-implementation-andmanagement-12th-edition-coronel-test-bank/
More informationFOUNDATIONS OF DATABASES AND QUERY LANGUAGES
FOUNDATIONS OF DATABASES AND QUERY LANGUAGES Lecture 14: Database Theory in Practice Markus Krötzsch TU Dresden, 20 July 2015 Overview 1. Introduction Relational data model 2. First-order queries 3. Complexity
More informationXML Perspectives on RDF Querying: Towards integrated Access to Data and Metadata on the Web
XML Perspectives on RDF Querying: Towards integrated Access to Data and Metadata on the Web Tim Furche, François Bry, Oliver Bolzer Institute for Informatics, University of Munich http://www.pms.ifi.lmu.de
More informationOral Questions and Answers (DBMS LAB) Questions & Answers- DBMS
Questions & Answers- DBMS https://career.guru99.com/top-50-database-interview-questions/ 1) Define Database. A prearranged collection of figures known as data is called database. 2) What is DBMS? Database
More informationHyperdata: Update APIs for RDF Data Sources (Vision Paper)
Hyperdata: Update APIs for RDF Data Sources (Vision Paper) Jacek Kopecký Knowledge Media Institute, The Open University, UK j.kopecky@open.ac.uk Abstract. The Linked Data effort has been focusing on how
More informationnormalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model
Database Design Section1 - Introduction 1-1 Introduction to the Oracle Academy o Give examples of jobs, salaries, and opportunities that are possible by participating in the Academy. o Explain how your
More informationReferences. 1. Introduction. 2. Terminology. Title: Converting SPARQL syntax to trees. Author: Fred Zemke Date: September 28, 2006
Title: Converting SPARQL syntax to trees Author: Fred Zemke Date: September 28, 2006 References [SPARQL CR] [rq24] [First attempt] SPARQL query language for RDF, Candidate Recommendation, http://www.w3.org/tr/2006/cr-rdf-sparql-query-20060406/
More informationIntroduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure
Databases databases Terminology of relational model Properties of database relations. Relational Keys. Meaning of entity integrity and referential integrity. Purpose and advantages of views. The relational
More informationStandard Business Rules Language: why and how? ICAI 06
Standard Business Rules Language: why and how? ICAI 06 M. Diouf K. Musumbu S. Maabout LaBRI (UMR 5800 du CNRS), 351, cours de la Libération, F-33.405 TALENCE Cedex e-mail: {diouf, musumbu, maabout}@labri.fr
More informationImplementing Table Operations Using Structured Query Language (SQL) Using Multiple Operations. SQL: Structured Query Language
Implementing Table Operations Using Structured Query Language (SQL) Using Multiple Operations Show Only certain columns and rows from the join of Table A with Table B The implementation of table operations
More informationRevisiting Blank Nodes in RDF to Avoid the Semantic Mismatch with SPARQL
Revisiting Blank Nodes in RDF to Avoid the Semantic Mismatch with SPARQL Marcelo Arenas 1, Mariano Consens 2, and Alejandro Mallea 1,3 1 Pontificia Universidad Católica de Chile 2 University of Toronto
More informationNULLs & Outer Joins. Objectives of the Lecture :
Slide 1 NULLs & Outer Joins Objectives of the Lecture : To consider the use of NULLs in SQL. To consider Outer Join Operations, and their implementation in SQL. Slide 2 Missing Values : Possible Strategies
More informationLESSON 13: LANGUAGE TRANSLATION
LESSON 13: LANGUAGE TRANSLATION Objective Interpreters and Compilers. Language Translation Phases. Interpreters and Compilers A COMPILER is a program that translates a complete source program into machine
More informationRelational Theory and Data Independence: Unfinished Business. Logical Data Independence and the CREATE VIEW Statement.
Relational Theory and Data Independence: Unfinished Business. Dr. Tom Johnston Much has been made of the data independence that relational technology is said to provide. And indeed, much has been accomplished
More informationCPS122 Lecture: From Python to Java last revised January 4, Objectives:
Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.
More informationOne of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while
1 One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while leaving the engine to choose the best way of fulfilling
More informationIan Kenny. November 28, 2017
Ian Kenny November 28, 2017 Introductory Databases Relational Algebra Introduction In this lecture we will cover Relational Algebra. Relational Algebra is the foundation upon which SQL is built and is
More informationGrammar. Dates and Times. Components
The Asserted Versioning Glossary This Glossary contains approximately three-hundred definitions, nearly all of which are specific to Asserted Versioning. Most expressions have both a Mechanics entry and
More informationRepetition Through Recursion
Fundamentals of Computer Science I (CS151.02 2007S) Repetition Through Recursion Summary: In many algorithms, you want to do things again and again and again. For example, you might want to do something
More informationTwo hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE
Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Querying Data on the Web Date: Wednesday 27th January 2016 Time: 09:45-11:45 Please answer ALL Questions provided This is a CLOSED book examination
More informationDDS Dynamic Search Trees
DDS Dynamic Search Trees 1 Data structures l A data structure models some abstract object. It implements a number of operations on this object, which usually can be classified into l creation and deletion
More informationCS112 Lecture: Variables, Expressions, Computation, Constants, Numeric Input-Output
CS112 Lecture: Variables, Expressions, Computation, Constants, Numeric Input-Output Last revised January 12, 2006 Objectives: 1. To introduce arithmetic operators and expressions 2. To introduce variables
More informationLecture 10: Introduction to Correctness
Lecture 10: Introduction to Correctness Aims: To look at the different types of errors that programs can contain; To look at how we might detect each of these errors; To look at the difficulty of detecting
More informationBrowsing the Semantic Web
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 237 245. Browsing the Semantic Web Peter Jeszenszky Faculty of Informatics, University
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
CHAPTER 6 Basic SQL Slide 6-2 Chapter 6 Outline SQL Data Definition and Data Types Specifying Constraints in SQL Basic Retrieval Queries in SQL INSERT, DELETE, and UPDATE Statements in SQL Additional Features
More information1 Achieving IND-CPA security
ISA 562: Information Security, Theory and Practice Lecture 2 1 Achieving IND-CPA security 1.1 Pseudorandom numbers, and stateful encryption As we saw last time, the OTP is perfectly secure, but it forces
More informationThis is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS
1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be
More informationCorreLog. SQL Table Monitor Adapter Users Manual
CorreLog SQL Table Monitor Adapter Users Manual http://www.correlog.com mailto:support@correlog.com CorreLog, SQL Table Monitor Users Manual Copyright 2008-2018, CorreLog, Inc. All rights reserved. No
More informationMulti-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 informationNew Approach to Graph Databases
Paper PP05 New Approach to Graph Databases Anna Berg, Capish, Malmö, Sweden Henrik Drews, Capish, Malmö, Sweden Catharina Dahlbo, Capish, Malmö, Sweden ABSTRACT Graph databases have, during the past few
More informationChapter 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 informationObject-oriented Compiler Construction
1 Object-oriented Compiler Construction Extended Abstract Axel-Tobias Schreiner, Bernd Kühl University of Osnabrück, Germany {axel,bekuehl}@uos.de, http://www.inf.uos.de/talks/hc2 A compiler takes a program
More informationCPS122 Lecture: From Python to Java
Objectives: CPS122 Lecture: From Python to Java last revised January 7, 2013 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.
More informationUsing RDF to Model the Structure and Process of Systems
Using RDF to Model the Structure and Process of Systems Marko A. Rodriguez Jennifer H. Watkins Johan Bollen Los Alamos National Laboratory {marko,jhw,jbollen}@lanl.gov Carlos Gershenson New England Complex
More informationSQL Fundamentals. Chapter 3. Class 03: SQL Fundamentals 1
SQL Fundamentals Chapter 3 Class 03: SQL Fundamentals 1 Class 03: SQL Fundamentals 2 SQL SQL (Structured Query Language): A language that is used in relational databases to build and query tables. Earlier
More informationPRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS
Objective PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Explain what is meant by compiler. Explain how the compiler works. Describe various analysis of the source program. Describe the
More information2.3 Algorithms Using Map-Reduce
28 CHAPTER 2. MAP-REDUCE AND THE NEW SOFTWARE STACK one becomes available. The Master must also inform each Reduce task that the location of its input from that Map task has changed. Dealing with a failure
More informationWEB APPLICATION MANAGEMENT: IMPLEMENTING A DYNAMIC DATABASE UPGRADE MODEL
WEB APPLICATION MANAGEMENT: IMPLEMENTING A DYNAMIC DATABASE UPGRADE MODEL Richard Wilson 1 & Daniel Lowes 2 1 Dept. of Computer Science and Software Engineering, University of Melbourne (Australia) 2 Dept.
More informationSQL. History. From Wikipedia, the free encyclopedia.
SQL From Wikipedia, the free encyclopedia. Structured Query Language (SQL) is the most popular computer language used to create, modify and retrieve data from relational database management systems. The
More informationDomain Constraints Referential Integrity Assertions Triggers. Authorization Authorization in SQL
Chapter 6: Integrity and Security Domain Constraints Referential Integrity Assertions Triggers Security Authorization Authorization in SQL 6.1 Domain Constraints Integrity constraints guard against accidental
More informationWorking with DB2 Data Using SQL and XQuery Answers
Working with DB2 Data Using SQL and XQuery Answers 66. The correct answer is D. When a SELECT statement such as the one shown is executed, the result data set produced will contain all possible combinations
More informationThe XQuery Data Model
The XQuery Data Model 9. XQuery Data Model XQuery Type System Like for any other database query language, before we talk about the operators of the language, we have to specify exactly what it is that
More informationEfficient, Scalable, and Provenance-Aware Management of Linked Data
Efficient, Scalable, and Provenance-Aware Management of Linked Data Marcin Wylot 1 Motivation and objectives of the research The proliferation of heterogeneous Linked Data on the Web requires data management
More informationA Modular modular XQuery implementation
A Modular modular XQuery implementation Implementation Jan Vraný, Jan Jan Vraný, Jan Žák Žák Department of Computer Science and Engineering, FEE, Czech Technical University Department of Computer in Prague,
More informationSTS Infrastructural considerations. Christian Chiarcos
STS Infrastructural considerations Christian Chiarcos chiarcos@uni-potsdam.de Infrastructure Requirements Candidates standoff-based architecture (Stede et al. 2006, 2010) UiMA (Ferrucci and Lally 2004)
More informationWhere Are We? Next Few Lectures. Integrity Constraints Motivation. Constraints in E/R Diagrams. Keys in E/R Diagrams
Where Are We? Introduction to Data Management CSE 344 Lecture 15: Constraints We know quite a bit about using a DBMS Start with real-world problem, design ER diagram From ER diagram to relations -> conceptual
More informationGrid Resources Search Engine based on Ontology
based on Ontology 12 E-mail: emiao_beyond@163.com Yang Li 3 E-mail: miipl606@163.com Weiguang Xu E-mail: miipl606@163.com Jiabao Wang E-mail: miipl606@163.com Lei Song E-mail: songlei@nudt.edu.cn Jiang
More informationOWL DL / Full Compatability
Peter F. Patel-Schneider, Bell Labs Research Copyright 2007 Bell Labs Model-Theoretic Semantics OWL DL and OWL Full Model Theories Differences Betwen the Two Semantics Forward to OWL 1.1 Model-Theoretic
More informationCS121 MIDTERM REVIEW. CS121: Relational Databases Fall 2017 Lecture 13
CS121 MIDTERM REVIEW CS121: Relational Databases Fall 2017 Lecture 13 2 Before We Start Midterm Overview 3 6 hours, multiple sittings Open book, open notes, open lecture slides No collaboration Possible
More informationUNIT I. Introduction
UNIT I Introduction Objective To know the need for database system. To study about various data models. To understand the architecture of database system. To introduce Relational database system. Introduction
More informationUnderstandability and Semantic Interoperability of Diverse Rules Systems. Adrian Walker, Reengineering [1]
Understandability and Semantic Interoperability of Diverse Rules Systems Adrian Walker, Reengineering [1] Position Paper for the W3C Workshop on Rule Languages for Interoperability 27-28 April 2005, Washington,
More information"Relations for Relationships"
M359 An explanation from Hugh Darwen "Relations for Relationships" This note might help those who have struggled with M359's so-called "relation for relationship" method of representing, in a relational
More informationChapter 3: The Relational Database Model
Chapter 3: The Relational Database Model Student: 1. The practical significance of taking the logical view of a database is that it serves as a reminder of the simple file concept of data storage. 2. You
More informationThis book is licensed under a Creative Commons Attribution 3.0 License
6. Syntax Learning objectives: syntax and semantics syntax diagrams and EBNF describe context-free grammars terminal and nonterminal symbols productions definition of EBNF by itself parse tree grammars
More informationContents. 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 informationArgQL: A Declarative Language for Querying Argumentative Dialogues
ArgQL: A Declarative Language for Querying Argumentative Dialogues R U L E M L + R R : I N T E R N AT I O N A L J O I N T C O N F E R E N C E O N R U L E S A N D R E A S O N I N G D I M I T R A Z O G R
More informationInside Relational Databases with Examples in Access
Inside Relational Databases with Examples in Access Inside Relational Databases with Examples in Access Mark Whitehorn and Bill Marklyn 123 Mark Whitehorn Applied Computing Division, University of Dundee,
More informationTable of Contents Chapter 1 - Introduction Chapter 2 - Designing XML Data and Applications Chapter 3 - Designing and Managing XML Storage Objects
Table of Contents Chapter 1 - Introduction 1.1 Anatomy of an XML Document 1.2 Differences Between XML and Relational Data 1.3 Overview of DB2 purexml 1.4 Benefits of DB2 purexml over Alternative Storage
More informationArbori Starter Manual Eugene Perkov
Arbori Starter Manual Eugene Perkov What is Arbori? Arbori is a query language that takes a parse tree as an input and builds a result set 1 per specifications defined in a query. What is Parse Tree? A
More informationHandout 9: Imperative Programs and State
06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative
More informationDATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11
DATABASE PERFORMANCE AND INDEXES CS121: Relational Databases Fall 2017 Lecture 11 Database Performance 2 Many situations where query performance needs to be improved e.g. as data size grows, query performance
More informationWHY 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 informationCOMPUTER 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 informationChapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query
More informationUNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 164 Spring 2009 P. N. Hilfinger CS 164: Final Examination (corrected) Name: Login: You have
More informationLogical 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 informationIntroduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 2: Relations and SQL. September 5, Lecturer: Rasmus Pagh
Introduction to Databases, Fall 2005 IT University of Copenhagen Lecture 2: Relations and SQL September 5, 2005 Lecturer: Rasmus Pagh Today s lecture What, exactly, is the relational data model? What are
More informationITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION
ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION JING YANG 2010 FALL Class 3: The Relational Data Model and Relational Database Constraints Outline 2 The Relational Data Model and Relational Database Constraints
More information11. Architecture of Database Systems
11. Architecture of Database Systems 11.1 Introduction Software systems generally have an architecture, ie. possessing of a structure (form) and organisation (function). The former describes identifiable
More informationFinding 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 informationCISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Document databases Graph databases Metadata Column databases
CISC 7610 Lecture 4 Approaches to multimedia databases Topics: Document databases Graph databases Metadata Column databases NoSQL architectures: different tradeoffs for different workloads Already seen:
More informationSQL Interview Questions
SQL Interview Questions SQL stands for Structured Query Language. It is used as a programming language for querying Relational Database Management Systems. In this tutorial, we shall go through the basic
More informationCS317 File and Database Systems
CS317 File and Database Systems http://dilbert.com/strips/comic/1995-10-11/ Lecture 5 More SQL and Intro to Stored Procedures September 24, 2017 Sam Siewert SQL Theory and Standards Completion of SQL in
More informationCompiler Design 1. Introduction to Programming Language Design and to Compilation
Compiler Design 1 Introduction to Programming Language Design and to Compilation Administrivia Lecturer: Kostis Sagonas (Hus 1, 352) Course home page: http://user.it.uu.se/~kostis/teaching/kt1-11 If you
More information