This chapter introduces the semantic modeling procedure, detailing its technical characteristics, possibilities and limitations. First, we present the languages that are used for semantic description. We present RDF, RDFS and OWL, describe their expressiveness in terms of describing Web Resources, and the abilities they provide in order to describe, query, administer and manage resources at a semantic layer. Next, we present the vocabularies that are used in order to provide common grounds in understanding and communicating ideas and concepts. The technologies, together with the vocabularies used, altogether comprise the modern landscape of Semantic Web/Linked Data applications and serve as the basis for maintaining, analyzing datasets and building applications on top of them.
Watch this talk here: http://videos.confluent.io/watch/Rgd5r8oV1ToDpcFfenMQrF
This session covers the patterns and techniques of using KSQL. Tim Berglund discusses the various building blocks that you can use in your own applications, starting with the language syntax itself and covering how and when to use its powerful capabilities like a pro. This is part 1 out of 3 in the Empowering Streams through KSQL series.
Seamless Guest Experience with Kafka Streams (Ramaraju Indukurir and Himani A...confluent
The cruise industry has unique set of challenges when it comes to deploying products that directly interact with guests across ships. No matter what the challenges are, Applications that run on ships, always need to provide same functionality as on shore. To name few, Each ship is almost a separate datacenter and there are tens of ships. Second, the ships compute capacity is much lower than what an AWS data center can provide and hence any thing that is deployed on ship need to be lean.Third, the bandwidth, though improving, is still a big constraint in transferring data between ship and shore. Fourth, The company’s legacy systems power the core booking functionality and that information is still vital to every feature or application that happens across enterprise including ships.
Hence traditionally cruise industry shied away from real time integration and mostly resorts to a ‘rollover’ process, where in the data gets transferred at the beginning or end of the cruise. But this can’t be the solution with digital. Mobiles need to allow stream of changes real time, as guests go from ship to shore to ship or ship to ship or shore to ship. Our customer, a leading cruise company instituted a team to solve these synchronization issues and also enable event driven architecture. This presentation will address the evolution, idea and implementation of data synchronization and enabling event driven organization using Kafka and streams technologies at its core.
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)confluent
Presenter: Tim Berglund, Senior Director of Developer Experience, Confluent
It has become a truism in the past decade that building systems at scale, using non-relational databases, requires giving up on the transactional guarantees afforded by the relational databases of yore. ACID transactional semantics are fine, but we all know you can’t have them all in a distributed system. Or can we?
In this talk, I will argue that by designing our systems around a distributed log like Apache Kafka®, we can in fact achieve ACID semantics at scale. We can ensure that distributed write operations can be applied atomically, consistently, in isolation between services, and of course with durability. What seems to be a counterintuitive conclusion ends up being straightforwardly achievable using existing technologies, as an elusive set of properties becomes relatively easy to achieve with the right architectural paradigm underlying the application.
Case Study: Stream Processing on AWS using Kappa ArchitectureJoey Bolduc-Gilbert
In the summer of 2016, XpertSea decided to migrate its operations to AWS and to build a data processing system that is able to scale to the extent of our ambitions. Come see how we built our platform inspired by Kappa Architecture, able to support connected devices located all-around the globe and state-of-the-art machine learning algorithms.
Watch this talk here: http://videos.confluent.io/watch/Rgd5r8oV1ToDpcFfenMQrF
This session covers the patterns and techniques of using KSQL. Tim Berglund discusses the various building blocks that you can use in your own applications, starting with the language syntax itself and covering how and when to use its powerful capabilities like a pro. This is part 1 out of 3 in the Empowering Streams through KSQL series.
Seamless Guest Experience with Kafka Streams (Ramaraju Indukurir and Himani A...confluent
The cruise industry has unique set of challenges when it comes to deploying products that directly interact with guests across ships. No matter what the challenges are, Applications that run on ships, always need to provide same functionality as on shore. To name few, Each ship is almost a separate datacenter and there are tens of ships. Second, the ships compute capacity is much lower than what an AWS data center can provide and hence any thing that is deployed on ship need to be lean.Third, the bandwidth, though improving, is still a big constraint in transferring data between ship and shore. Fourth, The company’s legacy systems power the core booking functionality and that information is still vital to every feature or application that happens across enterprise including ships.
Hence traditionally cruise industry shied away from real time integration and mostly resorts to a ‘rollover’ process, where in the data gets transferred at the beginning or end of the cruise. But this can’t be the solution with digital. Mobiles need to allow stream of changes real time, as guests go from ship to shore to ship or ship to ship or shore to ship. Our customer, a leading cruise company instituted a team to solve these synchronization issues and also enable event driven architecture. This presentation will address the evolution, idea and implementation of data synchronization and enabling event driven organization using Kafka and streams technologies at its core.
Dissolving the Problem (Making an ACID-Compliant Database Out of Apache Kafka®)confluent
Presenter: Tim Berglund, Senior Director of Developer Experience, Confluent
It has become a truism in the past decade that building systems at scale, using non-relational databases, requires giving up on the transactional guarantees afforded by the relational databases of yore. ACID transactional semantics are fine, but we all know you can’t have them all in a distributed system. Or can we?
In this talk, I will argue that by designing our systems around a distributed log like Apache Kafka®, we can in fact achieve ACID semantics at scale. We can ensure that distributed write operations can be applied atomically, consistently, in isolation between services, and of course with durability. What seems to be a counterintuitive conclusion ends up being straightforwardly achievable using existing technologies, as an elusive set of properties becomes relatively easy to achieve with the right architectural paradigm underlying the application.
Case Study: Stream Processing on AWS using Kappa ArchitectureJoey Bolduc-Gilbert
In the summer of 2016, XpertSea decided to migrate its operations to AWS and to build a data processing system that is able to scale to the extent of our ambitions. Come see how we built our platform inspired by Kappa Architecture, able to support connected devices located all-around the globe and state-of-the-art machine learning algorithms.
Pragmatic Guide to Apache Kafka®'s Exactly Once Semanticsconfluent
Gwen Shapira, Confluent, Engineering Leader
It is easy to find information on how Kafka's exactly once semantics work. It isn't as easy to understand what it all means for you - what is and what is not guaranteed? Which kinds of use-cases are a good fit, and which are unlikely to work as expected? In this talk, we will separate hype from reality and explore what Kafka's Exactly-Once semantics means to developers using Kafka.
https://www.meetup.com/KafkaBayArea/events/276013048/
A new way to enables companies to consolidate their Financial Statements faster and in real time.This is the history of a BPC Tool that was misunderstood at the beginning ,but still it’s a good option many companies to use it.
Worldwide leader in technology-enabled business transformation, Deloitte supports decision makers in streamlining the group close processes and delivering their vision through distinctive Enterprise Performance Management solutions
One of your current priorities is to enable fast, intuitive and self-service access to critical information that also allows finance teams to spend more time in analysing the reasons for the numbers rather than just reporting them.
SAP Business Planning and Consolidation (BPC), Optimized for S/4HANA, also called SAP Real- Time Consolidation, offers a tight integration of the finance consolidation process with the core ERP landscape to avoid data replication and enable real-time analysis.
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryKai Wähner
Agenda:
1) Defence, Modern Warfare, and Cybersecurity in 202X
2) Data in Motion with Apache Kafka as Defence Backbone
3) Situational Awareness
4) Threat Intelligence
5) Forensics and AI / Machine Learning
6) Air-Gapped and Zero Trust Environments
7) SIEM / SOAR Modernization
Technologies discussed in the presentation include Apache Kafka, Kafka Streams, kqlDB, Kafka Connect, Elasticsearch, Splunk, IBM QRadar, Zeek, Netflow, PCAP, TensorFlow, AWS, Azure, GCP, Sigma, Confluent Cloud,
Kafka, Apache Kafka evolved from an enterprise messaging system to a fully distributed streaming data platform (Kafka Core + Kafka Connect + Kafka Streams) for building streaming data pipelines and streaming data applications.
This talk, that I gave at the Chicago Java Users Group (CJUG) on June 8th 2017, is mainly focusing on Kafka Streams, a lightweight open source Java library for building stream processing applications on top of Kafka using Kafka topics as input/output.
You will learn more about the following:
1. Apache Kafka: a Streaming Data Platform
2. Overview of Kafka Streams: Before Kafka Streams? What is Kafka Streams? Why Kafka Streams? What are Kafka Streams key concepts? Kafka Streams APIs and code examples?
3. Writing, deploying and running your first Kafka Streams application
4. Code and Demo of an end-to-end Kafka-based Streaming Data Application
5. Where to go from here?
SAP Analytics Cloud combines BI, planning, predictive, and augmented analytics capabilities into one simple cloud environment. Powered by AI technologies and an in-memory database, it is one of the most advanced analytics solutions available today.
DI&A Slides: Data Lake vs. Data WarehouseDATAVERSITY
Modern data analysis is moving beyond the Data Warehouse to the Data Lake where analysts are able to take advantage of emerging technologies to manage complex analytics on large data volumes and diverse data types. Yet, for some business problems, a Data Warehouse may still be the right solution.
If you’re on the fence, join this webinar as we compare and contrast Data Lakes and Data Warehouses, identifying situations where one approach may be better than the other and highlighting how the two can work together.
Get tips, takeaways and best practices about:
- The benefits and problems of a Data Warehouse
- How a Data Lake can solve the problems of a Data Warehouse
- Data Lake Architecture
- How Data Warehouses and Data Lakes can work together
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Kai Wähner
Architecture patterns for distributed, hybrid, edge and global Apache Kafka deployments
Multi-cluster and cross-data center deployments of Apache Kafka have become the norm rather than an exception. This session gives an overview of several scenarios that may require multi-cluster solutions and discusses real-world examples with their specific requirements and trade-offs, including disaster recovery, aggregation for analytics, cloud migration, mission-critical stretched deployments and global Kafka.
Key takeaways:
In many scenarios, one Kafka cluster is not enough. Understand different architectures and alternatives for multi-cluster deployments.
Zero data loss and high availability are two key requirements. Understand how to realize this, including trade-offs.
Learn about features and limitations of Kafka for multi cluster deployments
Global Kafka and mission-critical multi-cluster deployments with zero data loss and high availability became the normal, not an exception.
3 Kafka patterns to deliver Streaming Machine Learning models with Andrea Spi...HostedbyConfluent
The presentation highlights the main technical challenges Radicalbit faced while building a real-time serving engine for streaming Machine Learning algorithms. The speech describes how Kafka has been used to fasten two ML technologies together: River, an open-source suite of streaming machine learning algorithms, and Seldon-core, a DevOps-driven MLOps platform.
In particular, the talk focuses on how Kafka has been used to (1) build a dynamic model serving framework thanks to Kafka Streams joins and the broadcasting pattern (2) implement a Kafka user-given feedback topic by which online models can learn while they generate predictions, and (3) design a models' prediction bus, a particular Kafka bidirectional topic whereby predictions flow at tremendous scale; the prediction bus enabled seldon-core Kubernetes deployment to communicate with Kafka Streams, and as a conclusive subject this speech explains how this unleashed unprecedented performance.
Retail Analytics and BI with Looker, BigQuery, GCP & Leigha JarettDaniel Zivkovic
Leigha Jarett of GCP explains how to bring Cloud "superpowers" to your Data and modernize your Business Intelligence with Looker, BigQuery and Google Cloud services on an example of Cymbal Direct - one of Google Cloud's demo brands. The meetup recording with TOC for easy navigation is at https://youtu.be/BpzJU_S40ic.
P.S. For more interactive lectures like this, go to http://youtube.serverlesstoronto.org/ or sign up for our upcoming live events at https://www.meetup.com/Serverless-Toronto/events/
Advanced Change Data Streaming Patterns in Distributed Systems | Gunnar Morli...HostedbyConfluent
Microservices are one of the big trends in software engineering of the last few years; organising business functionality in several self-contained, loosely coupled services helps teams to work efficiently, make the most suitable technical decisions, and react quickly to new business requirements.
In this session we'll discuss and showcase how open-source change data capture (CDC) with Debezium can help developers with typical challenges they often face when working on microservices. Come and join us to learn how to:
- Employ the outbox pattern for reliable, eventually consistent data exchange between microservices, without incurring unsafe dual writes or tight coupling
- Gradually extract microservices from existing monolithic applications, using CDC and the strangler fig pattern
- Coordinate long-running business transactions across multiple services using CDC-based saga orchestration, ensuring such activity gets consistently applied or aborted by all participating services.
Oracle Machine Learning Overview and From Oracle Data Professional to Oracle ...Charlie Berger
DBAs spend too time with routine tasks leaving little time for innovation. Autonomous Databases free data professionals to extract more value from data. Oracle Machine Learning, in Autonomous Database, “moves the algorithms; not the data” for 100% in-database processing. Data professionals perform many supporting tasks for “data scientists”, typically 80% of the work. Come learn an evolutionary path for Oracle data professionals to leverage domain knowledge and data skills and add machine learning. See how to build and deploy predictive models inside the Database. Using examples, demos and sharing experiences, Charlie will show you how to discover new insights, make predictions and become an “Oracle Data Scientist” in just 6 weeks!
Incremental Export of Relational Database Contents into RDF GraphsNikolaos Konstantinou
In addition to tools offering RDF views over databases, a variety of tools exist that allow exporting database contents into RDF graphs; tools proven that in many cases demonstrate better performance than the former. However, in cases when database contents are exported into RDF, it is not always optimal or even necessary to dump the whole database contents every time. In this paper, the problem of incremental generation and storage of the resulting RDF graph is investigated. An implementation of the R2RML standard is used in order to express mappings that associate tuples from the source database to triples in the resulting RDF graph. Next, a methodology is proposed that enables incremental generation and storage of an RDF graph based on a source relational database, and it is evaluated through a set of performance measurements. Finally, a discussion is presented regarding the authors’ most important findings and conclusions.
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.
Pragmatic Guide to Apache Kafka®'s Exactly Once Semanticsconfluent
Gwen Shapira, Confluent, Engineering Leader
It is easy to find information on how Kafka's exactly once semantics work. It isn't as easy to understand what it all means for you - what is and what is not guaranteed? Which kinds of use-cases are a good fit, and which are unlikely to work as expected? In this talk, we will separate hype from reality and explore what Kafka's Exactly-Once semantics means to developers using Kafka.
https://www.meetup.com/KafkaBayArea/events/276013048/
A new way to enables companies to consolidate their Financial Statements faster and in real time.This is the history of a BPC Tool that was misunderstood at the beginning ,but still it’s a good option many companies to use it.
Worldwide leader in technology-enabled business transformation, Deloitte supports decision makers in streamlining the group close processes and delivering their vision through distinctive Enterprise Performance Management solutions
One of your current priorities is to enable fast, intuitive and self-service access to critical information that also allows finance teams to spend more time in analysing the reasons for the numbers rather than just reporting them.
SAP Business Planning and Consolidation (BPC), Optimized for S/4HANA, also called SAP Real- Time Consolidation, offers a tight integration of the finance consolidation process with the core ERP landscape to avoid data replication and enable real-time analysis.
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryKai Wähner
Agenda:
1) Defence, Modern Warfare, and Cybersecurity in 202X
2) Data in Motion with Apache Kafka as Defence Backbone
3) Situational Awareness
4) Threat Intelligence
5) Forensics and AI / Machine Learning
6) Air-Gapped and Zero Trust Environments
7) SIEM / SOAR Modernization
Technologies discussed in the presentation include Apache Kafka, Kafka Streams, kqlDB, Kafka Connect, Elasticsearch, Splunk, IBM QRadar, Zeek, Netflow, PCAP, TensorFlow, AWS, Azure, GCP, Sigma, Confluent Cloud,
Kafka, Apache Kafka evolved from an enterprise messaging system to a fully distributed streaming data platform (Kafka Core + Kafka Connect + Kafka Streams) for building streaming data pipelines and streaming data applications.
This talk, that I gave at the Chicago Java Users Group (CJUG) on June 8th 2017, is mainly focusing on Kafka Streams, a lightweight open source Java library for building stream processing applications on top of Kafka using Kafka topics as input/output.
You will learn more about the following:
1. Apache Kafka: a Streaming Data Platform
2. Overview of Kafka Streams: Before Kafka Streams? What is Kafka Streams? Why Kafka Streams? What are Kafka Streams key concepts? Kafka Streams APIs and code examples?
3. Writing, deploying and running your first Kafka Streams application
4. Code and Demo of an end-to-end Kafka-based Streaming Data Application
5. Where to go from here?
SAP Analytics Cloud combines BI, planning, predictive, and augmented analytics capabilities into one simple cloud environment. Powered by AI technologies and an in-memory database, it is one of the most advanced analytics solutions available today.
DI&A Slides: Data Lake vs. Data WarehouseDATAVERSITY
Modern data analysis is moving beyond the Data Warehouse to the Data Lake where analysts are able to take advantage of emerging technologies to manage complex analytics on large data volumes and diverse data types. Yet, for some business problems, a Data Warehouse may still be the right solution.
If you’re on the fence, join this webinar as we compare and contrast Data Lakes and Data Warehouses, identifying situations where one approach may be better than the other and highlighting how the two can work together.
Get tips, takeaways and best practices about:
- The benefits and problems of a Data Warehouse
- How a Data Lake can solve the problems of a Data Warehouse
- Data Lake Architecture
- How Data Warehouses and Data Lakes can work together
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...Kai Wähner
Architecture patterns for distributed, hybrid, edge and global Apache Kafka deployments
Multi-cluster and cross-data center deployments of Apache Kafka have become the norm rather than an exception. This session gives an overview of several scenarios that may require multi-cluster solutions and discusses real-world examples with their specific requirements and trade-offs, including disaster recovery, aggregation for analytics, cloud migration, mission-critical stretched deployments and global Kafka.
Key takeaways:
In many scenarios, one Kafka cluster is not enough. Understand different architectures and alternatives for multi-cluster deployments.
Zero data loss and high availability are two key requirements. Understand how to realize this, including trade-offs.
Learn about features and limitations of Kafka for multi cluster deployments
Global Kafka and mission-critical multi-cluster deployments with zero data loss and high availability became the normal, not an exception.
3 Kafka patterns to deliver Streaming Machine Learning models with Andrea Spi...HostedbyConfluent
The presentation highlights the main technical challenges Radicalbit faced while building a real-time serving engine for streaming Machine Learning algorithms. The speech describes how Kafka has been used to fasten two ML technologies together: River, an open-source suite of streaming machine learning algorithms, and Seldon-core, a DevOps-driven MLOps platform.
In particular, the talk focuses on how Kafka has been used to (1) build a dynamic model serving framework thanks to Kafka Streams joins and the broadcasting pattern (2) implement a Kafka user-given feedback topic by which online models can learn while they generate predictions, and (3) design a models' prediction bus, a particular Kafka bidirectional topic whereby predictions flow at tremendous scale; the prediction bus enabled seldon-core Kubernetes deployment to communicate with Kafka Streams, and as a conclusive subject this speech explains how this unleashed unprecedented performance.
Retail Analytics and BI with Looker, BigQuery, GCP & Leigha JarettDaniel Zivkovic
Leigha Jarett of GCP explains how to bring Cloud "superpowers" to your Data and modernize your Business Intelligence with Looker, BigQuery and Google Cloud services on an example of Cymbal Direct - one of Google Cloud's demo brands. The meetup recording with TOC for easy navigation is at https://youtu.be/BpzJU_S40ic.
P.S. For more interactive lectures like this, go to http://youtube.serverlesstoronto.org/ or sign up for our upcoming live events at https://www.meetup.com/Serverless-Toronto/events/
Advanced Change Data Streaming Patterns in Distributed Systems | Gunnar Morli...HostedbyConfluent
Microservices are one of the big trends in software engineering of the last few years; organising business functionality in several self-contained, loosely coupled services helps teams to work efficiently, make the most suitable technical decisions, and react quickly to new business requirements.
In this session we'll discuss and showcase how open-source change data capture (CDC) with Debezium can help developers with typical challenges they often face when working on microservices. Come and join us to learn how to:
- Employ the outbox pattern for reliable, eventually consistent data exchange between microservices, without incurring unsafe dual writes or tight coupling
- Gradually extract microservices from existing monolithic applications, using CDC and the strangler fig pattern
- Coordinate long-running business transactions across multiple services using CDC-based saga orchestration, ensuring such activity gets consistently applied or aborted by all participating services.
Oracle Machine Learning Overview and From Oracle Data Professional to Oracle ...Charlie Berger
DBAs spend too time with routine tasks leaving little time for innovation. Autonomous Databases free data professionals to extract more value from data. Oracle Machine Learning, in Autonomous Database, “moves the algorithms; not the data” for 100% in-database processing. Data professionals perform many supporting tasks for “data scientists”, typically 80% of the work. Come learn an evolutionary path for Oracle data professionals to leverage domain knowledge and data skills and add machine learning. See how to build and deploy predictive models inside the Database. Using examples, demos and sharing experiences, Charlie will show you how to discover new insights, make predictions and become an “Oracle Data Scientist” in just 6 weeks!
Incremental Export of Relational Database Contents into RDF GraphsNikolaos Konstantinou
In addition to tools offering RDF views over databases, a variety of tools exist that allow exporting database contents into RDF graphs; tools proven that in many cases demonstrate better performance than the former. However, in cases when database contents are exported into RDF, it is not always optimal or even necessary to dump the whole database contents every time. In this paper, the problem of incremental generation and storage of the resulting RDF graph is investigated. An implementation of the R2RML standard is used in order to express mappings that associate tuples from the source database to triples in the resulting RDF graph. Next, a methodology is proposed that enables incremental generation and storage of an RDF graph based on a source relational database, and it is evaluated through a set of performance measurements. Finally, a discussion is presented regarding the authors’ most important findings and conclusions.
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.
This book explains the Linked Data domain by adopting a bottom-up approach: it introduces the fundamental Semantic Web technologies and building blocks, which are then combined into methodologies and end-to-end examples for publishing datasets as Linked Data, and use cases that harness scholarly information and sensor data. It presents how Linked Data is used for web-scale data integration, information management and search. Special emphasis is given to the publication of Linked Data from relational databases as well as from real-time sensor data streams. The authors also trace the transformation from the document-based World Wide Web into a Web of Data. Materializing the Web of Linked Data is addressed to researchers and professionals studying software technologies, tools and approaches that drive the Linked Data ecosystem, and the Web in general.
In this Chapter, we summarize and discuss the material presented throughout this book. We recapitulate what is presented and discussed in each Chapter. We discuss the most interesting aspects of the Web of Data landscape, highlighting its main contributions, and then continue with a discussion, mentioning our most important observations, including domain-specific benefits in the LOD domain. We conclude the Chapter with a discussion of open research challenges in the Linked Data domain.
An Approach for the Incremental Export of Relational Databases into RDF GraphsNikolaos Konstantinou
Several approaches have been proposed in the literature for offering RDF views over databases. In addition to these, a variety of tools exist that allow exporting database contents into RDF graphs. The approaches in the latter category have often been proved demonstrating better performance than the ones in the former. However, when database contents are exported into RDF, it is not always optimal or even necessary to export, or dump as this procedure is often called, the whole database contents every time. This paper investigates the problem of incremental generation and storage of the RDF graph that is the result of exporting relational database contents. In order to express mappings that associate tuples from the source database to triples in the resulting RDF graph, an implementation of the R2RML standard is subject to testing. Next, a methodology is proposed and described that enables incremental generation and storage of the RDF graph that originates from the source relational database contents. The performance of this methodology is assessed, through an extensive set of measurements. The paper concludes with a discussion regarding the authors' most important findings.
This chapter provides an overview of the methodologies and technologies that support Linked Data designing and publishing. More specifically, this chapter starts with a presentation of the rationale and a discussion about how data can be opened up (i.e. published under an open license). Basic principles are first introduced regarding the cases in which content can be opened up and also, the most common approaches are presented in accomplishing this. Next, we discuss about how data can be modeled, authored, serialized and stored. In this chapter we also provide an overview of the most common technical solutions and widely used software tools that can serve this purpose. Overall, the chapter aims to provide an analysis of the sub-problems into which the Linked Open Data publishing task is to be broken down, namely opening, modeling, linking, processing, and visualizing content, followed by a presentation of the most representative software solutions.
In this chapter, we introduce and discuss the problems that Linked Data solve and the concepts that are related to these problems. We introduce and analyze the basic concepts that are related to the generation of Linked Data and the Semantic Web in general. We provide a brief history of the Semantic Web and the associated evolution of concepts, problem frameworks and solution approaches, all targeted at offering efficient and intelligent solutions to information representation, management and exploitation. More specifically, we introduce the main reasons for the creation of the Semantic Web and the problems that it addresses. Next, we discuss the distinctions between basic terms such as data, information, knowledge, metadata, ontologies, semantic annotations etc. We introduce the notions of interoperability, integration, merging, mapping, and continue with introducing ontologies, reasoners, knowledge bases, all fundamental concepts in the Linked Data ecosystem.
In this Chapter, we consider relational databases as a data source for the generation of Linked Data, given that they constitute one of the most popular data storage media, containing huge data volumes that feed the vast majority of information systems worldwide. In this context, we review the related literature and reveal the main motivations that fuel the relevant approaches, and the benefits that arise from their application. We present a categorization of approaches that map relational databases to the Semantic Web and identify tool implementations that extract RDF graphs from relational database instances. We also sketch a proof-of-concept use case scenario regarding how a repository with scholarly information can be converted to a Linked Data endpoint. The Chapter ends with a discussion of the open issues and future outlook for the problem of RDF generation from relational databases.
Presentation created for the CILIP Cataloguing Interest Group event on Linked Data, 25th November 2013 (http://www.cilip.org.uk/cataloguing-and-indexing-group/events/linked-data-what-cataloguers-need-know-cig-event)
Linked Open Data Principles, benefits of LOD for sustainable developmentMartin Kaltenböck
Presentation held on 18.09.2013 at the OKCon 2013 in Geneva, Switzerland in the course of the workshop: How Linked Open data supports Sustainable Development and Climate Change Development by Martin Kaltenböck (SWC), Florian Bauer (REEEP) and Jens Laustsen (GBPN).
In this Chapter, we focus on dealing with data originating from sensor data streams, in order to materialize an intelligent, semantically-enabled data layer. First, we introduce the concepts that are covered in this Section: real-time, context-awareness, windowing, information fusion. Next, we mention the difficulties associated with the attempt of creating a semantic sensor network, we note our architectural concerns by presenting a number of issues that have to be dealt with when designing a system for the real-time information integration from distributed data sources and sensors. Finally, the anatomy of a system for the end-to-end data multi-sensor data fusion and semantic enrichment is illustrated, while the end-to-end information flow and respective steps are analyzed.
Entity Linking in Queries: Tasks and EvaluationFaegheh Hasibi
Slides for the ICTIR 2015 paper "Entity Linking in Queries: Tasks and Evaluation"
Annotating queries with entities is one of the core problem areas in query understanding. While seeming similar, the task of entity linking in queries is different from entity linking in documents and requires a methodological departure due to the inherent ambiguity of queries. We differentiate between two specific tasks, semantic mapping and interpretation finding, discuss current evaluation methodology, and propose refinements. We examine publicly available datasets for these tasks and introduce a new manually curated dataset for interpretation finding. To further deepen the understanding of task differences, we present a set of approaches for effectively addressing these tasks and report on experimental results.
My Linked Data tutorial presentation that I presented at Semtech 2012.
http://semtechbizsf2012.semanticweb.com/sessionPop.cfm?confid=65&proposalid=4724
Understanding RDF: the Resource Description Framework in Context (1999)Dan Brickley
Dan Brickley, 3rd European Commission Metadata Workshop, Luxemburg, April 12th 1999
Understanding RDF: the Resource Description Framework in Context
http://ilrt.org/discovery/2001/01/understanding-rdf/
MR^3: Meta-Model Management based on RDFs Revision ReflectionTakeshi Morita
We propose a tool to manage several sorts of relationships among RDF and RDFS. Our tool consists of three main functions: graphical editing of RDF contents, graphical editing of RDFS contents, and meta-model management facility. Metamodel management facility supports maintenance of relationship between RDF and RDFS contents. The above facilities are implemented based on plug-in system. We provide basic plug-in modules for consistency checking of RDFS classes and properties. The prototyping tool, called MR^3 (Meta-Model Management based on RDFs Revision Reflection), is implemented by Java language. Through the experiment of using MR^3, we show how MR^3 contributes the Semantic Web paradigm from the standpoint of RDFs contents management.
Introduction to Apache Any23. Any23 is a library, a Web Service and a Command Line Tool written in Java, that extracts structured RDF data from a variety of Web documents and markup formats.
Any23 is an Apache Software Foundation top level project.
Adventures in Linked Data Land (presentation by Richard Light)jottevanger
"Adventures in Linked Data Land: bringing RDF to the Wordsworth Trust" is a paper given by RIchard Light (http://uk.linkedin.com/pub/richard-light/a/221/ba5) to a Linked Data meeting run by the Collections Trust in February 2010. He runs through the basics of LD, how it relates to cultural heritage, and some of his experiments with it, specifically with the data of the Wordsworth Trust, finally listing a series of challenges that face museums in trying to get on board the Linked Data bus.
Exposing Bibliographic Information as Linked Open Data using Standards-based ...Nikolaos Konstantinou
The Linked Open Data (LOD) movement is constantly gaining worldwide acceptance. In this paper we describe how LOD is generated in the case of digital repositories that contain bibliographic information, adopting international standards. The available options and respective choices are presented and justified while we also provide a technical description, the methodology we followed, the possibilities and difficulties in the way, and the respective benefits and drawbacks. Detailed examples are provided regarding the implementation and query capabilities, and the paper concludes after a discussion over the results and the challenges associated with our approach, and our most important observations and future plans.
Priamos: A Middleware Architecture for Real-Time Semantic Annotation of Conte...Nikolaos Konstantinou
This paper proposes a middleware architecture for the automated, real-time, unsupervised annotation of low-level context features and their mapping to high-level semantics. The distinguishing characteristic of this architecture is that both low level components such as sensors, feature extraction algorithms and data sources, and high level components such as application-specific ontologies are pluggable to the middleware architecture thus facilitating application development and system configuration to different real-world scenarios. A prototype implementation based on Semantic Web tools is presented in depth, while the benefits and drawbacks of this approach are underlined. We argue that the use of Semantic Web provides powerful answers to context awareness challenges. Furthermore, it enables the composition of simple rules through human-centric interfaces, which may launch a context-aware system that will annotate content without the need for user technical expertise. A test case of system operation in a laboratory environment is presented. Emphasis is given, along with the theoretical justification, to practical issues that arise in real-world scenarios.
From Sensor Data to Triples: Information Flow in Semantic Sensor NetworksNikolaos Konstantinou
Sensor networks constitute a technological approach of increasing popularity when it comes to monitoring an area, offering context-aware solutions. This shift from Desktop computing to Ubiquitous computing entails numerous options and challenges in designing, implementing and shaping the behavior of systems that consume, integrate, fuse and exploit sensor data. Things tend to be more complicated when, in order to extract meaning from the collected information, the Semantic Web paradigm is adopted. In this talk, we discuss the information flow in systems that collect sensor data into semantically annotated repositories. Specifically, we analyze the journey that information makes, from its capture as electromagnetic pulses by the sensors, to its storage as a semantic web triples, along with its semantics in the system’s knowledge base. We introduce the main related concepts, we analyze the main components that such systems comprise, the choices that can be made, and the respective benefits, drawbacks, and effect to the overall system properties.
A rule-based approach for the real-time semantic annotation in context-aware ...Nikolaos Konstantinou
Typically, a context-aware system is able to collect vast amounts of information coming from data collected by sensors. The problem that occurs lies mainly in how this information can be integrated and used at a semantic level, without a significant reduction in system performance. In the scope of this talk, we analyse a middleware-based pilot system, in order to study problems that concern context-aware systems that incorporate and exploit semantic information in real time. We analyze the data flow in the system and, more specifically, we present how with the use of a middleware, rules, and web services, (experimental) data can flow into the system and form a semantic Knowledge Base, able to answer semantic queries. Particular reference is made to the real-time processing of the results but also to the synchronous and asynchronous procedures that can take place in order to assure system operation and scalability.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
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!
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
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
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
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.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
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.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
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.
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.
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.
2. Outline
Introduction
RDF and RDF Schema
Description Logics
Querying RDF data with SPARQL
Mapping relational data with R2RML
Other technologies
Ontologies
Datasets
Chapter 2 Materializing the Web of Linked Data 2
3. Introduction
Linked Data
◦ A set of technologies
◦ Focused on the web
◦ Use the Web as a storage and communication layer
◦ Provide meaning to web content
Semantics
◦ Added value when part of a larger context
◦ Data modeled as a graph
Technologies fundamental to the web
Chapter 2 Materializing the Web of Linked Data 3
4. HTTP – HyperText Transfer Protocol
An application protocol for the management and transfer of
hypermedia documents in decentralized information systems
Defines a number of request types and the expected actions
that a server should carry out when receiving such requests
Serves as a mechanism to
◦ Serialize resources as a stream of bytes
◦ E.g. a photo of a person
◦ Retrieve descriptions about resources that cannot be sent over network
◦ E.g. the person itself
Chapter 2 Materializing the Web of Linked Data 4
5. URI – Uniform Resource Identifier
URL
◦ Identifies a document location
◦ Address of a document or other entity that can be found online
URI
◦ Provides a more generic means to identify anything that exists in the
world
IRI
◦ Internationalized URI
IRI ⊇ URI ⊇ URL
Chapter 2 Materializing the Web of Linked Data 5
6. HTML – HyperText Markup Language
A markup language for the composition and presentation of
various types of content into web pages
◦ E.g. text, images, multimedia
Documents delivered through HTTP are usually expressed in
HTML
◦ HTML5
◦ Current recommendation
◦ Additional markup tags
◦ Extends support for multimedia and mathematical content
Chapter 2 Materializing the Web of Linked Data 6
7. XML – eXtensible Markup Language
Allows for strict definition of the structure of information
◦ Markup tags
The RDF model also follows an XML syntax
Chapter 2 Materializing the Web of Linked Data 7
8. Outline
Introduction
RDF and RDF Schema
Description Logics
Querying RDF data with SPARQL
Mapping relational data with R2RML
Other technologies
Ontologies
Datasets
Chapter 2 Materializing the Web of Linked Data 8
9. Modeling Data Using RDF Graphs
Ontologies in the Semantic Web
◦ Model a system’s knowledge
◦ Based on RDF
◦ Model the perception of the world as a graph
◦ OWL builds on top of RDF
RDF
◦ A data model for the Web
◦ A framework that allows representing knowledge
◦ Model knowledge as a directed and labeled graph
Chapter 2 Materializing the Web of Linked Data 9
10. RDF (1)
The cornerstone of the Semantic Web
A common representation of web resources
First publication in 1999
Can represent data from other data models
◦ Makes it easy to integrate data from multiple heterogeneous sources
Main idea:
◦ Model every resource with respect to its relations (properties) to
other web resources
Chapter 2 Materializing the Web of Linked Data 10
11. RDF (2)
Relations form triples
◦ First term: subject
◦ Second term: property
◦ Third term: object
RDF statements contain triples, in the form:
(resource, property, resource)
or (subject, property, object)
Chapter 2 Materializing the Web of Linked Data 11
ex:staffMember
ex:hasWorkAddress
ex:hasCity ex:hasAddress ex:hasPostalCode
“London” “23, Houghton str.” “WC2A 2AE”
12. Namespaces (1)
Initially designed to prevent confusion in XML names
Allow document elements to be uniquely identified
Declared in the beginning of XML documents
Chapter 2 Materializing the Web of Linked Data 12
xmlns:prefix="location".
13. Namespaces (2)
Prefix Namespace URI Description
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# The built-in RDF vocabulary
rdfs http://www.w3.org/2000/01/rdf-schema RDFS puts an order to RDF
owl http://www.w3.org/2002/07/owl OWL terms
xsd http://www.w3.org/2001/XMLSchema# The RDF-compatible XML Schema datatypes
dc http://purl.org/dc/elements/1.1/ The Dublin Core standard for digital object description
foaf http://xmlns.com/foaf/0.1 The FOAF network
skos http://www.w3.org/2004/02/skos/core# Simple Knowledge Organization System
void http://rdfs.org/ns/void# Vocabulary of Interlinked Datasets
sioc http://rdfs.org/sioc/ns# Semantically-Interlinked Online Communities
cc http://creativecommons.org/ns Creative commons helps expressing licensing information
rdfa http://www.w3.org/ns/rdfa RDFa
Chapter 2 Materializing the Web of Linked Data 13
14. RDF Serialization
RDF is mainly destined for machine consumption
Several ways to express RDF graphs in machine-readable
(serialization) formats
◦ N-Triples
◦ Turtle
◦ N-Quads
◦ TriG
◦ RDF/XML
◦ JSON-LD
◦ RDFa
Chapter 2 Materializing the Web of Linked Data 14
Turtle family
RDFa
JSON-LD
Supports Multiple Graphs
RDF/XML
Turtle
N-Triples
TriG
N-Quads
15. N-Triples Serialization
Chapter 2 Materializing the Web of Linked Data 15
<http://www.example.org/bradPitt> <http://www.example.org/isFatherOf>
<http://www.example.org/maddoxJoliePitt>.
<http://www.example.org/bradPitt> <http://xmlns.com/foaf/0.1/name> "Brad Pitt".
<http://www.example.org/bradPitt> <http://xmlns.com/foaf/0.1/based_near> :_x.
:_x <http://www.w3.org/2003/01/geo/wgs84_pos#lat> "34.1000".
:_x <http://www.w3.org/2003/01/geo/wgs84_pos#long> "118.3333".
16. Turtle Serialization
Chapter 2 Materializing the Web of Linked Data 16
PREFIX ex: <http://www.example.org/>.
PREFIX foaf: <http://xmlns.com/foaf/0.1/>.
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
ex:bradPitt ex:isFatherOf ex:maddoxJoliePitt;
foaf:name "Brad Pitt";
foaf:based_near :_x.
:_x geo:lat "34.1000";
geo:long "118.3333".
17. TriG Serialization
Chapter 2 Materializing the Web of Linked Data 17
PREFIX ex: <http://www.example.org/>.
PREFIX foaf: <http://xmlns.com/foaf/0.1/>.
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
GRAPH <http://www.example.org/graphs/brad> {
ex:bradPitt ex:isFatherOf ex:maddoxJoliePitt;
foaf:name "Brad Pitt";
foaf:based_near :_x.
:_x geo:lat "34.1000";
geo:long "118.3333".
}
18. XML/RDF Serialization
Chapter 2 Materializing the Web of Linked Data 18
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:ex="http://www.example.org/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
<rdf:Description rdf:about=" http://www.example.org/bradPitt">
<ex:isFatherOf rdf:resource=" http://www.example.org/maddoxJoliePitt"/>
<foaf:name>Brad Pitt</foaf:name>
<foaf:based_near rdf:nodeID="A0"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A0">
<geo:lat>34.1000</geo:lat>
<geo:long>118.3333</geo:long>
</rdf:Description>
</rdf:RDF>
20. RDFa Serialization
Chapter 2 Materializing the Web of Linked Data 20
<html>
<head>
…
</head>
<body vocab="http://xmlns.com/foaf/0.1/">
<div resource="http://www.example.org/bradPitt">
<p>Famous American actor <span property="name">Brad Pitt</span>
eldest son is
<a property="http://www.example.org/isFatheOf"
href="http://www.example.org/maddoxJoliePitt">Maddox Jolie-Pitt</a>.
</p>
</div>
</body>
</html>
21. The RDF Schema (1)
RDF
◦ A graph model
◦ Provides basic constructs for defining a graph structure
RDFS
◦ A semantic extension of RDF
◦ Provides mechanisms for assigning meaning to the RDF nodes and
edges
◦ RDF Schema is not to RDF what XML Schema is to XML!
Chapter 2 Materializing the Web of Linked Data 21
22. The RDF Schema (2)
Classes
◦ A definition of groups of resources
◦ Members of a class are called instances of this class
Class hierarchy
Property hierarchy
Property domain and range
RDFS specification also refers to the RDF namespace
Chapter 2 Materializing the Web of Linked Data 22
Prefix Namespace
rdfs http://www.w3.org/2000/01/rdf-schema#
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns#
23. The RDF Schema (3)
A Class named Actor
◦ Where ex: http://www.example.org/
Class membership example
Containment relationship
Using reasoning, we can infer
◦ In practice, we could store inferred triples
Chapter 2 Materializing the Web of Linked Data 23
ex:Actor rdf:type rdfs:Class.
ex:bradPitt rdf:type ex:Actor.
ex:Actor rdfs:subClassOf ex:MovieStaff.
ex:bradPitt rdf:type ex:MovieStaff.
24. The RDF Schema (4)
No restrictions on the form of the class hierarchy that can be defined
in an ontology
◦ No strict tree-like hierarchy as regular taxonomies
◦ More complex graph-like structures are allowed
◦ Classes may have more than one superclass
Allows hierarchies of properties to be defined
◦ Just like class hierarchies
◦ Introduced via the rdfs:subPropertyOf property
Chapter 2 Materializing the Web of Linked Data 24
ex:participatesIn rdf:type rdf:Property.
ex:starsIn rdf:type rdf:Property.
ex:starsIn rdfs:subPropertyOf ex:participatesIn.
25. The RDF Schema (5)
◦ Inferred triple:
Define the classes to which RDF properties can be applied
◦ rdfs:domain and rdfs:range
Then, the assertion
Entails
Chapter 2 Materializing the Web of Linked Data 25
ex:bradPitt ex:starsIn ex:worldWarZ.
ex:bradPitt ex:participatesIn ex:worldWarZ.
ex:georgeClooney ex:starsIn ex:idesOfMarch.
ex:georgeClooney rdf:type ex:Actor.
ex:starsIn rdfs:domain ex:Actor.
26. The RDF Schema (6)
Similarly
Produces
Domain and range axioms
◦ Are not constraints that data need to follow
◦ Function as rules that lead to the production of new triples and knowledge
Chapter 2 Materializing the Web of Linked Data 26
ex:starsIn rdfs:range ex:Movie.
ex:worldWarZ rdf:type ex:Movie.
ex:starsIn rdfs:range ex:Movie.
27. The RDF Schema (7)
Example
◦ Infers:
An individual entity can be a member of both ex:Actor and ex:Movie
classes
Such restrictions are met in more expressive ontology languages,
such as OWL
Chapter 2 Materializing the Web of Linked Data 27
ex:georgeClooney ex:starsIn ex:bradPitt.
ex:bradPitt rdf:type ex:Movie.
28. Reification (1)
Statements about other RDF statements
Ability to treat an RDF statement as an RDF resource
◦ Make assertions about that statement
Becomes:
Chapter 2 Materializing the Web of Linked Data 28
<http://www.example.org/person/1> foaf:name "Brad Pitt " .
<http://www.example.org/statement/5> a rdf:Statement;
rdf:subject <http://www.example.org/person/1>;
rdf:predicate foaf:name;
rdf:object "Brad Pitt".
29. Reification (2)
Useful when referring to an RDF triple in order to
◦ Describe properties that apply to it
◦ e.g. provenance or trust
◦ E.g. assign a trust level of 0.8
Chapter 2 Materializing the Web of Linked Data 29
<http://www.example.org/statement/5> ex:hasTrust "0.8"^^xsd:float.
30. Classes (1)
rdfs:Resource
◦ All things described by RDF are instances of the class rdfs:Resource
◦ All classes are subclasses of this class, which is an instance of
rdfs:Class
rdfs:Literal
◦ The class of all literals
◦ An instance of rdfs:Class
◦ Literals are represented as strings but they can be of any XSD
datatype
Chapter 2 Materializing the Web of Linked Data 30
31. Classes (2)
rdfs:langString
◦ The class of language-tagged string values
◦ It is a subclass of rdfs:Literal and an instance of rdfs:Datatype
◦ Example: "foo"@en
rdfs:Class
◦ The class of all classes, i.e. the class of all resources that are RDF
classes
Chapter 2 Materializing the Web of Linked Data 31
32. Classes (3)
rdfs:Datatype
◦ The class of all the data types
◦ An instance but also a subclass of rdfs:Class
◦ Every instance of rdfs:Datatype is also a subclass of rdfs:Literal
rdf:HTML
◦ The class of HTML literal values
◦ An instance of rdfs:Datatype
◦ A subclass of rdfs:Literal
Chapter 2 Materializing the Web of Linked Data 32
33. Classes (4)
rdf:XMLLiteral
◦ The class of XML literal values
◦ An instance of rdfs:Datatype
◦ A subclass of rdfs:Literal
rdf:Property
◦ The class of all RDF properties
Chapter 2 Materializing the Web of Linked Data 33
34. Properties (1)
rdfs:domain
◦ Declares the domain of a property P
◦ The class of all the resources that can appear as S in a triple (S, P, O)
rdfs:range
◦ Declares the range of a property P
◦ The class of all the resources that can appear as O in a triple (S, P, O)
Chapter 2 Materializing the Web of Linked Data 34
35. Properties (2)
rdf:type
◦ A property that is used to state that a resource is an instance of a
class
rdfs:label
◦ A property that provides a human-readable version of a resource’s
name
Chapter 2 Materializing the Web of Linked Data 35
36. Properties (3)
rdfs:comment
◦ A property that provides a human-readable description of a
resource
rdfs:subClassOf
◦ Corresponds a class to one of its superclasses
◦ A class can have more than one superclasses
rdfs:subPropertyOf
◦ Corresponds a property to one of its superproperties
◦ A property can have more than one superproperties
Chapter 2 Materializing the Web of Linked Data 36
37. Container Classes and Properties (1)
rdfs:Container
◦ Superclass of all classes that can contain instances such as rdf:Bag, rdf:Seq and
rdf:Alt
rdfs:member
◦ Superproperty to all the properties that declare that a resource belongs to a
class that can contain instances (container)
rdfs:ContainerMembershipProperty
◦ A property that is used in declaring that a resource is a member of a container
◦ Every instance is a subproperty of rdfs:member
Chapter 2 Materializing the Web of Linked Data 37
38. Container Classes and Properties (2)
rdf:Bag
◦ The class of unordered containers
◦ A subclass of rdfs:Container
rdf:Seq
◦ The class of ordered containers
◦ A subclass of rdfs:Container
rdf:Alt
◦ The class of containers of alternatives
◦ A subclass of rdfs:Container
Chapter 2 Materializing the Web of Linked Data 38
39. Collections (1)
rdf:List
◦ The class of RDF Lists
◦ An instance of rdfs:Class
◦ Can be used to build descriptions of lists and other list-like
structures
rdf:nil
◦ An instance of rdf:List that is an empty rdf:List
Chapter 2 Materializing the Web of Linked Data 39
40. Collections (2)
rdf:first
◦ The first item in the subject RDF list
◦ An instance of rdf:Property
rdf:rest
◦ The rest of the subject RDF list after the first item
◦ An instance of rdf:Property
rdf:_1, rdf:_2, rdf:_3, etc.
◦ A sub-property of rdfs:member
◦ An instance of the class rdfs:ContainerMembershipProperty
Chapter 2 Materializing the Web of Linked Data 40
41. Reification (1)
rdf:Statement
◦ The class of RDF statements
◦ An instance of rdfs:Class
rdf:subject
◦ The subject of the subject RDF statement
◦ An instance of rdf:Property
Chapter 2 Materializing the Web of Linked Data 41
42. Reification (2)
rdf:predicate
◦ The predicate of the subject RDF statement
◦ An instance of rdf:Property
rdf:object
◦ The object of the subject RDF statement
◦ An instance of rdf:Property
Chapter 2 Materializing the Web of Linked Data 42
43. Utility Properties
rdf:value
◦ Idiomatic property used for describing structured values
◦ An instance of rdf:Property
rdfs:seeAlso
◦ A property that indicates a resource that might provide additional information
about the subject resource
rdfs:isDefinedBy
◦ A property that indicates a resource defining the subject resource
◦ The defining resource may be an RDF vocabulary in which the subject
resource is described
Chapter 2 Materializing the Web of Linked Data 43
44. Outline
Introduction
RDF and RDF Schema
Description Logics
Querying RDF data with SPARQL
Mapping relational data with R2RML
Other technologies
Ontologies
Datasets
Chapter 2 Materializing the Web of Linked Data 44
45. Ontologies Based on Description Logics
Language roots are in Description Logics (DL)
DAML, OIL, and DAML + OIL
OWL and OWL 2 latest results in this direction
Formal semantics
Syntactically compatible to the RDF serializations
◦ Ontologies in OWL can be queried in the same approach as in RDF
graphs
Chapter 2 Materializing the Web of Linked Data 45
46. Description Logics (1)
Offers the language for the description and manipulation of
independent individuals, roles, and concepts
There can be many DL languages
◦ Describe the world using formulas
Formulas constructed using
◦ Sets of concepts, roles, individuals
◦ Constructors, e.g. intersection ∧, union ∨, exists ∃, for each ∀
Chapter 2 Materializing the Web of Linked Data 46
47. Description Logics (2)
Variables in DL can represent arbitrary world objects
E.g. a DL formula can declare that a number x, greater than
zero exists:
◦ ∃x:greaterThan(x; 0)
Adding more constructors to the basic DL language increases
expressiveness
◦ Possible to describe more complex concepts
Chapter 2 Materializing the Web of Linked Data 47
48. Description Logics (3)
E.g. concept conjunction (C ∪ D)
◦ Parent = Father ∪ Mother
Expressiveness used in describing the world varies according
to the subset of the language that is used
Differentiation affects
◦ World description capabilities
◦ Behavior and performance of processing algorithms
Chapter 2 Materializing the Web of Linked Data 48
49. The Web Ontology Language (1)
OWL language is directly related to DL
◦ Different “flavors” correspond to different DL language subsets
Successor of DAML+OIL
◦ Creation of the OWL language officially begins with the initiation of the DAML
project
◦ DAML, combined to OIL led to the creation of DAML + OIL
◦ An extension of RDFS
◦ OWL is the successor of DAML + OIL
W3C recommendation, currently in version 2
Chapter 2 Materializing the Web of Linked Data 49
50. The Web Ontology Language (2)
Designed in order to allow applications to process the
information content itself instead of simply presenting the
information
The goal is to provide a schema that will be compatible both
to the Semantic Web and the World Wide Web architecture
Makes information more machine- and human- processable
Chapter 2 Materializing the Web of Linked Data 50
51. The Web Ontology Language (3)
First version comprised three flavors
◦ Lite, DL, Full
OWL Lite
◦ Designed keeping in mind that it had to resemble RDFS
OWL DL
◦ Guaranteed that all reasoning procedures are finite and return a result
OWL Full
◦ The whole wealth and expressiveness of the language
◦ Reasoning is not guaranteed to be finite
◦ Even for small declaration sets
Chapter 2 Materializing the Web of Linked Data 51
52. The Web Ontology Language (4)
An OWL ontology may also comprise declarations from RDF
and RDFS
◦ E.g. rdfs:subClassOf, rdfs:range, rdf:resource
OWL uses them and relies on them in order to model its
concepts
Chapter 2 Materializing the Web of Linked Data 52
rdfs:Resource
owl:Class
rdfs:Class rdf:Property
owl:DataProperty owl:ObjectProperty owl:AnnotationProperty
53. OWL 2
Very similar overall structure to the first version of OWL
Backwards compatible
◦ Every OWL 1 ontology is also an OWL 2 ontology
Chapter 2 Materializing the Web of Linked Data 53
54. OWL 2 Additional Features (1)
Additional property and qualified cardinality constructors
◦ Minimum, maximum or exact qualified cardinality restrictions,
object and data properties
◦ E.g. ObjectMinCardinality, DataMaxCardinality
Property chains
◦ Properties as a composition of other properties
◦ E.g. ObjectPropertyChain in SubObjectPropertyOf
Chapter 2 Materializing the Web of Linked Data 54
55. OWL 2 Additional Features (2)
Extended datatype support
◦ Support the definition of subsets of datatypes (e.g. integers and
strings)
◦ E.g. state that every person has an age, which is of type integer, and restrict
the range of that datatype value
Simple metamodeling
◦ Relaxed separation between the names of, e.g. classes and
individuals
◦ Allow different uses of the same term
Chapter 2 Materializing the Web of Linked Data 55
56. OWL 2 Additional Features (3)
Extended annotations
◦ Allow annotations of axioms
◦ E.g. who asserted an axiom or when
Extra syntactic sugar
◦ Easier to write common patterns
◦ Without changing language expressiveness, semantics, or complexity
Chapter 2 Materializing the Web of Linked Data 56
57. OWL 2 Profiles (1)
OWL 2 EL
◦ Polynomial time algorithms for all standard reasoning tasks
◦ Suitable for very large ontologies
◦ Trades expressive power for performance guarantees
Chapter 2 Materializing the Web of Linked Data 57
58. OWL 2 Profiles (2)
OWL 2 QL
◦ Conjunctive queries are answered in LOGSPACE using standard
relational database technology
◦ Suitable for
◦ Relatively lightweight ontologies with large numbers of individuals
◦ Useful or necessary to access the data via relational queries (e.g. SQL)
Chapter 2 Materializing the Web of Linked Data 58
59. OWL 2 Profiles (3)
OWL 2 RL
◦ Enables polynomial time reasoning algorithms using rule-extended
database technologies operating directly on RDF triples
◦ Suitable for
◦ Relatively lightweight ontologies with large numbers of individuals
◦ Necessary to operate directly on data in the form of RDF triples
Chapter 2 Materializing the Web of Linked Data 59
60. Manchester OWL syntax
A user-friendly syntax for OWL 2 descriptions
Chapter 2 Materializing the Web of Linked Data 60
Class: VegetarianPizza
EquivalentTo:
Pizza and
not (hasTopping some FishTopping) and
not (hasTopping some MeatTopping)
DisjointWith:
NonVegetarianPizza
61. Outline
Introduction
RDF and RDF Schema
Description Logics
Querying RDF data with SPARQL
Mapping relational data with R2RML
Other technologies
Ontologies
Datasets
Chapter 2 Materializing the Web of Linked Data 61
62. Querying the Semantic Web with SPARQL
SPARQL
◦ Is for RDF what SQL is for relational databases
SPARQL family of recommendations
◦ SPARQL Update
◦ SPARQL 1.1 Protocol
◦ Graph Store HTTP Protocol
◦ SPARQL 1.1 entailment regimes
◦ Specifications about the serialization of query results
◦ In JSON, CSV and TSV, and XML
Chapter 2 Materializing the Web of Linked Data 62
63. SELECT Queries (1)
Return a set of bindings of variables to RDF terms
Binding
◦ A mapping from a variable to a URI or an RDF literal
Triple pattern
◦ Resembles an RDF triple
◦ May also contain variables in one or more positions
Chapter 2 Materializing the Web of Linked Data 63
64. SELECT Queries (2)
An RDF triple matches a triple pattern
◦ There is an appropriate substitution of variables with RDF terms
that makes the triple pattern and the RDF triple equivalent
◦ Example:
matches
Chapter 2 Materializing the Web of Linked Data 64
ex:bradPitt rdf:type ex:Actor.
?x rdf:type ex:Actor
65. SELECT Queries (3)
A set of triple patterns build a basic graph pattern
◦ The heart of a SPARQL SELECT query
Chapter 2 Materializing the Web of Linked Data 65
SELECT ?x ?date
WHERE {
?x rdf:type ex:Actor .
?x ex:bornIn ?date
}
66. SELECT Queries (4)
Graph example
SPARQL query solution
Chapter 2 Materializing the Web of Linked Data 66
?x ?date
ex:bradPitt "1963"^^xsd:gYear
ex:angelinaJolie "1975"^^xsd:gYear
ex:bradPitt rdf:type ex:Actor;
ex:bornIn "1963"^^xsd:gYear.
ex:angelinaJolie rdf:type ex:Actor;
ex:bornIn "1975"^^xsd:gYear.
ex:jenniferAniston rdf:type ex:Actor.
67. The OPTIONAL keyword
Resource ex:jenniferAniston not included in the results
◦ No RDF triple matches the second triple pattern
Use of the OPTIONAL keyword
◦ Retrieves all actors and actresses and get their birthdate only if it is specified
in the RDF graph
Chapter 2 Materializing the Web of Linked Data 67
?x ?date
ex:bradPitt "1963"^^xsd:gYear
ex:angelinaJolie "1975"^^xsd:gYear
ex:jenniferAniston
SELECT ?x ?date
WHERE {
?x rdf:type ex:Actor .
OPTIONAL {?x ex:bornIn ?date}
}
68. The UNION Keyword
Specify alternative graph patterns
Search for resources that are of type ex:Actor or ex:Director,
including cases where a resource may belong to both
classes
Chapter 2 Materializing the Web of Linked Data 68
SELECT ?x
WHERE {
{?x rdf:type ex:Actor}
UNION
{?x rdf:type ex:Director}
}
69. The FILTER Keyword
Set a condition that limits the result of a SPARQL query
Return all actors that were known to be born before 1975
and their corresponding birth date
Chapter 2 Materializing the Web of Linked Data 69
SELECT ?x ?date
WHERE{
?x rdf:type ex:Actor .
?x ex:bornIn ?date .
FILTER(?date < "1975"^^xsd:gYear)
}
70. ORDER BY and LIMIT Keywords
Chapter 2 Materializing the Web of Linked Data 70
SELECT ?x ?date
WHERE {
?x rdf:type ex:Actor .
?x ex:bornIn ?date .
}
ORDER BY DESC(?date)
LIMIT 10
71. CONSTRUCT Queries
Generate an RDF graph based on a graph template using the
solutions of a SELECT query
Chapter 2 Materializing the Web of Linked Data 71
CONSTRUCT {?x rdf:type ex:HighlyPaidActor}
WHERE {
?x rdf:type ex:Actor .
?x ex:hasSalary ?salary .
FILTER (?salary > 1000000)
}
72. ASK Queries
Respond with a boolean
Whether a graph pattern is satisfied by a subgraph of the
considered RDF graph
Return true if the RDF graph contains an actor named "Cate
Blanchett"
Chapter 2 Materializing the Web of Linked Data 72
ASK {
?x rdf:type ex:Actor .
?x foaf:name "Cate Blanchett" .
}
73. DESCRIBE Queries
Return a set of RDF statements that contain data about a
given resource
Exact structure of the returned RDF graph depends on the
specific SPARQL engine
Chapter 2 Materializing the Web of Linked Data 73
DESCRIBE <http://www.example.org/bradPitt> .
74. Outline
Introduction
RDF and RDF Schema
Description Logics
Querying RDF data with SPARQL
Mapping relational data with R2RML
Other technologies
Ontologies
Datasets
Chapter 2 Materializing the Web of Linked Data 74
75. Mapping Relational Data to RDF (1)
Lack of RDF data volumes → Slow uptake of the Semantic Web vision
Large part of available data is stored in relational databases
Several methods and tools were developed for the translation of
relational data to RDF
◦ Each one with its own set of features and, unfortunately, its own mapping
language
The need for the reuse of RDB-to-RDF mappings led to the creation
of R2RML
◦ A standard formalism by W3C for expressing such mappings
Chapter 2 Materializing the Web of Linked Data 75
76. Mapping Relational Data to RDF (2)
R2RML: RDB to RDF Mapping Language
◦ Provides a vocabulary for the definition of RDF views over
relational schemas
◦ Is database vendor-agnostic
An R2RML mapping is an RDF graph: an R2RML mapping
graph
◦ In Turtle syntax
Chapter 2 Materializing the Web of Linked Data 76
77. R2RML Overview
More features
◦ Organization of generated triples in named graphs
◦ Definition of blank nodes
◦ Specification of a generated literal’s language
Chapter 2 Materializing the Web of Linked Data 77
RefObjectMap
TriplesMap
PredicateObjectMap
SubjectMap
Generated Triples
Generated Output Dataset
GraphMap
Join
ObjectMap
PredicateMap
LogicalTable
78. R2RML (1)
An R2RML mapping
◦ Associates relational views with functions that generate RDF terms
Logical tables
◦ Relations or (custom) views defined in the relational schema
Term maps
◦ RDF generating functions
◦ Distinguished according to the position of the RDF term in the
generated triple
◦ Subject, predicate, and object maps
Chapter 2 Materializing the Web of Linked Data 78
79. R2RML (2)
Triples maps
◦ Functions that map relational data to a set of RDF triples
◦ Groups of term maps
◦ R2RML mappings contain one or more triples maps
Graph maps
◦ Generated RDF triples can be organized into named graphs
Chapter 2 Materializing the Web of Linked Data 79
80. R2RML Example (1)
A relational instance
Chapter 2 Materializing the Web of Linked Data 80
FILM
ID Title Year Director
1 The Hunger Games 2012 1
ACTOR
ID Name BirthYear BirthLocation
1 Jennifer Lawrence 1990 Louisville, KY
2 Josh Hutcherson 1992 Union, KY
FILM2ACTOR
FilmID ActorID
1 1
1 2
DIRECTOR
ID Name BirthYear
1 Gary Ross 1956
81. R2RML Example (2)
An R2RML
triples map
Chapter 2 Materializing the Web of Linked Data 81
@prefix rr: <http://www.w3.org/ns/r2rml#>.
@prefix ex: <http://www.example.org/>.
@prefix dc: <http://purl.org/dc/terms/>.
<#TriplesMap1>
rr:logicalTable [ rr:tableName "FILM" ];
rr:subjectMap [
rr:template "http://data.example.org/film/{ID}";
rr:class ex:Movie;
];
rr:predicateObjectMap [
rr:predicate dc:title;
rr:objectMap [ rr:column "Title" ];
];
rr:predicateObjectMap [
rr:predicate ex:releasedIn;
rr:objectMap [ rr:column "Year";
rr:datatype xsd:gYear;];
].
82. R2RML Example (3)
The result (in Turtle)
Note the reuse of terms from external ontologies
◦ E.g. dc:title from Dublin Core
Chapter 2 Materializing the Web of Linked Data 82
<http://data.example.org/film/1> a ex:Movie;
dc:title "The Hunger Games";
ex:releasedIn "2012"^^xsd:gYear.
83. R2RML Example (4)
The R2RML mapping graph of the example
◦ Specifies the generation of a set of RDF triples for every row of the
FILM relation
◦ Is the simplest possible
◦ Contains only one triples map
Every triples map must have exactly
◦ One logical table
◦ One subject map
◦ One or more predicate-object maps
Chapter 2 Materializing the Web of Linked Data 83
84. R2RML Example (5)
A logical table represents an SQL result set
◦ Each row gives rise to an RDF triple
◦ Or quad in the general case, when named graphs are used
A subject map is simply a term map that produces the
subject of an RDF triple
Chapter 2 Materializing the Web of Linked Data 84
85. R2RML Example (6)
Term maps
◦ Template-valued (rr:template)
◦ The subject map of the example
◦ Constant-valued (rr:predicate)
◦ The predicate map of the example
◦ Column-valued (rr:column)
◦ The object map of the example
Every generated resource will be an instance of ex:Movie
◦ Use of rr:class
Chapter 2 Materializing the Web of Linked Data 85
86. R2RML Example (7)
Subject maps
◦ Generate subjects
Predicate-object maps
◦ Generate pairs of predicates and objects
◦ Contain at least one predicate map
◦ Contain at least one object map
Typed Literals
◦ Use of rr:datatype
◦ The second object map of the example specifies that the datatype of the RDF
literal that will be generated will be xsd:gYear
Chapter 2 Materializing the Web of Linked Data 86
87. Foreign Keys (1)
Add another predicate-
object map that operates
on the DIRECTOR relation
Specify the generation of
three RDF triples per row
of the DIRECTOR relation
Chapter 2 Materializing the Web of Linked Data 87
@prefix rr: <http://www.w3.org/ns/r2rml#>.
@prefix ex: <http://www.example.org/>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
<#TriplesMap2>
rr:logicalTable [ rr:tableName "DIRECTOR" ];
rr:subjectMap [
rr:template "http://data.example.org/director/{ID}";
rr:class ex:Director;
];
rr:predicateObjectMap [
rr:predicate foaf:name;
rr:objectMap [ rr:column "Name" ];
];
rr:predicateObjectMap [
rr:predicate ex:bornIn;
rr:objectMap [ rr:column "BirthYear";
rr:datatype xsd:gYear;];
].
88. Foreign Keys (2)
Add another predicate-object
map, the referencing object
map
Link entities described in
separate tables
Exploit the foreign key
relationship of FILM.Director
and DIRECTOR.ID
Chapter 2 Materializing the Web of Linked Data 88
<#TriplesMap1>
rr:logicalTable [ rr:tableName "FILM" ];
rr:subjectMap [
rr:template "http://data.example.org/film/{ID}";
rr:class ex:Movie;
];
rr:predicateObjectMap [
rr:predicate dc:title;
rr:objectMap [ rr:column "Title" ];
];
rr:predicateObjectMap [
rr:predicate ex:releasedIn;
rr:objectMap [ rr:column "Year";
rr:datatype xsd:gYear;];
rr:predicateObjectMap[
rr:predicate ex:directedBy;
rr:objectMap[
rr:parentTriplesMap <#TriplesMap2>;
rr:joinCondition[
rr:child "Director";
rr:parent "ID";
];
];
].
89. Foreign Keys (3)
TriplesMap1 now contains a referencing object map
◦ Responsible for the generation of the object of a triple
◦ Referencing object maps are a special case of object maps
◦ Follows the generation rules of the subject map of another triples
map
◦ Called parent triples map
◦ Join conditions are also specified in order to select the appropriate
row of the logical table of the parent triples map
Chapter 2 Materializing the Web of Linked Data 89
90. Foreign Keys (4)
Not necessary for this foreign key relationship to be explicitly defined
as a constraint in the relational schema
R2RML is flexible enough to allow the linkage of any column set
among different relations
TriplesMap1 result
TriplesMap2 result
Chapter 2 Materializing the Web of Linked Data 90
<http://data.example.org/film/1> ex:directedBy <http://data.example.org/director/1>.
<http://data.example.org/director/1> a ex:Director;
foaf:name "Gary Ross";
ex:bornIn "1956"^^xsd:gYear.
91. Custom Views (1)
R2RML view defined via the
rr:sqlQuery property
Used just as the native logical
tables
Could also have been defined as
an SQL view in the underlying
database system
◦ Not always feasible/desirable
Produced result set must not
contain columns with the same
name
Chapter 2 Materializing the Web of Linked Data 91
@prefix rr: <http://www.w3.org/ns/r2rml#>.
@prefix ex: <http://www.example.org/>.
@prefix dc: <http://purl.org/dc/terms/>.
<#TriplesMap3>
rr:logicalTable [ rr:sqlQuery """
SELECT ACTOR.ID AS ActorId, ACTOR.Name AS
ActorName, ACTOR.BirthYear AS ActorBirth, FILM.ID AS FilmId FROM
ACTOR, FILM, FILM2ACTOR WHERE FILM.ID=FILM2ACTOR.FilmID AND
ACTOR.ID=FILM2ACTOR.ActorID; """];
rr:subjectMap [
rr:template "http://data.example.org/actor/{ActorId}";
rr:class ex:Actor;
];
rr:predicateObjectMap [
rr:predicate foaf:name;
rr:objectMap [ rr:column "ActorName" ];
];
rr:predicateObjectMap [
rr:predicate ex:bornIn;
rr:objectMap [ rr:column "ActorBirth";
rr:datatype xsd:gYear;];
].
rr:predicateObjectMap [
rr:predicate ex:starsIn;
rr:objectMap [ rr:template
"http://data.example.org/film/{ID}";
];
].
92. Custom Views (2)
TriplesMap3 generates the following triples
Chapter 2 Materializing the Web of Linked Data 92
<http://data.example.org/actor/1> a ex:Actor;
foaf:name "Jennifer Lawrence";
ex:bornIn "1990"^^xsd:gYear;
ex:starsIn<http://data.example.org/film/1>.
<http://data.example.org/actor/2> a ex:Actor;
foaf:name "Josh Hutcherson";
ex:bornIn "1992"^^xsd:gYear;
ex:starsIn <http://data.example.org/film/1>.
93. Direct Mapping (1)
Chapter 2 Materializing the Web of Linked Data 93
A default strategy for translating a relational instance to an
RDF graph
A trivial transformation strategy
A recommendation by W3C since 2012
Defines a standard URI generation policy for all kinds of
relations
94. Direct Mapping (2)
Chapter 2 Materializing the Web of Linked Data 94
Maps every relation to a new ontology class and every relation
row to an instance of the respective class
The generated RDF graph essentially mirrors the relational
structure
Can be useful as a starting point for mapping authors who can
then augment and customize it accordingly using R2RML
95. Outline
Introduction
RDF and RDF Schema
Description Logics
Querying RDF data with SPARQL
Mapping relational data with R2RML
Other technologies
Ontologies
Datasets
Chapter 2 Materializing the Web of Linked Data 95
96. POWDER – Protocol for Web Description Resources (1)
XML-based protocol
Allows provision of information about RDF resources
A POWDER document contains
◦ Its own provenance information
◦ Information about its creator, when it was created, etc.
◦ A list of description resources
Chapter 2 Materializing the Web of Linked Data 96
97. POWDER – Protocol for Web Description Resources (2)
Description resource
◦ Contains a set of property-value pairs in RDF
◦ For a given resource or group of resources
Allows for quick annotation of large amounts of content with
metadata
Ideal for scenarios involving personalized delivery of content,
trust control and semantic annotation
Chapter 2 Materializing the Web of Linked Data 97
98. RIF – Rule Interchange Format
An extensible framework for the representation of rule dialects
A W3C recommendation
A family of specifications
◦ Three rule dialects
◦ RIF-BLD (Basic Logic Dialect)
◦ RIF-Core and
◦ RIF-PRD (Production Rule Dialect)
◦ RIF-FLD (Framework for Logic Dialects)
◦ Allows the definition of other rule dialects
◦ Specifies the interface of rules expressed in a logic-based RIF dialect with RDF and OWL
Chapter 2 Materializing the Web of Linked Data 98
99. SPIN – SPARQL Inferencing Notation
RIF uptake not as massive as expected
◦ Complexity, lack of supporting tools
SPIN
◦ SPARQL-based
◦ Production rules
Links RDFS and OWL classes with constraint checks and
inference rules
◦ Similar to class behavior in object-oriented languages
Chapter 2 Materializing the Web of Linked Data 99
100. GRDDL – Gleaning Resource Descriptions from Dialects of Languages
A W3C recommendation
Mechanisms that specify how to construct RDF
representations
◦ Can be applied to XHTML and XML documents
◦ Defines XSLT transformations that generate RDF/XML
Is the standard way of converting an XML document to RDF
Familiarity with XSLT required
Chapter 2 Materializing the Web of Linked Data 100
101. LDP – Linked Data Platform
Best practices and guidelines for organizing and accessing LDP resources
◦ Via HTTP RESTful services
◦ Resources can be RDF or non-RDF
A W3C recommendation
◦ Specifies the expected behavior of a Linked Data server when it receives HTTP requests
◦ Creation, deletion, update
◦ Defines the concept of a Linked Data Platform Container
◦ A collection of resources (usually homogeneous)
LDP specification expected to establish a standard behavior for Linked Data
systems
Example: Apache Marmotta
Chapter 2 Materializing the Web of Linked Data 101
102. Outline
Introduction
RDF and RDF Schema
Description Logics
Querying RDF data with SPARQL
Mapping relational data with R2RML
Other technologies
Ontologies
Datasets
Chapter 2 Materializing the Web of Linked Data 102
103. Ontologies and Datasets (1)
Standards and technologies (e.g. RDF and OWL)
◦ Machine-consumable serializations
◦ Syntactical groundwork
◦ Assignment of meaning to resources and their relationships
Vocabularies
◦ (Re)used in order for the described information to be commonly,
unambiguously interpreted and understood
◦ Reused by various data producers
◦ Make data semantically interoperable
Chapter 2 Materializing the Web of Linked Data 103
104. Ontologies and Datasets (2)
Datasets
◦ Collections of facts involving specific individual entities and
ontologies, which provide an abstract, high-level, terminological
description of a domain, containing axioms that hold for every
individual
A great number of ontologies exist nowadays
◦ Subject domains: e.g. geographical, business, life sciences,
literature, media
Chapter 2 Materializing the Web of Linked Data 104
105. Ontology search engines and specialized directories
Schemapedia
Watson
Swoogle
Linked Open Vocabularies (LOV)
◦ The most accurate and comprehensive source of ontologies used
in the Linked Data cloud
◦ Vocabularies described by appropriate metadata and classified to
domain spaces
◦ Full-text search enabled at vocabulary and element level
Chapter 2 Materializing the Web of Linked Data 105
106. DC – Dublin Core (1)
A minimal metadata element set
Mainly used for the description of web resources
DC vocabulary
◦ Available as an RDFS ontology
◦ Contains classes and properties
◦ E.g. agent, bibliographic resource, creator, title, publisher, description
Chapter 2 Materializing the Web of Linked Data 106
107. DC – Dublin Core (2)
DC ontology partitioned in two sets
◦ Simple DC
◦ Contains 15 core properties
◦ Qualified DC
◦ Contains all the classes and the rest of the properties (specializations of
those in simple DC)
Chapter 2 Materializing the Web of Linked Data 107
108. FOAF – Friend-Of-A-Friend
One of the first lightweight ontologies being developed
since the first years of the Semantic Web
Describes human social networks
Classes such as Person, Agent or Organization
Properties denoting personal details and relationships with
other persons and entities
Chapter 2 Materializing the Web of Linked Data 108
109. SKOS – Simple Knowledge Organization System (1)
A fundamental vocabulary in the Linked Data ecosystem
A W3C recommendation since 2009
Contains terms for organizing knowledge
◦ In the form of taxonomies, thesauri, and concept hierarchies
Defines concept schemes as sets of concepts
◦ Concept schemes can relate to each other through
“broader/narrower than” or equivalence relationships
Chapter 2 Materializing the Web of Linked Data 109
110. SKOS – Simple Knowledge Organization System (2)
Defined as an OWL Full ontology
◦ Has its own semantics
◦ Its own set of entailment rules distinct from those of RDFS and OWL
Widely used in the library and information science domain
Chapter 2 Materializing the Web of Linked Data 110
111. VoID – Vocabulary of Interlinked Datasets
Metadata for RDF datasets
◦ General metadata
◦ E.g. Name, description, creator
◦ Information on the ways that this dataset can be accessed
◦ E.g. as a data dump, via a SPARQL endpoint
◦ Structural information
◦ E.g. the set of vocabularies that are used or the pattern of a typical URI
◦ Information on the links
◦ E.g. the number and target datasets
Aid users and machines to decide whether a dataset is suitable for
their needs
Chapter 2 Materializing the Web of Linked Data 111
112. SIOC – Semantically-Interlinked Online Communities
An OWL ontology
Describes online communities
◦ E.g. forums, blogs, mailing lists
Main classes
◦ E.g. forum, post, event, group, user
Properties
◦ Attributes of those classes
◦ E.g. the topic or the number of views of a post
Chapter 2 Materializing the Web of Linked Data 112
113. Good Relations
Describes online commercial offerings
◦ E.g. Product and business descriptions, pricing and delivery
methods
Great impact in real-life applications
◦ Adoption by several online retailers and search engines
Search engines able to interpret product metadata
expressed in the Good Relations vocabulary
◦ Offer results better tailored to the needs of end users
Chapter 2 Materializing the Web of Linked Data 113
114. Outline
Introduction
RDF and RDF Schema
Description Logics
Querying RDF data with SPARQL
Mapping relational data with R2RML
Other technologies
Ontologies
Datasets
Chapter 2 Materializing the Web of Linked Data 114
115. Datasets
Several “thematic neighborhoods” in the Linked Data cloud
◦ E.g. government, media, geography, life sciences
Single-domain and cross-domain datasets
Chapter 2 Materializing the Web of Linked Data 115
116. DBpedia (1)
The RDF version of Wikipedia
◦ Perhaps the most popular RDF dataset in the LOD cloud
◦ A large number of incoming links
A cross-domain dataset
◦ Assigns a URI to every resource described by a Wikipedia article
◦ Produces structured information by mining information from
Wikipedia infoboxes
Chapter 2 Materializing the Web of Linked Data 116
117. DBpedia (2)
A multilingual dataset
◦ Transforms various language editions of Wikipedia
The DBpedia dataset offered as data dump and through a
SPARQL endpoint
A “live” version available, updated whenever a Wikipedia
page is updated
Chapter 2 Materializing the Web of Linked Data 117
118. Freebase
Openly-licensed, structured dataset, also available as an RDF
graph
Tens of millions of concepts, types and properties
Can be edited by anyone
Gathers information from several structured sources and free
text
Offers an API for developers
Linked to DBpedia through incoming and outgoing links
Chapter 2 Materializing the Web of Linked Data 118
119. GeoNames
An open geographical database
Millions of geographical places
Can be edited by anyone
Geographical information as the context of descriptions and
facts
Omnipresent in the Linked Data cloud
Several incoming links from other datasets
Chapter 2 Materializing the Web of Linked Data 119
120. Lexvo
Central dataset for the linguistic Linked Data Cloud
Provides identifiers for thousands of languages
URIs for terms in every language
Identifiers for language characters
Chapter 2 Materializing the Web of Linked Data 120