The document describes the direct mapping approach for automatically generating RDF from relational database tables. It explains how tables with primary keys are mapped to RDF, including handling of foreign keys and multi-column primary keys. It also covers mapping tables without primary keys by using blank nodes as subjects. The document provides examples to illustrate these mapping techniques.
Two graph data models : RDF and Property Graphsandyseaborne
Talk given at ApacheConEU Big Data 2015.
This talk describes the two common graph data approaches, RDF and Property Graphs. It concludes with observations about the different emphasis of each and where each is focused.
Although RDF can be considered the corner stone of semantic web and knowledge graphs, it has not been embraced by everyday programmers and software architects who want to safely create and access well-structured data. There is a lack of common tools and methodologies that are available in more conventional settings to improve data quality by defining schemas that can later be validated. Two technologies have recently been proposed for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL). In the talk, we will briefly introduce both technologies using some examples and compare them. We will also present some challenges and applications related with RDF data shapes.
Talk given at: KTH Royal Institute of Technology, School of Industrial Engineering and Management, Mechatronics Division, 7th February, 2020
Two graph data models : RDF and Property Graphsandyseaborne
Talk given at ApacheConEU Big Data 2015.
This talk describes the two common graph data approaches, RDF and Property Graphs. It concludes with observations about the different emphasis of each and where each is focused.
Although RDF can be considered the corner stone of semantic web and knowledge graphs, it has not been embraced by everyday programmers and software architects who want to safely create and access well-structured data. There is a lack of common tools and methodologies that are available in more conventional settings to improve data quality by defining schemas that can later be validated. Two technologies have recently been proposed for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL). In the talk, we will briefly introduce both technologies using some examples and compare them. We will also present some challenges and applications related with RDF data shapes.
Talk given at: KTH Royal Institute of Technology, School of Industrial Engineering and Management, Mechatronics Division, 7th February, 2020
Although RDF is a corner stone of semantic web and knowledge graphs, it has not been embraced by everyday programmers and software architects who need to safely create and access well-structured data. There is a lack of common tools and methodologies that are available in more conventional settings to improve data quality by defining schemas that can later be validated. Two technologies have recently been proposed for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL). In the talk, we will review the history and motivation of both technologies. We will also and enumerate some challenges and future work with regards to RDF validation.
Mapping Hierarchical Sources into RDF using the RML Mapping Languageandimou
Incorporating structured data in the Linked Data cloud is still complicated, despite the numerous existing tools. In particular, hierarchical structured data (e.g., JSON) are underrepresented, due to their processing complexity. A uniform mapping formalisation for data in different formats, which would enable reuse and exchange between tools and applied data, is missing. This paper describes a novel approach of mapping heterogeneous and hierarchical data sources into RDF using the RML mapping language, an extension over R2RML (the W3C standard for mapping relational databases into RDF). To facilitate those mappings, we present a toolset for producing RML mapping files using the Karma data modelling tool, and for consuming them using a prototype RML processor. A use case shows how RML facilitates the mapping rules’ definition and execution to map several heterogeneous sources.
http://rml.io
https://github.com/mmlab/RMLProcessor
Towards an RDF Validation Language based on Regular Expression DerivativesJose Emilio Labra Gayo
Towards an RDF Validation Language based on Regular Expression Derivatives
Author: Jose Emilio Labra Gayo
Slides presented at: Linked Web Data Management Workshop
Brussels, 27th March, 2015
RDF is a general method to decompose knowledge into small pieces, with some rules about the semantics or meaning of those pieces. The point is to have a method so simple that it can express any fact, and yet so structured that computer applications can do useful things with knowledge expressed in RDF.
Lightening talk for Semantic Web in Libraries (SWIB13) conference at 2013-11-27 about another method of expressing RDF data. See http://gbv.github.io/aREF/ for a preliminary specification.
Comparison of features between ShEx (Shape Expressions) and SHACL (Shapes Constraint Language)
Changelog:
11/06/17
- Removed slides about compositionality
31/May/2017
- Added slide 30 about validation report
- Added slide 32 about stems
- Changed slides 7 and 8 adapting compact syntax to new operator .
23/05/2017:
Slide 14: Repaired typos in typos in sh:entailment, rdfs:range
21/05/2017:
- Slide 8. Changed the example to be an IRI and a datatype
- Added typically in slide 9
- Slide 10: Removed the phrase: "Target declarations can problematic when reusing/importing shapes"
and created slide 27 to talk about reuability
- Added slide 11 to talk about the differences in triggering validation
- Created slide 14 to talk about inference
- Renamed slide 15 as "Inference and triggering mechanism"
- Added slides 27 and 28 to talk about reuability
- Added slide 29 to talk about annotations
18/05/2017
- Slides 9 now includes an example using ShEx RDF vocabulary
- Slide 10 now says that target declarations are optional
- Slide 13 now says that some RDF Schema terms have special treatment in SHACL
- Example in slide 18 now uses sh:or instead of sh:and
- Added slides 22, 23 and 24 which show some features supported by SHACL but not supported by ShEx (property pair constraints, uniqueLang and owl:imports)
Although RDF is a corner stone of semantic web and knowledge graphs, it has not been embraced by everyday programmers and software architects who need to safely create and access well-structured data. There is a lack of common tools and methodologies that are available in more conventional settings to improve data quality by defining schemas that can later be validated. Two technologies have recently been proposed for RDF validation: Shape Expressions (ShEx) and Shapes Constraint Language (SHACL). In the talk, we will review the history and motivation of both technologies. We will also and enumerate some challenges and future work with regards to RDF validation.
Mapping Hierarchical Sources into RDF using the RML Mapping Languageandimou
Incorporating structured data in the Linked Data cloud is still complicated, despite the numerous existing tools. In particular, hierarchical structured data (e.g., JSON) are underrepresented, due to their processing complexity. A uniform mapping formalisation for data in different formats, which would enable reuse and exchange between tools and applied data, is missing. This paper describes a novel approach of mapping heterogeneous and hierarchical data sources into RDF using the RML mapping language, an extension over R2RML (the W3C standard for mapping relational databases into RDF). To facilitate those mappings, we present a toolset for producing RML mapping files using the Karma data modelling tool, and for consuming them using a prototype RML processor. A use case shows how RML facilitates the mapping rules’ definition and execution to map several heterogeneous sources.
http://rml.io
https://github.com/mmlab/RMLProcessor
Towards an RDF Validation Language based on Regular Expression DerivativesJose Emilio Labra Gayo
Towards an RDF Validation Language based on Regular Expression Derivatives
Author: Jose Emilio Labra Gayo
Slides presented at: Linked Web Data Management Workshop
Brussels, 27th March, 2015
RDF is a general method to decompose knowledge into small pieces, with some rules about the semantics or meaning of those pieces. The point is to have a method so simple that it can express any fact, and yet so structured that computer applications can do useful things with knowledge expressed in RDF.
Lightening talk for Semantic Web in Libraries (SWIB13) conference at 2013-11-27 about another method of expressing RDF data. See http://gbv.github.io/aREF/ for a preliminary specification.
Comparison of features between ShEx (Shape Expressions) and SHACL (Shapes Constraint Language)
Changelog:
11/06/17
- Removed slides about compositionality
31/May/2017
- Added slide 30 about validation report
- Added slide 32 about stems
- Changed slides 7 and 8 adapting compact syntax to new operator .
23/05/2017:
Slide 14: Repaired typos in typos in sh:entailment, rdfs:range
21/05/2017:
- Slide 8. Changed the example to be an IRI and a datatype
- Added typically in slide 9
- Slide 10: Removed the phrase: "Target declarations can problematic when reusing/importing shapes"
and created slide 27 to talk about reuability
- Added slide 11 to talk about the differences in triggering validation
- Created slide 14 to talk about inference
- Renamed slide 15 as "Inference and triggering mechanism"
- Added slides 27 and 28 to talk about reuability
- Added slide 29 to talk about annotations
18/05/2017
- Slides 9 now includes an example using ShEx RDF vocabulary
- Slide 10 now says that target declarations are optional
- Slide 13 now says that some RDF Schema terms have special treatment in SHACL
- Example in slide 18 now uses sh:or instead of sh:and
- Added slides 22, 23 and 24 which show some features supported by SHACL but not supported by ShEx (property pair constraints, uniqueLang and owl:imports)
RDBMS - Relational Database Management System It is database management system based on relational model , which is used to manage relational database. Relational model is organization of data in tables which are interrelated. Relational Database It is organized collection of tables. Data is stored in tables. Tables are related to each other using one or more fields.
Validating and Describing Linked Data Portals using RDF Shape ExpressionsJose Emilio Labra Gayo
Presentation at 1st Linked Data Quality Workshop, Leipzig, 2nd Sept. 2014
Author: Jose Emilio Labra Gayo
Applies Shapes Expressions to validate the WebIndex linked data portal
CRL: A Rule Language for Table Analysis and InterpretationAlexey Shigarov
Tables presented in spreadsheets can be a source of important information that needs to be loaded into relational databases. However, many of them have complex structures. This does not allow to populate databases with their information directly. The presentation is devoted to the issues of the rule-based information extraction from arbitrary tables presented in spreadsheets and its transformation into structured canonical form that can be loaded into a database by standard ETL tools. We suggest a novel rule language called CRL for table analysis and interpretation. It enables developing a simple program to recover missing relationships describing table semantics. Particular sets of rules can be designed for different types of tables to provide extraction and transformation steps in a process of unstructured tabular data integration.
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/
MongoDB Europe 2016 - Graph Operations with MongoDBMongoDB
The popularity of dedicated graph technologies has risen greatly in recent years, at least partly fuelled by the explosion in social media and similar systems, where a friend network or recommendation engine is often a critical component when delivering a successful application. MongoDB 3.4 introduces a new Aggregation Framework graph operator, $graphLookup, to enable some of these types of use cases to be built easily on top of MongoDB. We will see how semantic relationships can be modelled inside MongoDB today, how the new $graphLookup operator can help simplify this in 3.4, and how $graphLookup can be used to leverage these relationships and build a commercially focused news article recommendation system.
A tutorial on how to create mappings using ontop, how inference (OWL 2 QL and RDFS) plays a role answering SPARQL queries in ontop, and how ontop's support for on-the-fly SQL query translation enables scenarios of semantic data access and data integration.
OXFORD 2013, Presentation on the query rewriting approach taken in ontop/Quest. Separating reasoning with respect to hierarchies and existential constants using mapping transformation techniques and a specialised query rewriting algorithm
A presentation on my early work on the Mastro system. Some of this research is now part of the ontop system, some evolved into more optimised forms (also in ontop).
First talk where I introduce the semantic index technique for query answering with inferences, the T-mappings technique (a mapping transformation/optimisation technique to avoid exponential blows during query rewriting) and the role of dependencies in query answering by query rewriting.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
Acetabularia Information For Class 9 .docxvaibhavrinwa19
Acetabularia acetabulum is a single-celled green alga that in its vegetative state is morphologically differentiated into a basal rhizoid and an axially elongated stalk, which bears whorls of branching hairs. The single diploid nucleus resides in the rhizoid.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
2. +
Disclaimer
License
This work is licensed under a
Creative Commons Attribution-Share Alike 3.0 License
(http://creativecommons.org/licenses/by-sa/3.0/)
3. +
Reading material/sources
Direct Mapping specifications
W3C
http://www.w3.org/TR/rdb-direct-mapping/
Direct Mapping test cases
W3C
http://www.w3.org/2001/sw/rdb2rdf/test-cases/
5. +
Combining Information
Most common information
storage
Relational DBs
XML
Comma/Tab delimited
files/spreadsheets
Proprietary file formats
Common Data Model: RDF and
SWT can provide can make it
easier to integrate across all
formats (not replace)
Knowledge Model: RDFS, OWL
and SWRL can make it easier to
integrate under a common
knowledge model
6. +
Combining Information
Tools and techniques for different data sources. In particular:
Relational DBMS
R2RML and Direct Mapping
ontop, D2RQ Server
Java Objects as RDF
XML and XML feeds (web services) as RDF
7. +
Standards and Tools
Mapping languages
Standards by RDB2RDF working group (W3C)
Direct Mapping
R2RML
Proprietary
Tools
Free: D2R, Virtuoso, Morph, r2rml4net, db2triples, ultrawrap,
Quest
Commercial: Virtuoso, ultrawrap, Oracle SW
9. +
RDF2RF: Direct Mapping
“The direct mapping defines a simple transformation, providing a basis
for defining and comparing more intricate transformations. It can also
be used to materialize RDF graphs or define
virtual graphs, which can be queried by SPARQL or traversed by an
RDF graph API.”
10. +
Usage
Approach 1: ETL
Transform the data into RDF using the engine
Connect the database to a Direct Mapping engine
Load the RDF data into a triple store
Approach 2: Virtual RDF Graphs
Connect the database to a Direct Mapping engine with support for
Virtual RDF graphs
Start the engine’s SPARQL end-point
Query the (virtual) RDF Graph using the vocabulary defined by the
Direct Mapping transformation
11. +
Example
People
PK
Addresses
PK
ID
fname
addr
ID
City
State
7
Bob
18
18
Cambridge
Ma
8
Sue
NULL
Given a base IRI http://foo.example/DB/
@base <http://foo.example/DB/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<People/ID=7> rdf:type <People> .
<People/ID=7> <People#ID> 7 .
<People/ID=7> <People#fname> "Bob" .
<People/ID=7> <People#addr> 18 .
<People/ID=7> <People#ref-addr> <Addresses/ID=18> .
<People/ID=8> rdf:type <People> .
<People/ID=8> <People#ID> 8 .
<People/ID=8> <People#fname> "Sue" .
<Addresses/ID=18> rdf:type <Addresses> .
<Addresses/ID=18> <Addresses#ID> 18 .
<Addresses/ID=18> <Addresses#city> "Cambridge" .
<Addresses/ID=18> <Addresses#state> "MA" .
12. +
Tables with Primary Keys
In this expression, each row, e.g. (7, "Bob", 18), produces a set of triples with a
common subject. The subject is an IRI formed from the concatenation of the
base IRI, table name (People), primary key column name (ID) and primary key
value (7). The predicate for each column is an IRI formed from the
concatenation of the base IRI, table name and the column name.
The values are RDF literals formed from the lexical form of the column value.
Each foreign key produces a triple with a predicate composed from the foreign
key column names, the referenced table, and the referenced column names.
The object of these triples is the row identifier (<Addresses/ID=18>) for the
referenced triple. Note that these reference row identifiers must coincide with
the subject used for the triples generated from the referenced row.
The direct mapping does not generate triples for NULL values. Note that it is
not known how to relate the behavior of the obtained RDF graph with the
standard SQL semantics of the NULL values of the source RDB.
13. +
Example
People
PK
Addresses
PK
ID
fname
addr
ID
City
State
7
Bob
18
18
Cambridge
Ma
8
Sue
NULL
Given a base IRI http://foo.example/DB/
@base <http://foo.example/DB/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<People/ID=7> rdf:type <People> .
<People/ID=7> <People#ID> 7 .
<People/ID=7> <People#fname> "Bob" .
<People/ID=7> <People#addr> 18 .
<People/ID=7> <People#ref-addr> <Addresses/ID=18> .
<People/ID=8> rdf:type <People> .
<People/ID=8> <People#ID> 8 .
<People/ID=8> <People#fname> "Sue" .
<Addresses/ID=18> rdf:type <Addresses> .
<Addresses/ID=18> <Addresses#ID> 18 .
<Addresses/ID=18> <Addresses#city> "Cambridge" .
<Addresses/ID=18> <Addresses#state> "MA" .
14. +
Foreign keys / candidate keys
People
PK
Addresses(ID)
ID
fname
addr
deptName
deptCity
7
Bob
18
accounting
Cambridge
8
Sue
NULL
NULL
NULL
Department
Addresses
PK
PK
ID
name
city
manager
23
accounting
Cambridge
8
ID
City
State
18
Cambridge
Ma
16. +
Multi-column primary keys
Primary keys may also be composite. If, in the above example, the
primary key for Department were (name, city) instead of ID, the
identifier for the only row in this table would be
<Department/name=accounting;city=Cambridge>. The triples involving
<Department/ID=23> would be replaced with the following triples:
<People/ID=7> <People#ref-deptName;deptCity> <Department/name=accounting;city=Cambridge> .
<Department/name=accounting;city=Cambridge> rdf:type <Department> .
<Department/name=accounting;city=Cambridge> <Department#ID> 23 .
<Department/name=accounting;city=Cambridge> <Department#name> "accounting" .
<Department/name=accounting;city=Cambridge> <Department#city> "Cambridge" .
17. +
Empty (non-existing) primary keys
If there is no primary key, each row implies a set of triples with a
shared subject, but that subject is a blank node. A Tweets table can
be added to the above example to keep track of employees' tweets in
Twitter:
@base <http://foo.example/DB/>
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>
Tweets
People(ID)
tweeter
when
text
7
2010-08-30T01:33
I really like lolcats.
7
2010-08-30T09:01
I take it back.
_:a rdf:type <Tweets> .
_:a <Tweets#tweeter> "7" .
_:a <Tweets#ref-tweeter> <People/ID=7> .
_:a <Tweets#when> "2010-0830T01:33"^^xsd:dateTime .
_:a <Tweets#text> "I really like lolcats." .
_:b rdf:type <Tweets> .
_:b <Tweets#tweeter> "7" .
_:b <Tweets#ref-tweeter> <People/ID=7> .
_:b <Tweets#when> "2010-0830T09:01"^^xsd:dateTime .
_:b <Tweets#text> "I take it back." .
18. +
Row nodes
Definition row node:
If the table has a primary key, the row node is a relative IRI obtained by
concatenating:
the percent-encoded form of the table name,
the SOLIDUS character '/',
for each column in the primary key, in order:
the percent-encoded form of the column name,
a EQUALS SIGN character '=',
the percent-encoded lexical form of the canonical RDF literal representation of
the column value as defined in R2RML section 10.2 Natural Mapping of SQL
Values [R2RML],
if it is not the last column in the primary key, a SEMICOLON character ';'
If the table has no primary key, the row node is a fresh blank node that is
unique to this row.
19. +
Referencing tables with empty
primary keys
Rows in tables with no primary key may still be referenced by
foreign keys. (Relational database theory tells us that these
rows must be unique as foreign keys reference candidate keys
and candidate keys are unique across all the rows in a table.)
References to rows in tables with no primary key are expressed
as RDF triples with blank nodes for objects, where that blank
node is the same node used for the subject in the referenced
row.
22. +
Percent Encoding
Definition percent-encode:
Replace the string with the IRI-safe form per section 7.3 of
[R2RML].
String
42
Hello World!
2011-08-23T22:17:00Z
~A_17.1-2
葉篤正
IRI-safe version
42
Hello%20World%21
2011-08-23T22%3A17%3A00Z
~A_17.1-2
葉篤正
32. +
Using a Mapping (revisited)
ETL: Generate RDF triples for a triple-store (D2R, morph,
Quest, etc.).
Advantages: Easy integration with inference, compatible with
an RDF tool.
Disadvantages: Updates on the sources do not propagate,
Duplicated Data
Virtual RDF Graphs: Do on-the-fly SPARQL to SQL translation
(D2R, Virtuoso, Quest, etc.)
Advantages: Always in-synch, no data duplication, simple setup
Disadvantages: Only few tools offer good performance, only few
tools support inference
33. +
D2RQ
The D2RQ Platform is a system for accessing relational
databases as virtual, read-only RDF graphs. It offers RDFbased access to the content of relational databases without
having to replicate it into an RDF store. Using D2RQ you can:
query a non-RDF database using SPARQL
access the content of the database as Linked Data over the Web
create custom dumps of the database in RDF formats for loading
into an RDF store (ETL style)
access information in a non-RDF database using the Apache Jena
API