<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">BURPing Through RML Test Cases</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Dylan</forename><surname>Van Assche</surname></persName>
							<email>dylan.vanassche@ugent.be</email>
							<affiliation key="aff0">
								<orgName type="department">Dept. Electronics &amp; Information Systems</orgName>
								<orgName type="laboratory">IDLab</orgName>
								<orgName type="institution">Ghent University -imec</orgName>
								<address>
									<country key="BE">Belgium</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Christophe</forename><surname>Debruyne</surname></persName>
							<email>c.debruyne@uliege.be</email>
							<affiliation key="aff1">
								<orgName type="department">Montefiore Institute</orgName>
								<orgName type="institution">University of Liège</orgName>
								<address>
									<country key="BE">Belgium</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">BURPing Through RML Test Cases</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">FE1181145C2BCC95FF29E2A989230C5B</idno>
					<idno type="DOI">10.5281/zenodo.11037711</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T18:22+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>RML</term>
					<term>RML Conformance Checking</term>
					<term>Knowledge Graph Generation Orcid 0000-0002-7195-9935 (D. Van Assche); 0000-0003-4734-3847 (C. Debruyne)</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Recently, the W3C Community Group on Knowledge Graph Construction created a suite of test cases for all RML modules developed in the Community Group to verify implementations' compliance with the new RML specifications. However, these RML test cases could not be tested because no existing RML Processor supports them. In this paper, we report on our process of testing the new RML test cases while at the same time implementing support for the new RML modules in a reference implementation, which we call 'BURP' (Basic and Unassuming RML Processor), to investigate the feasibility and possible mistakes of the new RML test cases and specifications. We found several problems in the RML modules, ranging from mismatches between the test cases and their specification and invalid SHACL shapes to edge cases not covered by the specifications. Through this work, we improve the quality of RML test cases and the coverage of their corresponding specifications to increase adoption and conformance among RML Processors.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>The W3C Community Group on Knowledge Graph Construction developed a suite of test cases to ensure implementations comply with the new RML specifications <ref type="bibr" target="#b0">[1]</ref>. These test cases serve as a crucial resource for guaranteeing consistent behavior among RML Processors and the interoperability of RML mappings. Currently, no existing RML Processor can definitively verify the correctness of the test cases and the (interactions between the) various modules of the new RML specification. This is due to RML Processors <ref type="bibr" target="#b1">[2]</ref> implementing the original RML specification <ref type="bibr" target="#b2">[3]</ref>, each focusing on additional functionalities and various optimizations for specific use cases (e.g., parallel processing)-these specificities impact engines' algorithms, so there is no reference implementation.</p><p>The problem is that no existing reference implementation for RML exists. This lack of a reference algorithm results in inconsistencies between test cases, specifications, and RML Processors, which hinders the community's adoption of the new specifications.</p><p>In this work, we introduce BURP (Basic and Unassuming RML Processor) to address this problem by providing a reference implementation on which the community can rely to develop new RML specifications, verify resources such as test cases and SHACL shapes, and compare implementations. BURP's development was driven by the need to comply with and sanity check test cases across specifications for the Knowledge Graph Construction Workshop Challenge. <ref type="foot" target="#foot_0">1</ref>BURP aims to become a reference implementation for all new RML modules. BURP has been designed to keep things simple: all data is processed in main memory using simple data structures. BURP does not rewrite mappings to optimize RDF generation. BURP's development has been instrumental in identifying and rectifying inconsistencies within the RML modules. This paper is structured as follows: Section 2 introduces our reference implementation BURP. Section 3 discusses all encountered problems in the RML test cases. Section 4 concludes this paper and discusses future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">BURP</head><p>In this section, we introduce our reference RML implementation, the Basic and Unassuming RML Processor (BURP), which we developed to investigate the feasibility and consistency of the new RML specifications. We developed BURP from scratch to ensure we encounter all possible problems when implementing the RML modules and avoid any influence (i.e., assumptions) from existing RML Processors when establishing a reference implementation with a naive RDF generation algorithm.</p><p>BURP is basic since it uses simple data structures and an arguably naive approach to generate RDF, unassuming as no optimizations are applied when implementing the RML specifications. BURP follows simple steps to generate RDF, similar to the R2RML <ref type="bibr" target="#b3">[4]</ref> reference algorithm. The code and RDF generation algorithm is deliberately kept simple to help RML Processors' developers implement the new RML specifications. Moreover, no attempts are made to optimize mappings (e.g., via mapping rewriting) or the process via distributing computing techniques to focus only on the actual RML specifications. BURP uses simple data structures that store all data in memory. BURP does not try to recover from or correct errors; BURP merely exits with a non-zero exit code when an error occurs. BURP will not even try to generate partial results, a feature arguably desirable in industry settings, as one only needs to rerun the failed mappings.</p><p>BURP currently fully supports RML-Core, RML-CC, and RML-FNML. It also supports some of the functionality of RML-IO (RML Logical Sources are supported, and the RML Logical Target is under development).</p><p>In the future, we aim to support all RML modules. BURP is written in Java, relying upon Apache's Jena Semantic Framework for managing the generated RDF, and is available on GitHub under the MIT license. Therefore, this implementation aims to serve as the community's sandbox for developing new RML modules and verifying their resources, e.g., RML mappings, SHACL shapes, test cases, etc.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Refining Test Cases</head><p>In this Section, we discuss (i) the RML test cases of the different RML modules and (ii) how we discovered problems, edge cases, and inconsistencies between the resources of each RML module.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1.">RML-Core</head><p>RML-Core contains the core mechanism of transforming data into an RDF Knowledge Graph, such as RML Triples Maps and Predicate Object Maps. These core mechanisms were inherited mainly from R2RML <ref type="bibr" target="#b3">[4]</ref> and the original RML specification <ref type="bibr" target="#b2">[3]</ref>. When implementing BURP according to the RML-Core specification, we discovered several problems with the test cases, such as incompatibilities with other standards and inconsistencies between test cases. We opened an issue, discussed it with the community on GitHub to establish a solution, and applied the solution in the RML-Core repository for each problem. <ref type="foot" target="#foot_1">2</ref>Compatibility with other (Web) standards was lacking among test cases. RML test cases using JSONPath as their reference formulation to refer to data from the RML mappings did not follow the latest IETF JSONPath specification. <ref type="foot" target="#foot_2">3</ref> When the original RML specification was introduced, a standardized JSONPath specification did not exist. Thus, many libraries implemented JSONPath slightly differently in terms of syntax and supported features. The development of BURP and CARML <ref type="foot" target="#foot_3">4</ref> , another RML implementation, both strived to support the new JSONPath specification and thus uncovered this incompatibility. This problem was solved in the GitHub repository of RML-Core by updating the test cases.</p><p>Ill-formed language tags must be removed by an RML Processor when generating RDF according to the RML-Core specification since each language must be well-formed for RDF Literals according to BCP47. <ref type="foot" target="#foot_4">5</ref> Test cases were provided to validate that Processors must enforce well-formed language tags, thus removing ill-formed language tags. However, the ill-formed examples in the test cases were, in fact, well-formed. Therefore, the test case did not achieve its goal of validating the compliance of RML Processors with the specification regarding ill-formed language tags. We discovered this problem as BURP did not report an ill-formed language tag when processing these test cases, leading us to investigate the problem.</p><p>Error handling by test cases was not clearly described. Test cases provided empty output files to test whether an RML mapping should cause a Processor to fail, but an empty file may very well be a valid output (an empty graph). Some test cases provided "partial" output to assess an RML Processor's capability to continue generating RDF in case of an error. Together with the community, we decided that RML Processors must return a non-zero exit code when errors are encountered, which was not considered before. Before this, existing RML Processors would not cause scripts to report errors to developers as they always returned a zero exit code, even if the RML mapping failed. BURP always reports a non-zero exit code in case of failure and a zero exit code on success. We are considering with the community to establish a list of non-zero exit codes for RML Processors with a predefined meaning to communicate errors, e.g., validation or access errors properly. Such an approach would allow RML implementation to retain and generate partial results.</p><p>Incomplete coverage was quickly discovered as test cases and specifications did not properly cover certain edge cases. For example, selecting attributes in XML data, data type conversions, handling of multi-valued Term Maps, and RML's Datatype Map did not have a test case. Implementing BURP as a reference implementation forced the community to reconsider their decisions to ensure all edge cases are covered in specifications, test cases, and SHACL shapes.</p><p>Inconsistencies among relational databases are assumed to be non-existent by relying on the ANSI SQL 2008 standard, inspired by R2RML <ref type="bibr" target="#b3">[4]</ref>, which only provided test cases for the standard without considering database vendors. While many relational databases support ANSI SQL 2008, they do not always implement the standard completely and with quirks. Moreover, relational databases such as MySQL require a special configuration to enable ANSI SQL. In the past, the RML test cases assumed that the RML Processor must handle these quirks. If not, the RML Processor was considered non-compliant with the RML-Core specification. However, this is against the idea of test cases that only verify whether an RML Processor can retrieve data from a relational database and transform it into RDF. We are now more conservative; we remove and adapt test cases to handle these quirks correctly and are considering moving source-specific test cases to RML-IO. A prime example of that is MySQL trimming white spaces for NCHARs.</p><p>Base IRI configuration of the RDF output generated from an RML mapping is impossible. An RML and R2RML mapping may contain a base IRI for the mapping, which was wrongly assumed to be the same base IRI for the RDF output generated by the RML mapping. This assumption was even stronger through the RML test cases since the R2RML test cases <ref type="foot" target="#foot_5">6</ref> inspired them. Unfortunately, the R2RML test cases used the same base IRI as the base for the generated RDF (to be provided as input to the R2RML processor according to the R2RML specification) and the base of the mapping. There is currently an ongoing discussion <ref type="foot" target="#foot_6">7</ref> within the W3C Community Group to allow the specification of a base IRI independent of the base IRI for the mapping.</p><p>SHACL shapes validation of RML mappings contained small mistakes such as a misleading description, wrong predicates, or wrong node kinds. Thanks to the community, we can solve these SHACL shape problems to reduce the burden on other developers of RML processors.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2.">RML-IO</head><p>RML-IO handles all access with data sources by introducing an RML Logical Target <ref type="bibr" target="#b4">[5]</ref> and separates the RML Logical Source from the RML-Core in the original RML specification <ref type="bibr" target="#b2">[3]</ref>. RML IO provides data access descriptions and aligns them with RML to allow data integration from various heterogeneous data sources into RDF. Only a single RML Processor (RMLMapper <ref type="bibr" target="#b2">[3]</ref>) fully complies with the original RML specification regarding Logical Source and Logical Target. Therefore, some problems were not discovered in the past <ref type="foot" target="#foot_7">8</ref> in the test cases, such as small typos in the test cases, relative file paths, missing data type inference for other heterogeneous data sources, etc.</p><p>Relative file paths were not considered when deprecating string Literals in rml:source by <ref type="bibr" target="#b5">[6]</ref>. Relative file paths are not possible in access descriptions that use IRIs as file paths, such as DCAT <ref type="bibr" target="#b6">[7]</ref>, because they require a base IRI for the specific Source or Target to access. This base IRI is then used to resolve the relative IRI into an absolute IRI according to RFC 3986. <ref type="foot" target="#foot_8">9</ref> Although this deprecation had already been in effect for a decade <ref type="bibr" target="#b5">[6]</ref>, it was not performed to maintain backward compatibility with existing RML mappings with the original RML specification. Thus, the problem of relative file paths did not emerge until the original RML specification was refactored into modules at the W3C Community Group. During the refactoring, the deprecated string Literals in rml:source option was removed from the RML-IO specification, and access descriptions, e.g., DCAT <ref type="bibr" target="#b6">[7]</ref>, SD <ref type="bibr" target="#b7">[8]</ref>, and CSVW <ref type="bibr" target="#b8">[9]</ref>, were added. One way to solve this was adding a base IRI to every RML Logical Source and Logical Target. To avoid confusion with the base IRI of the RDF output and the RML mapping, we introduced a new class, rml:RelativePathSource, which allows describing a relative path using rml:path and rml:root to specify the root folder of the relative path. If the root path is not provided, it defaults to the current working directory of the Processor. BURP supports this new class rml:RelativePathSource, as most test cases heavily use this to specify the input data for each test case. Hopefully, this new class can support all edge cases regarding relative paths.</p><p>Datatype inference was defined by the R2RML and the original RML specification to extract datatypes from relational databases by [R2]RML Processors. Still, such approaches for other heterogeneous data sources were not specified in RML. RML Processor developers proposed different approaches to determine a value's datatype. This caused RML Processors to generate different RDF using the same RML mapping, such as a '64bit integer' compared to a '32bit integer' when the original data source specified an 'integer' as a datatype. Datatype inference is still under discussion <ref type="foot" target="#foot_9">10</ref> and is considered to be moved to RML-IO to have all different data sources in RML-IO instead of RML-Core since RML-Core test cases should only focus only on the core mechanisms of RML instead of data source access descriptions. This method reduces the number of test cases in RML-Core as they are replicated for every data source. This problem was discovered as BURP does not assume anything and strictly follows the provided specifications. The community is considering specifying the datatype inference and corresponding reference formulations in a document to avoid inconsistencies among RML Processors when interpreting reference formulations and performing datatype inference. <ref type="foot" target="#foot_10">11</ref>Under-specified vocabulary Since BURP only implements what is defined by the RML specifications, we noticed that the RML-IO vocabulary was under-specified. For example, the interpretation of rml:encoding with compressed files can be interpreted in 2 ways<ref type="foot" target="#foot_11">12</ref> : (i) is it the encoding of the compressed file, (ii) or the encoding of the file being compressed? Therefore, the vocabulary must be more specific to define which file the encoding applies to.</p><p>Compatibility with other (Web) standards was also problematic for RML-IO when JSON-Path expressions were used. The test cases did not follow the latest IETF JSONPath specification, similar to RML-Core (Section 3.1).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3.">RML-CC</head><p>RML-CC is the RML module that supports generating RDF Collections (rdf:List) and Containers (rdf:Alt, rdf:Bag, and rdf:Seq). This module is completely new, and no Processor exists at the time of writing to support the RML-CC module. However, this module drew inspiration from two predecessors: (i) an extension of R2RML-F <ref type="bibr" target="#b9">[10]</ref> for RDFS Collections and Containers for R2RML <ref type="bibr" target="#b10">[11]</ref>, and (ii) xR2RML <ref type="bibr" target="#b11">[12]</ref>, which is another extension of R2RML that supported non-relational data. The first proposed an approach that supported collecting terms across iterations and of different term types. The latter provided more control and allowed the generation of Collections and Containers from various sources. Both approaches were consolidated, and further functionality was provided for generating Collections and Containers from a Subject Map, empty Collections and Containers, etc., formulated as a set of requirements in <ref type="bibr" target="#b0">[1]</ref>. No prior test cases existed for RML-CC, thus they were all created when the RML-CC specification was written. However, when implementing RML-CC in BURP, we still encountered some problems <ref type="foot" target="#foot_12">13</ref> , e.g., incomplete coverage or RML mapping validation errors from the SHACL shapes.</p><p>Incomplete coverage of test cases as some edge cases only emerged implementing the RML-CC specification in BURP. We discovered that the test cases did not include gathering the terms generated by a Referencing Object Map. We also realized that the test cases assumed different base IRIs to generate RDF compared to other RML modules. While this is not an issue, the lack of coherence renders the suite of test cases less comprehensive to developers implementing an RML Processor.</p><p>SHACL validation errors with RML mappings were introduced by small changes in the vocabulary as contributors changed the specification and the corresponding test cases of other RML modules but did not update the SHACL shapes. Therefore, BURP raised mapping validation errors on some RML-CC test cases. Problems in SHACL shapes were resolved in their respective repositories.</p><p>Compatibility with other (Web) standards, similar to RML-Core (Section 3.1) and RML-IO (Section 3.2), updating to the latest IETF JSONPath specification was only discovered after implementing RML-CC in BURP.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4.">RML-Star</head><p>The RML-Star module <ref type="bibr" target="#b12">[13]</ref> was developed to support generating RDF-Star <ref type="bibr" target="#b13">[14]</ref> around the same time the new RML modules were proposed. It was initially conceived for the original RML specification and later adapted to the new RML modules. RML-Star is currently only supported by a single RML Processor (Morph-KGC star <ref type="bibr" target="#b14">[15]</ref>). RML-Star had supporting test cases that had already been verified during the implementation of Morph-KGC. However, we discovered some problems when we started working on BURP.</p><p>Relative paths String Literals were deprecated and removed in RML-IO (cf. Section 3.2). However, the existing RML-Star test cases were not adjusted, and string literals were still used for the relative file paths of the test cases' input data. We solved this problem for all RML-Star test cases in their GitHub. repository <ref type="foot" target="#foot_13">14</ref>Validating RDF-Star output is currently challenging as not all existing RDF libraries, such as RDFLib <ref type="foot" target="#foot_14">15</ref> , support RDF-Star. This situation is improving as the RDF community implements RDF-Star in existing RDF libraries.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.5.">RML-FNML</head><p>RML-FNML module aligns RML with FnO data transformations <ref type="bibr" target="#b15">[16]</ref> to allow data transformations to be performed on the data during the mapping into RDF. FNML was heavily revised in the new RML modules to handle edge cases, e.g., multiple reference values, arrays, and other use cases. Morph-KGC <ref type="bibr" target="#b14">[15]</ref> recently implemented support for the new RML-FNML module and verified its compliance through the corresponding RML-FNML test cases. However, when implementing BURP, and by only focussing on the specification, several problems <ref type="foot" target="#foot_15">16</ref> emerged:</p><p>The deprecation of relative paths as string Literals (Section 3.2) also affected the RML-FNML test cases. We adapted the existing test cases<ref type="foot" target="#foot_16">17</ref> to use the RelativePathSource class instead of string Literals for rml:source.</p><p>Inconsistencies between SHACL shapes, the specification, and test cases, such as incorrect SHACL shapes to validate the test case's RML mapping, small mistakes in predicate names, or specifying the behavior of multi-value edge cases. These small problems were discovered during BURP's development, reported to and resolved by the RML-FNML maintainers.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Conclusion</head><p>Through this work, we increased the quality, coverage, and correctness of the RML test cases, specifications, and SHACL shapes by implementing a reference implementation 'BURP' (Basic and Unassuming RML Processor) of the new RML modules and checking the BURP's compliance with the RML modules. This way, we discovered several problems, e.g., mismatches between specifications, test cases, vocabulary, and edge cases that were not covered.</p><p>Thanks to this work, developers of RML Processors will encounter fewer problems complying with the new RML specifications and achieve a more consistent execution behavior. This exercise has also informed us and the community about the need for further extension and introduction of test cases, depending on consensus within the community. In the future, we aim to extend BURP further together with the community to cover all RML modules, demonstrating the community's integral role in the ongoing development process.</p></div>			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://w3id.org/kg-construct/2024/challenge.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">rml-core#75 rml-core#83, rml-core#89 rml-core#93, rml-core#100, rml-core#101 rml-core#109</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">https://ietf-wg-jsonpath.github.io/draft-ietf-jsonpath-base/draft-ietf-jsonpath-base.txt</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">https://github.com/carml/carml</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4">https://www.rfc-editor.org/rfc/rfc5646</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_5">https://www.w3.org/2001/sw/rdb2rdf/test-cases/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_6">rml-core#30</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_7">rml-io#36 rml-io#46, rml-io#47, rml-io#51, rml-io#53, rml-io#57, rml-io#58</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="9" xml:id="foot_8">https://www.rfc-editor.org/rfc/rfc3986#section-4.1</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="10" xml:id="foot_9">rml-io#87</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="11" xml:id="foot_10">rml-core#113</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="12" xml:id="foot_11">rml:encoding is only applicable if the original data access description does not define the encoding.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="13" xml:id="foot_12">rml-cc#43, rml-cc#46, rml-cc#47</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="14" xml:id="foot_13">rml-star#27</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="15" xml:id="foot_14">https://github.com/RDFLib/RDFlib</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="16" xml:id="foot_15">rml-fnml#33, rml-fnml#34</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="17" xml:id="foot_16">rml-fnml#35</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="18" xml:id="foot_17">https://www.ugent.be/en/research/funding/bof/overview.htm</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>Dylan Van Assche is supported by the Special Research Fund of Ghent University 18 under grant BOF20/DOC/132. The collaboration of Dylan Van Assche and Christophe Debruyne is stimulated by the KG4DI FWO scientific research network (W001222N).</p></div>
			</div>


			<div type="availability">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>https://github.com/kg-construct/BURP</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The RML ontology: A communitydriven modular redesign after a decade of experience in mapping heterogeneous data to RDF</title>
		<author>
			<persName><forename type="first">A</forename><surname>Iglesias-Molina</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Van Assche</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Arenas-Guerrero</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>De Meester</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Debruyne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Jozashoori</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Maria</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Michel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Chaves-Fraga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Semantic Web -ISWC 2023 -22nd International Semantic Web Conference</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Athens, Greece</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2023">November 6-10, 2023. 2023</date>
			<biblScope unit="volume">14266</biblScope>
			<biblScope unit="page" from="152" to="175" />
		</imprint>
	</monogr>
	<note>Proceedings, Part II</note>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Declarative RDF graph generation from heterogeneous (semi-)structured data: A systematic literature review</title>
		<author>
			<persName><forename type="first">D</forename><surname>Van Assche</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Delva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Haesendonck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Heyvaert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>De Meester</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics</title>
		<imprint>
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">RML: A generic language for integrated RDF mappings of heterogeneous data</title>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Vander Sande</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Colpaert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Verborgh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Mannens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Van De Walle</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Workshop on Linked Data on the Web co-located with the 23rd International World Wide Web Conference (WWW 2014)</title>
		<title level="s">CEUR Workshop Proceedings</title>
		<meeting>the Workshop on Linked Data on the Web co-located with the 23rd International World Wide Web Conference (WWW 2014)<address><addrLine>Seoul, Korea</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2014-04-08">April 8, 2014. 2014</date>
			<biblScope unit="volume">1184</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Das</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sundara</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Cyganiak</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/r2rml/" />
		<title level="m">R2RML: RDB to RDF Mapping Language, Working Group Recommendation, World Wide Web Consortium (W3C)</title>
				<imprint>
			<date type="published" when="2012">2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Leveraging Web of Things W3C Recommendations for Knowledge Graphs Generation</title>
		<author>
			<persName><forename type="first">D</forename><surname>Van Assche</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Haesendonck</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">De</forename><surname>Mulder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Delva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Heyvaert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>De Meester</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Web Engineering, 21 st International Conference, ICWE 2021, Proceedings</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">M</forename><surname>Brambilla</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Chbeir</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">F</forename><surname>Frasincar</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">I</forename><surname>Manolescu</surname></persName>
		</editor>
		<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2021">2021</date>
			<biblScope unit="volume">12706</biblScope>
			<biblScope unit="page" from="337" to="352" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Machine-interpretable dataset and service descriptions for heterogeneous data access and retrieval</title>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Verborgh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">V</forename><surname>Sande</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Mannens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">V</forename><surname>De Walle</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 11 th International Conference on Semantic Systems -SEMANTICS &apos;15</title>
				<meeting>the 11 th International Conference on Semantic Systems -SEMANTICS &apos;15</meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">F</forename><surname>Maali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Erickson</surname></persName>
		</author>
		<ptr target="https://www.w3.org/TR/vocab-dcat/" />
		<title level="m">Data Catalog Vocabulary (DCAT), Recommendation, World Wide Web Consortium (W3C)</title>
				<imprint>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">Gregory</forename><surname>Todd</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">P</forename><surname>Institute</surname></persName>
		</author>
		<ptr target="https://www.w3.org/TR/sparql11-service-description/" />
		<title level="m">SPARQL 1.1 Service Description, Recommendation, World Wide Web Consortium (W3C)</title>
				<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<author>
			<persName><forename type="first">P</forename><surname>Rufus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Jeni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Gregg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Ivan</surname></persName>
		</author>
		<ptr target="https://www.w3.org/TR/tabular-metadata/" />
		<title level="m">Metadata Vocabulary for Tabular Data, Recommendation, World Wide Web Consortium (W3C)</title>
				<imprint>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">R2RML-F: towards sharing and executing domain logic in R2RML mappings</title>
		<author>
			<persName><forename type="first">C</forename><surname>Debruyne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>O'sullivan</surname></persName>
		</author>
		<ptr target="https://ceur-ws.org/Vol-1593/article-13.pdf" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Workshop on Linked Data on the Web, LDOW 2016, co-located with 25th International World Wide Web Conference</title>
		<title level="s">CEUR Workshop Proceedings</title>
		<meeting>the Workshop on Linked Data on the Web, LDOW 2016, co-located with 25th International World Wide Web Conference<address><addrLine>WWW</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2016">2016. 2016</date>
			<biblScope unit="volume">1593</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Extending R2RML with support for RDF collections and containers to generate MADS-RDF datasets</title>
		<author>
			<persName><forename type="first">C</forename><surname>Debruyne</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Mckenna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>O'sullivan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Research and Advanced Technology for Digital Libraries -21st International Conference on Theory and Practice of Digital Libraries, TPDL 2017</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Thessaloniki, Greece</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">September 18-21, 2017. 2017</date>
			<biblScope unit="volume">10450</biblScope>
			<biblScope unit="page" from="531" to="536" />
		</imprint>
	</monogr>
	<note>Proceedings</note>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Translation of Relational and Non-relational Databases into RDF with xR2RML</title>
		<author>
			<persName><forename type="first">F</forename><surname>Michel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Djimenou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Faron-Zucker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Montagnat</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WEBIST 2015 -Proceedings of the 11th International Conference on Web Information Systems and Technologies</title>
				<meeting><address><addrLine>Lisbon, Portugal</addrLine></address></meeting>
		<imprint>
			<publisher>SciTePress</publisher>
			<date type="published" when="2015-05-22">20-22 May, 2015. 2015</date>
			<biblScope unit="page" from="443" to="454" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Declarative generation of RDF-star graphs from heterogeneous data</title>
		<author>
			<persName><forename type="first">J</forename><surname>Arenas-Guerrero</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Iglesias-Molina</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Chaves-Fraga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Garijo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Corcho</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Submitted to Semantic Web</title>
				<imprint>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<author>
			<persName><forename type="first">H</forename><surname>Olaf</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Pierre-Antoine</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Gregg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Andy</surname></persName>
		</author>
		<ptr target="https://w3c.github.io/rdf-star/cg-spec" />
		<title level="m">RDF-star and SPARQL-star, Final Community Group Report, World Wide Web Consortium (W3C)</title>
				<imprint>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Morph-KGC: Scalable knowledge graph materialization with mapping partitions</title>
		<author>
			<persName><forename type="first">J</forename><surname>Arenas-Guerrero</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Chaves-Fraga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Toledo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">S</forename><surname>Pérez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Corcho</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Semantic Web</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="1" to="20" />
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Implementation-independent Function Reuse</title>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">De</forename><surname>Meester</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Seymoens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Verborgh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Future Generation Computer Systems</title>
		<imprint>
			<biblScope unit="volume">110</biblScope>
			<biblScope unit="page" from="946" to="959" />
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
