XSPARQL is a query language that allows querying of both XML and RDF data sources simultaneously. It extends the syntax of XQuery with a SPARQL-for clause to query RDF data and a CONSTRUCT clause to produce RDF output. XSPARQL 1.1 supports SPARQL 1.1 operators like aggregation, federation, negation and property paths. It also allows processing of JSON files. The XSPARQL evaluator takes an XSPARQL query, rewrites it, optimizes it, and executes it using XQuery and SPARQL engines to retrieve and combine data from different sources into a unified XML or RDF answer.
Presentation on RDF Stream Processing models given at the SR4LD tutorial (ISWC 2013) -- updated version at: http://www.slideshare.net/dellaglio/rsp2014-01rspmodelsss
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.
Presentation on RDF Stream Processing models given at the SR4LD tutorial (ISWC 2013) -- updated version at: http://www.slideshare.net/dellaglio/rsp2014-01rspmodelsss
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.
Talk given at the London Semantic Web Meetup February 17th 2015. Discusses projects that aim to bridge the gap between the RDF and the Hadoop ecosystems primarily focusing on Apache Jena Elephas.
Project Tungsten: Bringing Spark Closer to Bare MetalDatabricks
As part of the Tungsten project, Spark has started an ongoing effort to dramatically improve performance to bring the execution closer to bare metal. In this talk, we’ll go over the progress that has been made so far and the areas we’re looking to invest in next. This talk will discuss the architectural changes that are being made as well as some discussion into how Spark users can expect their application to benefit from this effort. The focus of the talk will be on Spark SQL but the improvements are general and applicable to multiple Spark technologies.
These slides were presented by Hossein Falaki of Databricks to the Atlanta Apache Spark User Group on Thursday, March 9, 2017: https://www.meetup.com/Atlanta-Apache-Spark-User-Group/events/238120227/
Debugging PySpark: Spark Summit East talk by Holden KarauSpark Summit
Apache Spark is one of the most popular big data projects, offering greatly improved performance over traditional MapReduce models. Much of Apache Spark’s power comes from lazy evaluation along with intelligent pipelining, which can make debugging more challenging. This talk will examine how to debug Apache Spark applications, the different options for logging in Spark’s variety of supported languages, as well as some common errors and how to detect them.
Spark’s own internal logging can often be quite verbose, and this talk will examine how to effectively search logs from Apache Spark to spot common problems. In addition to the internal logging, this talk will look at options for logging from within our program itself.
Spark’s accumulators have gotten a bad rap because of how they interact in the event of cache misses or partial recomputes, but this talk will look at how to effectively use Spark’s current accumulators for debugging as well as a look to future for data property type accumulators which may be coming to Spark in future version.
In addition to reading logs, and instrumenting our program with accumulators, Spark’s UI can be of great help for quickly detecting certain types of problems.
At the recent sold-out Spark & Machine Learning Meetup in Brussels, Holden Karau of the Spark Technology Center delivered a lightning talk called A very brief introduction to extending Spark ML for custom models: Talk + Demo.
Holden took a look at Apache SparkML™ pipelines. Inspired by sci-kit learn, they have the potential to make machine learning tasks much easier. This talk looked at how to extend Spark ML with custom model types when the built-in options don't meet your needs.
Knoldus organized a Meetup on 1 April 2015. In this Meetup, we introduced Spark with Scala. Apache Spark is a fast and general engine for large-scale data processing. Spark is used at a wide range of organizations to process large datasets.
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...Databricks
Parquet is a very popular column based format. Spark can automatically filter useless data using parquet file statistical data by pushdown filters, such as min-max statistics. On the other hand, Spark user can enable Spark parquet vectorized reader to read parquet files by batch. These features improve Spark performance greatly and save both CPU and IO. Parquet is the default data format of data warehouse in Bytedance. In practice, we find that parquet pushdown filters work poorly resulting in reading too much unnecessary data for statistical data has no discrimination across parquet row groups(column data is out of order when writing to parquet files by ETL jobs).
As of Drupal 7 we'll have RDFa markup in core, in this session I will:
-explain what the implications are of this and why this matters
-give a short introduction to the Semantic web, RDF, RDFa and SPARQL in human language
-give a short overview of the RDF modules that are available in contrib
-talk about some of the potential use cases of all these magical technologies
London Spark Meetup Project Tungsten Oct 12 2015Chris Fregly
Building on a previous talk about how Spark beat Hadoop @ 100TB Daytona GraySort, we present low-level details of Project Tungsten which includes many CPU and Memory optimizations.
Talk given at the London Semantic Web Meetup February 17th 2015. Discusses projects that aim to bridge the gap between the RDF and the Hadoop ecosystems primarily focusing on Apache Jena Elephas.
Project Tungsten: Bringing Spark Closer to Bare MetalDatabricks
As part of the Tungsten project, Spark has started an ongoing effort to dramatically improve performance to bring the execution closer to bare metal. In this talk, we’ll go over the progress that has been made so far and the areas we’re looking to invest in next. This talk will discuss the architectural changes that are being made as well as some discussion into how Spark users can expect their application to benefit from this effort. The focus of the talk will be on Spark SQL but the improvements are general and applicable to multiple Spark technologies.
These slides were presented by Hossein Falaki of Databricks to the Atlanta Apache Spark User Group on Thursday, March 9, 2017: https://www.meetup.com/Atlanta-Apache-Spark-User-Group/events/238120227/
Debugging PySpark: Spark Summit East talk by Holden KarauSpark Summit
Apache Spark is one of the most popular big data projects, offering greatly improved performance over traditional MapReduce models. Much of Apache Spark’s power comes from lazy evaluation along with intelligent pipelining, which can make debugging more challenging. This talk will examine how to debug Apache Spark applications, the different options for logging in Spark’s variety of supported languages, as well as some common errors and how to detect them.
Spark’s own internal logging can often be quite verbose, and this talk will examine how to effectively search logs from Apache Spark to spot common problems. In addition to the internal logging, this talk will look at options for logging from within our program itself.
Spark’s accumulators have gotten a bad rap because of how they interact in the event of cache misses or partial recomputes, but this talk will look at how to effectively use Spark’s current accumulators for debugging as well as a look to future for data property type accumulators which may be coming to Spark in future version.
In addition to reading logs, and instrumenting our program with accumulators, Spark’s UI can be of great help for quickly detecting certain types of problems.
At the recent sold-out Spark & Machine Learning Meetup in Brussels, Holden Karau of the Spark Technology Center delivered a lightning talk called A very brief introduction to extending Spark ML for custom models: Talk + Demo.
Holden took a look at Apache SparkML™ pipelines. Inspired by sci-kit learn, they have the potential to make machine learning tasks much easier. This talk looked at how to extend Spark ML with custom model types when the built-in options don't meet your needs.
Knoldus organized a Meetup on 1 April 2015. In this Meetup, we introduced Spark with Scala. Apache Spark is a fast and general engine for large-scale data processing. Spark is used at a wide range of organizations to process large datasets.
Improving SparkSQL Performance by 30%: How We Optimize Parquet Pushdown and P...Databricks
Parquet is a very popular column based format. Spark can automatically filter useless data using parquet file statistical data by pushdown filters, such as min-max statistics. On the other hand, Spark user can enable Spark parquet vectorized reader to read parquet files by batch. These features improve Spark performance greatly and save both CPU and IO. Parquet is the default data format of data warehouse in Bytedance. In practice, we find that parquet pushdown filters work poorly resulting in reading too much unnecessary data for statistical data has no discrimination across parquet row groups(column data is out of order when writing to parquet files by ETL jobs).
As of Drupal 7 we'll have RDFa markup in core, in this session I will:
-explain what the implications are of this and why this matters
-give a short introduction to the Semantic web, RDF, RDFa and SPARQL in human language
-give a short overview of the RDF modules that are available in contrib
-talk about some of the potential use cases of all these magical technologies
London Spark Meetup Project Tungsten Oct 12 2015Chris Fregly
Building on a previous talk about how Spark beat Hadoop @ 100TB Daytona GraySort, we present low-level details of Project Tungsten which includes many CPU and Memory optimizations.
Analyze one year of radio station songs aired with Spark SQL, Spotify, and Da...Paul Leclercq
Paris Spark Meetup - May 2017
Video : https://www.youtube.com/watch?v=w5Zd-1wIJrU
AdHoc analysis of radio stations broadcasts stored in a parquet files with plain SQL, the dataframe API.
The aim was to notice radio stations habits, differences and if radio stations brainwashing is a thing
This talk's Databricks notebook can be found here : https://databricks-prod-cloudfront.cloud.databricks.com/public/4027ec902e239c93eaaa8714f173bcfc/6937750999095841/3645330882010081/6197123402747553/latest.html
Triplewave: a step towards RDF Stream Processing on the WebDaniele Dell'Aglio
The slides of my talk at INSIGHT Centre for Data Analytics (in NUI Galway) where I presented TripleWave (http://streamreasoning.github.io/TripleWave/), an open-source framework to create and publish streams of RDF data.
Invited talk at USEWOD2014 (http://people.cs.kuleuven.be/~bettina.berendt/USEWOD2014/)
A tremendous amount of machine-interpretable information is available in the Linked Open Data Cloud. Unfortunately, much of this data remains underused as machine clients struggle to use the Web. I believe this can be solved by giving machines interfaces similar to those we offer humans, instead of separate interfaces such as SPARQL endpoints. In this talk, I'll discuss the Linked Data Fragments vision on machine access to the Web of Data, and indicate how this impacts usage analysis of the LOD Cloud. We all can learn a lot from how humans access the Web, and those strategies can be applied to querying and analysis. In particular, we have to focus first on solving those use cases that humans can do easily, and only then consider tackling others.
This presentation looks in detail at SPARQL (SPARQL Protocol and RDF Query Language) and introduces approaches for querying and updating semantic data. It covers the SPARQL algebra, the SPARQL protocol, and provides examples for reasoning over Linked Data. We use examples from the music domain, which can be directly tried out and ran over the MusicBrainz dataset. This includes gaining some familiarity with the RDFS and OWL languages, which allow developers to formulate generic and conceptual knowledge that can be exploited by automatic reasoning services in order to enhance the power of querying.
Transient and persistent RDF views over relational databases in the context o...Nikolaos Konstantinou
As far as digital repositories are concerned, numerous benefits emerge from the disposal of their contents as Linked Open Data (LOD). This leads more and more repositories towards this direction. However, several factors need to be taken into account in doing so, among which is whether the transition needs to be materialized in real-time or in asynchronous time intervals. In this paper we provide the problem framework in the context of digital repositories, we discuss the benefits and drawbacks of both approaches and draw our conclusions after evaluating a set of performance measurements. Overall, we argue that in contexts with infrequent data updates, as is the case with digital repositories, persistent RDF views are more efficient than real-time SPARQL-to-SQL rewriting systems in terms of query response times, especially when expensive SQL queries are involved.
Linked Media Management with Apache MarmottaThomas Kurz
The integration of multimedia assets on the web with structured (linked) data promises further opportunities for digital market places regarding findability and recommendations. The new W3C standards for Media Annotation, Media Fragment UIRs and Linked Data Platforms build a stable base for this purpose. Thomas Kurz shows how to use the Linked Data Platform Apache Marmotta as a backend for the storage and retrieval of Linked Media. In his talk he is going to show extensions for a seamless integration of media streaming for Non-RDF resources and spatio-regional media fragment retrieval with SPARQL.
The presentation I gave at Linköping University about web stream processing. I discuss two problems: (i) exchanging data streams on the web, and (ii) combining streams and contextual quasi-static data on the web
The talk I gave at the Stream Reasoning workshop in TU Berlin on December 8. I give an overview of RSEP-QL and how it can capture and formalise the behaviour of existing RSP engines, e.g. CSPARQL, EP-SPARQL, CQELS, SPARQLstream
Brief report about the contents of the Stream Reasoning workshop at SIWC 2016. Additional info about the event are available at: http://streamreasoning.org/events/sr2016
On Unified Stream Reasoning - The RDF Stream Processing realmDaniele Dell'Aglio
The presentation of my talk at WU Vienna on 18/2/2016. I discuss the problem of unifying existing solutions to process semantic streams - with a particular focus on the ones that perform continuous query answering over RDF streams
Presentation for the research school: Foundations and Challenges of Change in Ontologies and Databases 2014 at the Free University of Bozen-Bolzano, Italy
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
Querying the Web of Data with XSPARQL 1.1
1. Querying the Web of Data with XSPARQL 1.1
Daniele Dell’Aglio (DEIB, Politecnico di Milano)
Axel Polleres (Vienna University of Economics and Business)
Nuno Lopes (IBM Research Ireland)
Stefan Bischof (SIEMENS Austria)
2. / 8
What is XSPARQL?
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
2
XSPARQL is a transformation language to conveniently query XML and RDF side-by-side
It is a syntactic extension of XQuery
A SPARQL-for clause to query RDF data (by using SPARQL operators)
A CONSTRUCT clause to produce RDF output
3. / 8
What is XSPARQL?
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
2
XSPARQL is a transformation language to conveniently query XML and RDF side-by-side
It is a syntactic extension of XQuery
A SPARQL-for clause to query RDF data (by using SPARQL operators)
A CONSTRUCT clause to produce RDF output
Several improvements during the years
Support for querying RDBMS data sources
Support for R2RML
Query optimisations
4. / 8
Where to go to learn headbanging?
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label
Pictures from Wikipedia
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
3
5. / 8
Where to go to learn headbanging?
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label
We can get
The list of the artists from DBPedia
Pictures from Wikipedia
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
3
6. / 8
Where to go to learn headbanging?
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label
We can get
The list of the artists from DBPedia
The concerts on Last.fm
Pictures from Wikipedia
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
3
7. / 8
Where to go to learn headbanging?
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label
We can get
The list of the artists from DBPedia
The concerts on Last.fm
And put data… together?
Different data sources
Different formats (JSON, RDF)
Pictures from Wikipedia
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
3
8. / 8
Where to go to learn headbanging?
We want to retrieve the list of upcoming concerts of music artists having Nuclear Blast as music label
We can get
The list of the artists from DBPedia
The concerts on Last.fm
And put data… together?
Different data sources
Different formats (JSON, RDF)
Pictures from Wikipedia
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
3
9. / 8
How can XSPARQL 1.1 help us?
1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. }
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
4
10. / 8
How can XSPARQL 1.1 help us?
1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. }
Support of SPARQL 1.1 operators:
Assignment/Project Expressions
Aggregate functions: SUM, AVG,...
Federation
Negation
Property paths
Subqueries
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
4
11. / 8
How can XSPARQL 1.1 help us?
1. prefix lastfm: <http://xsparql.deri.org/lastfm#> 2. prefix dbprop: http://dbpedia.org/property/ 3. prefix dbpedia: <http://dbpedia.org/resource/> 4. for * 5. where { 6. service <http://dbpedia.org/sparql> { 7. $artist a dbowl:Band ; 8. dbprop:label dbpedia:Nuclear_Blast ; 9. dbprop:name $artistName . 10. } 11. } 12. return 13. let $doc := fn:concat("http://ws.../artist=",$artistName) 14. for $event in xsparql:json-doc($doc)//events/event/* 15. construct { 16. [] a lastfm:Event ; 17. lastfm:artist {$artistName} ; 18. lastfm:venue {$event/venue/location/city} ; 19. last:date {$event/startDate} 20. }
Support of SPARQL 1.1 operators:
Assignment/Project Expressions
Aggregate functions: SUM, AVG,...
Federation
Negation
Property paths
Subqueries
Processing of JSON files
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
4
12. / 8
How does it work?
xsparql
evaluator
xsparql
rewriter
XSPARQL query
data
xsparql-cli
JAR Library
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
5
13. / 8
How does it work?
XQuery query
xsparql
evaluator
xsparql
rewriter
lexer/parser
rewriter
optimizer
XSPARQL query
data
xsparql-cli
JAR Library
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
5
14. / 8
How does it work?
XQuery query
XQuery engine
SPARQL engine
xsparql
evaluator
xsparql
rewriter
lexer/parser
rewriter
optimizer
XSPARQL query
answer (XML|RDF)
data
xsparql-cli
JAR Library
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
5
15. / 8
How does it work?
XQuery query
XQuery engine
SPARQL engine
xsparql
evaluator
xsparql
rewriter
lexer/parser
rewriter
optimizer
XSPARQL query
answer (XML|RDF)
data
xsparql-cli
JAR Library
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
5
16. / 8
How does it work?
…
XSPARQLEvaluator evalutor =
new XSPARQLEvaluator();
Reader query = ...;
Writer out = ...;
evalutor.evaluate(query, out);
…
XQuery query
XQuery engine
SPARQL engine
xsparql
evaluator
xsparql
rewriter
lexer/parser
rewriter
optimizer
XSPARQL query
answer (XML|RDF)
data
xsparql-cli
JAR Library
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
5
17. / 8
Whats next?
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
6
Use of different SPARQL engines
openRDF and Strabon
Support to JSON-LD
No full control flow
XQUERY/XSPARQL don’t allow you to specify politeness (e.g. crawl delays between doc(.) calls)
18. / 8
Thank you!
Querying the Web of Data with XSPARQL 1.1
http://xsparql.deri.org
http://sourceforge.net/projects/xsparql
Daniele Dell’Aglio, Axel Polleres, Nuno Lopes and Stefan Bischof
daniele.dellaglio@polimi.it
(Thank you, SWSA and Google, for my Student Travel grant!)
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
7
19. / 8
The last slide :)
19 October 2014 - ISWC Dev Workshop 2014
Querying the Web of Data with XSPARQL 1.1
XQuery query
XQuery engine
SPARQL engine
xsparql
evaluator
xsparql
rewriter
lexer/parser
rewriter
optimizer
XSPARQL query
answer (XML|RDF)
data
xsparql-cli
JAR Library
Pictures from Wikipedia
8