I used these slides for an introductory lecture (90min) to a seminar on SPARQL. This slideset introduces the RDF query language SPARQL from a user's perspective.
"SPARQL Cheat Sheet" is a short collection of slides intended to act as a guide to SPARQL developers. It includes the syntax and structure of SPARQL queries, common SPARQL prefixes and functions, and help with RDF datasets.
The "SPARQL Cheat Sheet" is intended to accompany the SPARQL By Example slides available at http://www.cambridgesemantics.com/2008/09/sparql-by-example/ .
Sling is a RESTful web application framework that uses JCR repositories like Apache Jackrabbit as its data store. Sling maps HTTP requests to content resources in the repository and uses the resource type to locate the appropriate rendering script. The request URL is decomposed into the resource path, selectors, extension, and suffix path. Sling searches for a node matching the resource path and then locates a script based on the resource type and any selectors. Sling scripts cannot be called directly and must be resolved through the resource to follow REST principles. This document discusses how Sling maps URLs to content resources and scripts to process requests.
This document provides an overview of using SPARQL to extract and explore data from an RDF graph. It covers key SPARQL concepts like graph patterns, triple patterns, optional patterns, UNION queries, sorting, limiting, filtering and DISTINCT clauses. It also discusses different SPARQL query forms like SELECT, ASK, DESCRIBE, and CONSTRUCT and provides examples of each. Useful links are included for additional SPARQL tutorials and references.
The document discusses the RDF data model. The key points are:
1. RDF represents data as a graph of triples consisting of a subject, predicate, and object. Triples can be combined to form an RDF graph.
2. The RDF data model has three types of nodes - URIs to identify resources, blank nodes to represent anonymous resources, and literals for values like text strings.
3. RDF graphs can be merged to integrate data from multiple sources in an automatic way due to RDF's compositional nature.
This document provides an introduction to Apache Solr, including:
- Solr is an open-source search engine and REST API built on Lucene for indexing and searching documents.
- Solr architecture includes nodes, cores, schemas, and concepts like SolrCloud which uses Zookeeper for coordination across collections and shards.
- Documents are indexed, queried, updated, and deleted via the REST API or client libraries. Queries support various types including range, date, boolean, and proximity queries.
- Installation and configuration of standalone Solr involves downloading, extracting, and running bin/solr scripts to start the server and create cores.
- Resources for learning more include tutorials, documentation, and integration options
- SPARQL is a query language for retrieving and manipulating data stored in RDF format. It is similar to SQL but for RDF data.
- SPARQL queries contain prefix declarations, specify a dataset using FROM, and include a graph pattern in the WHERE clause to match triples.
- The main types of SPARQL queries are SELECT, ASK, DESCRIBE, and CONSTRUCT. SELECT returns variable bindings, ASK returns a boolean, DESCRIBE returns a description of a resource, and CONSTRUCT generates an RDF graph.
Tutorial on SPARQL: SPARQL Protocol and RDF Query Language Biswanath Dutta
In this tutorial, we show how to query the RDF triple store. SPARQL is a RDF query language and also a protocol for SPARQL query on Web which enables the search on SPARQL endpoint.
This document provides an overview of Oracle REST Data Services (ORDS). It discusses REST concepts and architecture, how to install and configure ORDS, enable database schemas and define modules and templates to expose SQL and PL/SQL as REST APIs. It also covers securing APIs using basic authentication and OAuth 2.0 flows, and enabling AutoREST to automatically expose database objects as REST resources.
This developer-focused webinar will explain how to use the Cypher graph query language. Cypher, a query language designed specifically for graphs, allows for expressing complex graph patterns using simple ASCII art-like notation and offers a simple but expressive approach for working with graph data.
During this webinar you'll learn:
-Basic Cypher syntax
-How to construct graph patterns using Cypher
-Querying existing data
-Data import with Cypher
-Using aggregations such as statistical functions
-Extending the power of Cypher using procedures and functions
Working With a Real-World Dataset in Neo4j: Import and ModelingNeo4j
This webinar will cover how to work with a real world dataset in Neo4j, with a focus on how to build a graph from an existing dataset (in this case a series of JSON files). We will explore how to performantly import the data into Neo4j - both in the case of an initial import and scaling writes for your graph application. We will demonstrate different approaches for data import (neo4j-import, LOAD CSV, and using the official Neo4j drivers), and discuss when it makes to use each import technique. If you've ever asked these questions, then this webinar is for you!
- How do I design a property graph model for my domain?
- How do I use the official Neo4j drivers?
- How can I deal with concurrent writes to Neo4j?
- How can I import JSON into Neo4j?
OSGI is a Java framework that implements a dynamic component model. It allows modular Java applications to be built from separate bundles that can be loaded, started, stopped and updated independently. Key aspects include:
- Bundles are JAR files with additional configuration that can be loaded and stopped independently without affecting other bundles.
- Services allow bundles to publish and discover capabilities via a registry. Dependencies between bundles are resolved dynamically.
- The OSGi framework provides a lifecycle to manage the loading, starting and stopping of bundles.
- Annotations like @Component, @Service and @Reference allow defining OSGi components and services using declarative services.
- The OSGi specification is implemented by frameworks like
Semantic Web technologies (such as RDF and SPARQL) excel at bringing together diverse data in a world of independent data publishers and consumers. Common ontologies help to arrive at a shared understanding of the intended meaning of data.
However, they don’t address one critically important issue: What does it mean for data to be complete and/or valid? Semantic knowledge graphs without a shared notion of completeness and validity quickly turn into a Big Ball of Data Mud.
The Shapes Constraint Language (SHACL), an upcoming W3C standard, promises to help solve this problem. By keeping semantics separate from validity, SHACL makes it possible to resolve a slew of data quality and data exchange issues.
Presented at the Lotico Berlin Semantic Web Meetup.
Version 6 of Adobe Experience Manager (AEM 6) is a major release that introduces significant innovations. Sightly is a new template system to be used in place of (or together with) JSP. Along with Sling Models, SIghtly strongly improves the separation between the logic and presentation. The development effort is reduced because a Sightly template is an HTML 5 document, easily maintainable even by front-end developers.
The presentation provides an overview of the basic features of Sightly and introduces the fundamentals of the new development model with the support of tools released release together with AEM 6.
This document provides an overview of a training course on RDF, SPARQL and semantic repositories. The training course took place in August 2010 in Montreal as part of the 3rd GATE training course. The document outlines the modules covered in the course, including introductions to RDF/S and OWL semantics, querying RDF data with SPARQL, semantic repositories and benchmarking triplestores.
SPARQL is a query language, result format, and access protocol for querying and accessing RDF data. SPARQL queries use a SELECT-FROM-WHERE structure to match triple patterns against RDF graphs. The WHERE clause contains a conjunction of triple patterns that can be extended with filters, optional patterns, and unions of patterns. SPARQL results are returned in an XML format and the protocol defines HTTP and SOAP bindings for sending queries and receiving results over the web.
This document provides an overview of the RDF data model. It discusses the history and development of RDF standards from 1997 to 2014. It explains that an RDF graph is made up of triples consisting of a subject, predicate, and object. It provides examples of RDF triples and their N-triples representation. It also describes RDF syntaxes like Turtle and features of RDF like literals, blank nodes, and language-tagged strings.
This document provides an introduction to the RDF data model. It describes RDF as a data model that represents data as subject-predicate-object triples that can be used to describe resources. These triples form a directed graph. The document provides examples of RDF triples and graphs, and compares the RDF data model to relational and XML data models. It also describes common RDF formats like RDF/XML, Turtle, N-Triples, and how RDF graphs from different sources can be merged.
AEM (CQ) Dispatcher Security and CDN+Browser CachingAndrew Khoury
This presentation cover Adobe AEM Dispatcher security and CDN and browser caching.
This presentation is the second part of a webinar on AEM Dispatcher:
http://dev.day.com/content/ddc/en/gems/dispatcher-caching---new-features-and-optimizations.html
Visit url above to view the whole presentation. Domique Pfister the primary engineer developing AEM Dispatcher covers the first part on new features.
The document provides instructions for installing Solr on Windows by downloading and configuring Tomcat and Solr. It describes downloading Tomcat and Solr, configuring server.xml, extracting Solr to c:\web\solr, copying the Solr WAR file to Tomcat, and accessing the Solr admin page at http://localhost:8080/solr/admin to verify the installation.
ReactJS Tutorial For Beginners | ReactJS Redux Training For Beginners | React...Edureka!
This Edureka ReactJS Tutorial For Beginners will help you in understanding the fundamentals of ReactJS and help you in building a strong foundation in React framework. Below are the topics covered in this tutorial:
1. Why ReactJS?
2. What Is ReactJS?
3. Advantages Of ReactJS
4. ReactJS Installation and Program
5. ReactJS Fundamentals
This document provides an introduction and examples for SHACL (Shapes Constraint Language), a W3C recommendation for validating RDF graphs. It defines key SHACL concepts like shapes, targets, and constraint components. An example shape validates nodes with a schema:name and schema:email property. Constraints like minCount, maxCount, datatype, nodeKind, and logical operators like and/or are demonstrated. The document is an informative tutorial for learning SHACL through examples.
Apache Jackrabbit Oak - Scale your content repository to the cloudRobert Munteanu
The document discusses Apache Jackrabbit Oak, an open source content repository that can scale to the cloud. It provides an overview of content, repositories, scaling techniques using different storage backends like TarMK and MongoMK, and how Oak can be deployed in the cloud using technologies like S3 and MongoDB. The presentation covers key JCR concepts and shows how Oak can be used for applications like content management, digital asset management, and invoice management.
Tutorial on SPARQL: SPARQL Protocol and RDF Query Language Biswanath Dutta
In this tutorial, we show how to query the RDF triple store. SPARQL is a RDF query language and also a protocol for SPARQL query on Web which enables the search on SPARQL endpoint.
This document provides an overview of Oracle REST Data Services (ORDS). It discusses REST concepts and architecture, how to install and configure ORDS, enable database schemas and define modules and templates to expose SQL and PL/SQL as REST APIs. It also covers securing APIs using basic authentication and OAuth 2.0 flows, and enabling AutoREST to automatically expose database objects as REST resources.
This developer-focused webinar will explain how to use the Cypher graph query language. Cypher, a query language designed specifically for graphs, allows for expressing complex graph patterns using simple ASCII art-like notation and offers a simple but expressive approach for working with graph data.
During this webinar you'll learn:
-Basic Cypher syntax
-How to construct graph patterns using Cypher
-Querying existing data
-Data import with Cypher
-Using aggregations such as statistical functions
-Extending the power of Cypher using procedures and functions
Working With a Real-World Dataset in Neo4j: Import and ModelingNeo4j
This webinar will cover how to work with a real world dataset in Neo4j, with a focus on how to build a graph from an existing dataset (in this case a series of JSON files). We will explore how to performantly import the data into Neo4j - both in the case of an initial import and scaling writes for your graph application. We will demonstrate different approaches for data import (neo4j-import, LOAD CSV, and using the official Neo4j drivers), and discuss when it makes to use each import technique. If you've ever asked these questions, then this webinar is for you!
- How do I design a property graph model for my domain?
- How do I use the official Neo4j drivers?
- How can I deal with concurrent writes to Neo4j?
- How can I import JSON into Neo4j?
OSGI is a Java framework that implements a dynamic component model. It allows modular Java applications to be built from separate bundles that can be loaded, started, stopped and updated independently. Key aspects include:
- Bundles are JAR files with additional configuration that can be loaded and stopped independently without affecting other bundles.
- Services allow bundles to publish and discover capabilities via a registry. Dependencies between bundles are resolved dynamically.
- The OSGi framework provides a lifecycle to manage the loading, starting and stopping of bundles.
- Annotations like @Component, @Service and @Reference allow defining OSGi components and services using declarative services.
- The OSGi specification is implemented by frameworks like
Semantic Web technologies (such as RDF and SPARQL) excel at bringing together diverse data in a world of independent data publishers and consumers. Common ontologies help to arrive at a shared understanding of the intended meaning of data.
However, they don’t address one critically important issue: What does it mean for data to be complete and/or valid? Semantic knowledge graphs without a shared notion of completeness and validity quickly turn into a Big Ball of Data Mud.
The Shapes Constraint Language (SHACL), an upcoming W3C standard, promises to help solve this problem. By keeping semantics separate from validity, SHACL makes it possible to resolve a slew of data quality and data exchange issues.
Presented at the Lotico Berlin Semantic Web Meetup.
Version 6 of Adobe Experience Manager (AEM 6) is a major release that introduces significant innovations. Sightly is a new template system to be used in place of (or together with) JSP. Along with Sling Models, SIghtly strongly improves the separation between the logic and presentation. The development effort is reduced because a Sightly template is an HTML 5 document, easily maintainable even by front-end developers.
The presentation provides an overview of the basic features of Sightly and introduces the fundamentals of the new development model with the support of tools released release together with AEM 6.
This document provides an overview of a training course on RDF, SPARQL and semantic repositories. The training course took place in August 2010 in Montreal as part of the 3rd GATE training course. The document outlines the modules covered in the course, including introductions to RDF/S and OWL semantics, querying RDF data with SPARQL, semantic repositories and benchmarking triplestores.
SPARQL is a query language, result format, and access protocol for querying and accessing RDF data. SPARQL queries use a SELECT-FROM-WHERE structure to match triple patterns against RDF graphs. The WHERE clause contains a conjunction of triple patterns that can be extended with filters, optional patterns, and unions of patterns. SPARQL results are returned in an XML format and the protocol defines HTTP and SOAP bindings for sending queries and receiving results over the web.
This document provides an overview of the RDF data model. It discusses the history and development of RDF standards from 1997 to 2014. It explains that an RDF graph is made up of triples consisting of a subject, predicate, and object. It provides examples of RDF triples and their N-triples representation. It also describes RDF syntaxes like Turtle and features of RDF like literals, blank nodes, and language-tagged strings.
This document provides an introduction to the RDF data model. It describes RDF as a data model that represents data as subject-predicate-object triples that can be used to describe resources. These triples form a directed graph. The document provides examples of RDF triples and graphs, and compares the RDF data model to relational and XML data models. It also describes common RDF formats like RDF/XML, Turtle, N-Triples, and how RDF graphs from different sources can be merged.
AEM (CQ) Dispatcher Security and CDN+Browser CachingAndrew Khoury
This presentation cover Adobe AEM Dispatcher security and CDN and browser caching.
This presentation is the second part of a webinar on AEM Dispatcher:
http://dev.day.com/content/ddc/en/gems/dispatcher-caching---new-features-and-optimizations.html
Visit url above to view the whole presentation. Domique Pfister the primary engineer developing AEM Dispatcher covers the first part on new features.
The document provides instructions for installing Solr on Windows by downloading and configuring Tomcat and Solr. It describes downloading Tomcat and Solr, configuring server.xml, extracting Solr to c:\web\solr, copying the Solr WAR file to Tomcat, and accessing the Solr admin page at http://localhost:8080/solr/admin to verify the installation.
ReactJS Tutorial For Beginners | ReactJS Redux Training For Beginners | React...Edureka!
This Edureka ReactJS Tutorial For Beginners will help you in understanding the fundamentals of ReactJS and help you in building a strong foundation in React framework. Below are the topics covered in this tutorial:
1. Why ReactJS?
2. What Is ReactJS?
3. Advantages Of ReactJS
4. ReactJS Installation and Program
5. ReactJS Fundamentals
This document provides an introduction and examples for SHACL (Shapes Constraint Language), a W3C recommendation for validating RDF graphs. It defines key SHACL concepts like shapes, targets, and constraint components. An example shape validates nodes with a schema:name and schema:email property. Constraints like minCount, maxCount, datatype, nodeKind, and logical operators like and/or are demonstrated. The document is an informative tutorial for learning SHACL through examples.
Apache Jackrabbit Oak - Scale your content repository to the cloudRobert Munteanu
The document discusses Apache Jackrabbit Oak, an open source content repository that can scale to the cloud. It provides an overview of content, repositories, scaling techniques using different storage backends like TarMK and MongoMK, and how Oak can be deployed in the cloud using technologies like S3 and MongoDB. The presentation covers key JCR concepts and shows how Oak can be used for applications like content management, digital asset management, and invoice management.
Linked Open Data is the most usable kind of Open Data. An example of a well integrated source of Linked Open Data on tourism and mobility is the Open Data Hub operated by NOI. We will use the SPARQL querying language, a W3C standard, to query the data and show how this differs from other access methods. The tour will start by querying the end point directly from the command line with tools, like curl. Then, one by one, well known data science software packages. like R and Pandas, will be used to directly work with these datasets, to perform statistical calculations and generating graphs from data.
In the final part, these software packages will be used to query data from other well known data sources, like Wikidata and DBpedia.
balloon Fusion: SPARQL Rewriting Based on Unified Co-Reference InformationKai Schlegel
Presentation for 5th International Workshop on
Data Engineering meets the Semantic Web (DESWeb)
In conjunction with ICDE 2014, Chicago IL, USA, March 31, 2014 held by Kai Schlegel
Sesam4 project presentation sparql - april 2011Robert Engels
SPARQL is a query language for retrieving and manipulating data stored in RDF format. It allows for querying linked data graphs through operations like SELECT, DESCRIBE, ASK and CONSTRUCT. Unlike SQL, SPARQL can query data across decentralized datasets and systems as it works with globally unique identifiers rather than local schemas. Examples show how SPARQL can be used to retrieve descriptive information about a resource, select specific values from a graph, construct new triples based on pattern matching in a graph, and ask simple true/false questions against a dataset.
Sesam4 project presentation sparql - april 2011sesam4able
This slide set is a provided by the SESAM4 consortium as one out of three Technology Primers on Semantic Web technology. This Primer is on SPARQL and gives you a short introduction to its constructs followed by some examples. You can find the belonging slideset at youtube under SESAM4.
A hands on overview of the semantic webMarakana Inc.
This document provides an overview of the Semantic Web. It defines the Semantic Web as linking data to data using technologies like RDF, RDFS, OWL and SPARQL. It explains that RDF represents information as subject-predicate-object statements that can be queried using SPARQL. RDFS allows defining schemas and classes for RDF data, while OWL adds more expressiveness for defining complex ontologies. The document outlines popular Semantic Web tools, public ontologies, and companies working in this domain. It positions the Semantic Web as a way to represent and share data universally on the web.
SparkR is an R package that provides an interface to Apache Spark to enable large scale data analysis from R. It introduces the concept of distributed data frames that allow users to manipulate large datasets using familiar R syntax. SparkR improves performance over large datasets by using lazy evaluation and Spark's relational query optimizer. It also supports over 100 functions on data frames for tasks like statistical analysis, string manipulation, and date operations.
SparkR is an R package that provides an interface to Apache Spark to enable large scale data analysis from R. It introduces the concept of distributed data frames that allow users to manipulate large datasets using familiar R syntax. SparkR improves performance over large datasets by using lazy evaluation and Spark's relational query optimizer. It also supports over 100 functions on data frames for tasks like statistical analysis, string manipulation, and date operations.
SPARQL is a standard query language for RDF that has undergone two iterations (1.0 and 1.1) through the W3C process. SPARQL 1.1 includes updates to RDF stores, subqueries, aggregation, property paths, negation, and remote querying. It also defines separate specifications for querying, updating, protocols, graph store protocols, and federated querying. Apache Jena provides implementations of SPARQL 1.1 and tools like Fuseki for deploying SPARQL servers.
Linked Open Data - Masaryk University in Brno 8.11.2016Martin Necasky
This document discusses Linked Open Data, including its principles, usage examples, and research challenges. It begins by defining open data and Linked Open Data, describing the four Linked Data principles of using URIs, HTTP URIs, providing useful information via standards like RDF and SPARQL, and including links between data. Examples are given of querying and combining Linked Data sets. Two research challenges are identified: dataset discovery to find relevant data based on natural language queries, and dataset visualization to identify appropriate visualizations for discovered data combinations. The document concludes by discussing OpenData.cz's role in advancing open data in the Czech Republic through assisting institutions, helping establish open data standards and legislation, and educating on open data practices.
Spark SQL Tutorial | Spark Tutorial for Beginners | Apache Spark Training | E...Edureka!
This Edureka Spark SQL Tutorial will help you to understand how Apache Spark offers SQL power in real-time. This tutorial also demonstrates an use case on Stock Market Analysis using Spark SQL. Below are the topics covered in this tutorial:
1) Limitations of Apache Hive
2) Spark SQL Advantages Over Hive
3) Spark SQL Success Story
4) Spark SQL Features
5) Architecture of Spark SQL
6) Spark SQL Libraries
7) Querying Using Spark SQL
8) Demo: Stock Market Analysis With Spark SQL
SPARQL is a query language for retrieving and manipulating data stored in RDF format. It is a W3C recommendation similar to SQL for relational databases. SPARQL queries contain SELECT, FROM and WHERE clauses to identify result variables, specify the RDF dataset, and provide a basic graph pattern to match against the data. SPARQL can be used to query RDF knowledge bases and retrieve variable bindings or boolean results. Query results are returned in XML format according to the SPARQL Query Results specification.
The document discusses data discovery, conversion, integration and visualization using RDF. It covers topics like ontologies, vocabularies, data catalogs, converting different data formats to RDF including CSV, XML and relational databases. It also discusses federated SPARQL queries to integrate data from multiple sources and different techniques for visualizing linked data including analyzing relationships, events, and multidimensional data.
This document provides an overview of semantic web technologies including the Resource Description Framework (RDF), which is a standard model for data interchange on the web. It describes RDF concepts like triples, graphs, and syntaxes like RDF/XML and Turtle. It also covers ontologies, SPARQL for querying RDF data, linked data, and tools for working with RDF and semantic web technologies.
Apache Spark - Dataframes & Spark SQL - Part 2 | Big Data Hadoop Spark Tutori...CloudxLab
Big Data with Hadoop & Spark Training: http://bit.ly/2sm9c61
This CloudxLab Introduction to Spark SQL & DataFrames tutorial helps you to understand Spark SQL & DataFrames in detail. Below are the topics covered in this slide:
1) Loading XML
2) What is RPC - Remote Process Call
3) Loading AVRO
4) Data Sources - Parquet
5) Creating DataFrames From Hive Table
6) Setting up Distributed SQL Engine
MMLSpark: Lessons from Building a SparkML-Compatible Machine Learning Library...Spark Summit
With the rapid growth of available datasets, it is imperative to have good tools for extracting insight from big data. The Spark ML library has excellent support for performing at-scale data processing and machine learning experiments, but more often than not, Data Scientists find themselves struggling with issues such as: low level data manipulation, lack of support for image processing, text analytics and deep learning, as well as the inability to use Spark alongside other popular machine learning libraries. To address these pain points, Microsoft recently released The Microsoft Machine Learning Library for Apache Spark (MMLSpark), an open-source machine learning library built on top of SparkML that seeks to simplify the data science process and integrate SparkML Pipelines with deep learning and computer vision libraries such as the Microsoft Cognitive Toolkit (CNTK) and OpenCV. With MMLSpark, Data Scientists can build models with 1/10th of the code through Pipeline objects that compose seamlessly with other parts of the SparkML ecosystem. In this session, we explore some of the main lessons learned from building MMLSpark. Join us if you would like to know how to extend Pipelines to ensure seamless integration with SparkML, how to auto-generate Python and R wrappers from Scala Transformers and Estimators, how to integrate and use previously non-distributed libraries in a distributed manner and how to efficiently deploy a Spark library across multiple platforms.
An Introduct to Spark - Atlanta Spark Meetupjlacefie
- Apache Spark is an open-source cluster computing framework that provides fast, in-memory processing for large-scale data analytics. It can run on Hadoop clusters and standalone.
- Spark allows processing of data using transformations and actions on resilient distributed datasets (RDDs). RDDs can be persisted in memory for faster processing.
- Spark comes with modules for SQL queries, machine learning, streaming, and graphs. Spark SQL allows SQL queries on structured data. MLib provides scalable machine learning. Spark Streaming processes live data streams.
LDQL: A Query Language for the Web of Linked DataOlaf Hartig
I used this slideset to present our research paper at the 14th Int. Semantic Web Conference (ISWC 2015). Find a preprint of the paper here:
http://olafhartig.de/files/HartigPerez_ISWC2015_Preprint.pdf
A Context-Based Semantics for SPARQL Property Paths over the WebOlaf Hartig
- The document proposes a formal context-based semantics for evaluating SPARQL property path queries over the Web of Linked Data.
- This semantics defines how to compute the results of such queries in a well-defined manner and ensures the "web-safeness" of queries, meaning they can be executed directly over the Web without prior knowledge of all data.
- The paper presents a decidable syntactic condition for identifying SPARQL property path queries that are web-safe based on their sets of conditionally bounded variables.
Rethinking Online SPARQL Querying to Support Incremental Result VisualizationOlaf Hartig
These are the slides of my invited talk at the 5th Int. Workshop on Usage Analysis and the Web of Data (USEWOD 2015): http://usewod.org/usewod2015.html
The abstract of this talks is given as follows:
To reduce user-perceived response time many interactive Web applications visualize information in a dynamic, incremental manner. Such an incremental presentation can be particularly effective for cases in which the underlying data processing systems are not capable of completely answering the users' information needs instantaneously. An example of such systems are systems that support live querying of the Web of Data, in which case query execution times of several seconds, or even minutes, are an inherent consequence of these systems' ability to guarantee up-to-date results. However, support for an incremental result visualization has not received much attention in existing work on such systems. Therefore, the goal of this talk is to discuss approaches that enable query systems for the Web of Data to return query results incrementally.
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Olaf Hartig
This document summarizes the theoretical foundations of linked data query processing presented in a tutorial. It discusses the SPARQL query language, data models for linked data queries, full-web and reachability-based query semantics. Under full-web semantics, a query is computable if its pattern is monotonic, and eventually computable otherwise. Reachability-based semantics restrict queries to data reachable from a set of seed URIs. Queries under this semantics are always finitely computable if the web is finite. The document outlines computability results and properties regarding satisfiability and monotonicity for different semantics.
An Overview on PROV-AQ: Provenance Access and QueryOlaf Hartig
The slides which I used at the Dagstuhl seminar on Principles of Provenance (Feb.2012) for presenting the main contributions and open issues of the PROV-AQ document created by the W3C provenance working group.
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Olaf Hartig
The document describes zero-knowledge query planning for an iterator-based implementation of link traversal-based query execution. It discusses generating all possible query execution plans from the triple patterns in a query and selecting the optimal plan using heuristics without actually executing the plans. The key heuristics explored are using a seed triple pattern containing a URI as the first pattern, avoiding vocabulary terms as seeds, and placing filtering patterns close to the seed pattern. Evaluation involves generating all plans and executing each repeatedly to estimate costs and benefits for plan selection.
The Impact of Data Caching of on Query Execution for Linked DataOlaf Hartig
The document discusses link traversal based query execution for querying linked data on the web. It describes an approach that alternates between evaluating parts of a query on a continuously augmented local dataset, and looking up URIs in solutions to retrieve more data and add it to the local dataset. This allows querying linked data as if it were a single large database, without needing to know all data sources in advance. A key issue is how to efficiently cache retrieved data to avoid redundant lookups.
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Olaf Hartig
The document describes the Provenance Vocabulary, which defines an OWL ontology for describing provenance metadata on the Semantic Web. The vocabulary aims to integrate provenance into the Web of data to enable quality assessment. It partitions provenance descriptions into a core ontology and supplementary modules. Examples are provided to illustrate how the vocabulary can be used to describe the provenance of Linked Data, including information about data creation and retrieval processes. The design principles emphasize usability, flexibility, and integration with other vocabularies. Future work includes further alignment and additional modules to cover more provenance aspects.
Using Web Data Provenance for Quality AssessmentOlaf Hartig
This document proposes using web data provenance for automated quality assessment. It defines provenance as information about the origin and processing of data. The goal is to develop methods to automatically assess quality criteria like timeliness. It outlines a general provenance-based assessment approach involving generating a provenance graph, annotating it with impact values representing how provenance elements influence quality, and calculating a quality score with an assessment function. As an example, it shows how the approach could be applied to assess the timeliness of sensor measurements based on their provenance.
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Aqusag Technologies
In late April 2025, a significant portion of Europe, particularly Spain, Portugal, and parts of southern France, experienced widespread, rolling power outages that continue to affect millions of residents, businesses, and infrastructure systems.
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Mastering Advance Window Functions in SQL.pdfSpiral Mantra
How well do you really know SQL?📊
.
.
If PARTITION BY and ROW_NUMBER() sound familiar but still confuse you, it’s time to upgrade your knowledge
And you can schedule a 1:1 call with our industry experts: https://spiralmantra.com/contact-us/ or drop us a mail at [email protected]
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
Social Media App Development Company-EmizenTechSteve Jonas
EmizenTech is a trusted Social Media App Development Company with 11+ years of experience in building engaging and feature-rich social platforms. Our team of skilled developers delivers custom social media apps tailored to your business goals and user expectations. We integrate real-time chat, video sharing, content feeds, notifications, and robust security features to ensure seamless user experiences. Whether you're creating a new platform or enhancing an existing one, we offer scalable solutions that support high performance and future growth. EmizenTech empowers businesses to connect users globally, boost engagement, and stay competitive in the digital social landscape.
IT help desk outsourcing Services can assist with that by offering availability for customers and address their IT issue promptly without breaking the bank.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Web & Graphics Designing Training at Erginous Technologies in Rajpura offers practical, hands-on learning for students, graduates, and professionals aiming for a creative career. The 6-week and 6-month industrial training programs blend creativity with technical skills to prepare you for real-world opportunities in design.
The course covers Graphic Designing tools like Photoshop, Illustrator, and CorelDRAW, along with logo, banner, and branding design. In Web Designing, you’ll learn HTML5, CSS3, JavaScript basics, responsive design, Bootstrap, Figma, and Adobe XD.
Erginous emphasizes 100% practical training, live projects, portfolio building, expert guidance, certification, and placement support. Graduates can explore roles like Web Designer, Graphic Designer, UI/UX Designer, or Freelancer.
For more info, visit erginous.co.in , message us on Instagram at erginoustechnologies, or call directly at +91-89684-38190 . Start your journey toward a creative and successful design career today!
Train Smarter, Not Harder – Let 3D Animation Lead the Way!
Discover how 3D animation makes inductions more engaging, effective, and cost-efficient.
Check out the slides to see how you can transform your safety training process!
Slide 1: Why 3D animation changes the game
Slide 2: Site-specific induction isn’t optional—it’s essential
Slide 3: Visitors are most at risk. Keep them safe
Slide 4: Videos beat text—especially when safety is on the line
Slide 5: TechEHS makes safety engaging and consistent
Slide 6: Better retention, lower costs, safer sites
Slide 7: Ready to elevate your induction process?
Can an animated video make a difference to your site's safety? Let's talk.
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes
Querying Linked Data with SPARQL
1. Querying
Linked Data
with
SPARQL
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
2. Brief Introduction to SPARQL
● SPARQL: Query Language for RDF data
● Main idea: pattern matching
● Describe subgraphs of the queried RDF graph
● Subgraphs that match your description yield a result
● Mean: graph patterns (i.e. RDF graphs /w variables)
?v rdf:type
http://.../Volcano
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
3. Brief Introduction to SPARQL
Queried
graph:
rdf:type
http://.../Mount_Baker http://.../Volcano
p:lastEruption rdf:type
"1880" htp://.../Mount_Etna
?v rdf:type
Results: http://.../Volcano
?v
http://.../Mount_Baker
http://.../Mount_Etna
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
4. SPARQL Endpoints
● Linked data sources usually provide a
SPARQL endpoint for their dataset(s)
● SPARQL endpoint: SPARQL query processing
service that supports the SPARQL protocol*
● Send your SPARQL query, receive the result
* http://www.w3.org/TR/rdf-sparql-protocol/
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
5. SPARQL Endpoints
Data Source Endpoint Address
DBpedia http://dbpedia.org/sparql
Musicbrainz http://dbtune.org/musicbrainz/sparql
U.S. Census http://www.rdfabout.com/sparql
Semantic Crunchbase http://cb.semsol.org/sparql
More complete list:
http://esw.w3.org/topic/SparqlEndpoints
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
6. Accessing a SPARQL Endpoint
● SPARQL endpoints: RESTful Web services
● Issuing SPARQL queries to a remote SPARQL
endpoint is basically an HTTP GET request to
the SPARQL endpoint with parameter query
GET /sparql?query=PREFIX+rd... HTTP/1.1
Host: dbpedia.org
User-agent: my-sparql-client/0.1
URL-encoded string
with the SPARQL query
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
7. Query Results Formats
● SPARQL endpoints usually support different
result formats:
● XML, JSON, plain text
(for ASK and SELECT queries)
● RDF/XML, NTriples, Turtle, N3
(for DESCRIBE and CONSTRUCT queries)
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
8. Query Results Formats
PREFIX dbp: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
SELECT ?name ?bday WHERE {
?p dbp:birthplace <http://dbpedia.org/resource/Berlin> ;
dbpprop:dateOfBirth ?bday ;
dbpprop:name ?name .
}
name | bday
------------------------+------------
Alexander von Humboldt | 1769-09-14
Ernst Lubitsch | 1892-01-28
...
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
11. Query Result Formats
● Use the ACCEPT header to request the
preferred result format:
GET /sparql?query=PREFIX+rd... HTTP/1.1
Host: dbpedia.org
User-agent: my-sparql-client/0.1
Accept: application/sparql-results+json
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
12. Query Result Formats
● As an alternative some SPARQL endpoint
implementations (e.g. Joseki) provide an
additional parameter out
GET /sparql?out=json&query=... HTTP/1.1
Host: dbpedia.org
User-agent: my-sparql-client/0.1
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
13. Accessing a SPARQL Endpoint
● More convenient: use a library
● Libraries:
● SPARQL JavaScript Library
http://www.thefigtrees.net/lee/blog/2006/04/sparql_calendar_demo_a_sparql.html
● ARC for PHP
http://arc.semsol.org/
● RAP – RDF API for PHP
http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/index.html
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
14. Accessing a SPARQL Endpoint
● Libraries (cont.):
● Jena / ARQ (Java) http://jena.sourceforge.net/
● Sesame (Java) http://www.openrdf.org/
● SPARQL Wrapper (Python)
http://sparql-wrapper.sourceforge.net/
● PySPARQL (Python)
http://code.google.com/p/pysparql/
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
15. Accessing a SPARQL Endpoint
● Example with Jena / ARQ:
import com.hp.hpl.jena.query.*;
String service = "..."; // address of the SPARQL endpoint
String query = "SELECT ..."; // your SPARQL query
QueryExecution e = QueryExecutionFactory.sparqlService( service,
query );
ResultSet results = e.execSelect();
while ( results.hasNext() ) {
QuerySolution s = results.nextSolution();
// …
}
e.close();
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
16. ● Querying a single dataset is quite boring
compared to:
● Issuing SPARQL queries over multiple datasets
● How can you do this?
1. Issue follow-up queries to different endpoints
2. Querying a central collection of datasets
3. Build store with copies of relevant datasets
4. Use query federation system
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
17. Follow-up Queries
● Idea: issue follow-up queries over other
datasets based on results from previous
queries
● Substituting placeholders in query templates
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
18. String s1 = "http://cb.semsol.org/sparql";
String s2 = "http://dbpedia.org/sparql";
String qTmpl = "SELECT ?c WHERE{ <%s> rdfs:comment ?c }";
String q1 = "SELECT ?s WHERE { ...";
QueryExecution e1 = QueryExecutionFactory.sparqlService(s1,q1);
ResultSet results1 = e1.execSelect();
while ( results1.hasNext() ) {
QuerySolution s1 = results.nextSolution();
String q2 = String.format( qTmpl, s1.getResource("s"),getURI() );
QueryExecution e2= QueryExecutionFactory.sparqlService(s2,q2);
ResultSet results2 = e2.execSelect();
while ( results2.hasNext() ) {
// ...
} Find a list of companies
e2.close();
}
filtered by some criteria and
e1.close(); return DBpedia URIs of them
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
19. Follow-up Queries
● Advantage:
● Queried data is up-to-date
● Drawbacks:
● Requires the existence of a SPARQL endpoint for
each dataset
● Requires program logic
● Very inefficient
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
20. Querying a Collection of Datasets
● Idea: Use an existing SPARQL endpoint that
provides access to a set of copies of relevant
datasets
● Example:
● SPARQL endpoint by OpenLink SW over a majority
of datasets from the LOD cloud at:
http://lod.openlinksw.com/sparql
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
21. Querying a Collection of Datasets
● Advantage:
● No need for specific program logic
● Drawbacks:
● Queried data might be out of date
● Not all relevant datasets in the collection
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
22. Own Store of Dataset Copies
● Idea: Build your own store with copies of
relevant datasets and query it
● Possible stores:
● Jena TDB http://jena.hpl.hp.com/wiki/TDB
● Sesame http://www.openrdf.org/
● OpenLink Virtuoso http://virtuoso.openlinksw.com/
● 4store http://4store.org/
● AllegroGraph http://www.franz.com/agraph/
● etc.
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
23. Own Store of Dataset Copies
● Advantages:
● No need for specific program logic
● Can include all datasets
● Independent of the existence, availability, and
efficiency of SPARQL endpoints
● Drawbacks:
● Requires effort to set up and to operate the store
● Ideally, data sources provide RDF dumps; if not?
● How to keep the copies in sync with the originals?
● Queried data might be out of date
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
24. Federated Query Processing
● Idea: Querying a mediator which ?
distributes subqueries to
relevant sources and
integrates the results
?
? ?
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
25. Federated Query Processing
● Instance-based federation
● Each thing described by only one data source
● Untypical for the Web of Data
● Triple-based federation
● No restrictions
● Requires more distributed joins
● Statistics about datasets requires (both cases)
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
26. Federated Query Processing
● DARQ (Distributed ARQ)
http://darq.sourceforge.net/
● Query engine for federated SPARQL queries
● Extension of ARQ (query engine for Jena)
● Last update: June 28, 2006
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
27. Federated Query Processing
● Semantic Web Integrator and Query Engine
(SemWIQ) http://semwiq.sourceforge.net/
● Actively maintained by Andreas Langegger
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
28. Federated Query Processing
● Advantages:
● No need for specific program logic
● Queried data is up to date
● Drawbacks:
● Requires the existence of a SPARQL endpoint for
each dataset
● Requires effort to set up and configure the mediator
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
29. In any case:
● You have to know the relevant data sources
● When developing the app using follow-up queries
● When selecting an existing SPARQL endpoint over
a collection of dataset copies
● When setting up your own store with a collection of
dataset copies
● When configuring your query federation system
● You restrict yourself to the selected sources
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
30. In any case:
● You have to know the relevant data sources
● When developing the app using follow-up queries
● When selecting an existing SPARQL endpoint over
a collection of dataset copies
● When setting up your own store with a collection of
dataset copies
● When configuring your query federation system
● You restrict yourself to the selected sources
There is an alternative:
Remember, URIs link to data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
31. Automated
Link Traversal
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
32. Automated Link Traversal
● Idea: Discover further data by looking-up
relevant URIs in your application
● Can be combined with the previous approaches
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
33. Link Traversal Based
Query Execution
● Applies the idea of automated link traversal to the
execution of SPARQL queries
● Idea:
● Intertwine query evaluation with traversal of RDF links
● Discover data that might contribute to query results
during query execution
● Alternately:
● Evaluate parts of the query
● Look up URIs in intermediate solutions
Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
34. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats .
?cStats stat:unempRate ?u . }
● Example:
Return unemployment rate of the countries in
which the movie http://mymovie.db/movie2449
was filmed.
Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
35. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats .
49
v ie24
?cStats stat:unempRate ?u . } .d b/mo
m ovie
http ://my ?
Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
36. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats .
?cStats stat:unempRate ?u . }
Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
37. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats .
?cStats stat:unempRate ?u . }
...
<http://mymovie.db/movie2449>
mov:filming_location <http://geo.../Italy> .
Queried data
...
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
38. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats . ?loc
?cStats stat:unempRate ?u . } http://geo.../Italy
...
<http://mymovie.db/movie2449>
mov:filming_location <http://geo.../Italy> .
Queried data
...
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
39. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats . ?loc
?cStats stat:unempRate ?u . } http://geo.../Italy
taly
o.../I
/ / ge ?
http:
Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
40. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats . ?loc
?cStats stat:unempRate ?u . } ly
http://geo.../Italy
eo .../Ita
http://g ?
Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
41. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats . ?loc
?cStats stat:unempRate ?u . } http://geo.../Italy
Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
42. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats . ?loc
?cStats stat:unempRate ?u . } http://geo.../Italy
...
<http://geo.../Italy>
geo:statistics <http://example.db/stat/IT> .
... Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
43. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats . ?loc
?cStats stat:unempRate ?u . } http://geo.../Italy
?loc ?stat
http://geo.../Italy http://stats.db/../it
...
<http://geo.../Italy>
geo:statistics <http://example.db/stat/IT> .
... Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
44. Link Traversal Based
Query Execution
SELECT ?c ?u WHERE {
<http://mymovie.db/movie2449> mov:filming_location ?c .
?c geo:statistics ?cStats . ?loc
?cStats stat:unempRate ?u . } http://geo.../Italy
?loc ?stat
http://geo.../Italy http://stats.db/../it
● Proceed with this strategy
(traverse RDF links
during query execution)
Queried data
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
45. Link Traversal Based
Query Execution
● Advantages:
● No need to know all data sources in advance
● No need for specific programming logic
● Queried data is up to date
● Independent of the existence of SPARQL endpoints
provided by the data sources
● Drawbacks:
● Not as fast as a centralized collection of copies
● Unsuitable for some queries
● Results might be incomplete
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
46. Implementations
● Semantic Web Client library (SWClLib) for Java
http://www4.wiwiss.fu-berlin.de/bizer/ng4j/semwebclient/
● SWIC for Prolog http://moustaki.org/swic/
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
47. Implementations
● SQUIN http://squin.org
● Provides SWClLib functionality as a Web service
● Accessible like a SPARQL endpoint
● Public SQUIN service at:
http://squin.informatik.hu-berlin.de/SQUIN/
● Install package: unzip and start
● Convenient access with SQUIN PHP tools:
$s = 'http:// …'; // address of the SQUIN service
$q = new SparqlQuerySock( $s, '… SELECT ...' );
$res = $q->getJsonResult(); // or getXmlResult()
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"
48. Real-World Examples
SELECT DISTINCT ?author ?phone WHERE {
?pub swc:isPartOf
<http://data.semanticweb.org/conference/eswc/2009/proceedings> .
?pub swc:hasTopic ?topic . ?topic rdfs:label ?topicLabel .
FILTER regex( str(?topicLabel), "ontology engineering", "i" ) .
# of query results 2
?pub swrc:author ?author . # of retrieved graphs 297
{ ?author owl:sameAs ?authorAlt } # of accessed servers 16
UNION avg. execution time 1min 30sec
{ ?authorAlt owl:sameAs ?author }
Return
?authorAlt foaf:phone ?phone . phone numbers of authors
of ontology engineering papers
}
at ESWC'09.
ISWC 2009 Tutorial "How to Consume Linked Data on the Web"