<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>with a Projectional Editor</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jakub Duchateau</string-name>
          <email>Jakub.Duchateau@uliege.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christophe Debruyne</string-name>
          <email>C.Debruyne@uliege.be</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>RML Editor, Knowledge Graph Construction, Projectional Editor</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>KGCW'25: 6th International Workshop on Knowledge Graph Construction</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Montefiore Institute, University of Liège</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>KG construction often involves mapping data from various sources to RDF, which can be achieved with declarative languages such as RML. RML, while powerful, presents authoring dificulties due to its RDF graph-based structure and Turtle serialization. Tools and languages have been proposed to help the creation of mappings by creating (UI) abstraction of RML concepts or more accessible languages. However, existing tools often struggle to balance guidance and flexibility. While representing RML in RDF allows enriching mappings with other vocabularies, it also presents a steep learning curve for users unfamiliar with Turtle and RML. This paper introduces GRAPE, an open-source projectional editor designed to facilitate RML mapping creation while preserving the flexibility of RDF schemas used to extend RML. GRAPE uses a language-oriented approach, treating each RML module as a domain-specific language. This allows users to write RML and/or Turtle in one artifact. Implemented using JetBrains MPS, GRAPE provides a text-like projection for manipulating the abstract syntax tree. GRAPE ensures syntactic correctness, prevents errors and guides with auto-completion and intentions. This lowers the barrier for new users while preserving the flexibility required for complex mappings. This paper aims to demonstrate the feasibility of this approach. It also describes the steps we have conducted to create an editor for Turtle, which is then extended for RML and its modules. The approach is extensible and allows the community to develop languages for other vocabularies. Git: https://gitlab.uliege.be/JakubDuchateau/GRAPE Tutorial and videos: https://jakubduchateau.gitlabpages.uliege.be/grape/ Proceedings</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Constructing RDF Knowledge Graphs is challenging, as one needs to map various non-RDF sources to
RDF, often according to a vocabulary or ontology for which the correspondence is not trivial. Declarative
approaches, which allow one to describe how data sources should be mapped onto RDF using a special
language, have emerged to address this problem. A special processor then processes these mappings,
and the processor is responsible for “executing” the mapping. The RDF Mapping Language (RML) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],
which aims to be a candidate for W3C Recommendation, is one such language. However, RML comes
with its challenges, especially when authoring the mappings.
      </p>
      <p>RML is stored as an RDF graph. Moreover, at the time of writing, the current RML specification
states that RML mappings are stored in the Turtle serialization format. Nevertheless, authoring RML
(in Turtle) is dificult. The community has looked at various approaches to guide and facilitate mapping
authoring to address this dificulty. The problem is that many of these approaches do not provide the
freedom that RDF graphs ofer, as we will describe in
Section 2. We suspect that more technical profiles,
such as developers accustomed to technologies other than RDF or RML, will find existing RML editing
techniques either too constrained or with a steep learning curve, requiring a deep understanding of the
specifications before they can be efectively used.</p>
      <p>
        This work aims to develop a tool that balances guiding users in creating well-formed RDF documents
and RML mappings and retaining the flexibility of authoring RDF in a text-like editor. Such a tool would
achieve what is called a low threshold and high ceiling [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], which means that “simple [mappings] should
be simple, and complex [mappings] should be possible.” [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] Such a tool should guide through features
      </p>
      <p>CEUR</p>
      <p>ceur-ws.org
such as syntax error prevention, auto-completion, and suggestions, thereby lowering the threshold for
users. Simultaneously, it should maintain flexibility by allowing the interlacing of free-form RDF 1 and
RML. Suppose one wants to obtain the flexibility of authoring RDF and RML in a text editor. In that
case, a tool should be able to switch context, i.e., handle diferent contexts such as RML or free-form
RDF in one document. If this is possible, then the runtime composition of new custom concepts ensures
that the ceiling is not limited. Additionally, it attempts to ofer a keyboard-driven experience that is not
too dissimilar to textual programming, improving familiarity for developer users.</p>
      <p>
        The problem of parsing diferent languages in one text can be avoided with projectional editing, and
this is the solution that we will adopt and explore in this study. Projectional editing is an alternative to
traditional parsing approaches, where the user interacts directly with the Abstract Syntax Tree (AST)
structures.2 This approach eliminates the need for parsing and ensures syntactic correctness, making it
particularly advantageous for composing languages and concrete syntaxes. Projectional editing is a
well-established paradigm for Domain-Specific Languages (DSLs) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], as exemplified in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] where C is
implemented in MPS. This approach provides a shorter feedback loop because changes are immediately
reflected in the AST, enabling instant validation.
      </p>
      <p>In short, we want to explore whether it is feasible to propose mapping authors who are more
technically savvy with a tool that approaches a text-based editing approach, providing all the support
for writing well-formed RML (e.g., autocompletion) whilst providing them the liberty of turtle-based
editing. The contributions of this paper are an approach and prototype implementation for creating and
authoring RML mappings in such a manner. Our study demonstrates the feasibility of language-oriented
programming through a projectional editor for RML, treating each part of RML as a domain-specific
language while keeping the extensibility of the turtle notation or your custom-specific notation.</p>
      <p>The editor, GRAPE, is made available as an open-source prototype implementation. GRAPE can
process existing RML mappings, i.e., one does not have to create mappings in GRAPE from scratch, and
the RML generated by GRAPE can be given to any RML-core compliant RML processor.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Various tools and methodologies have been proposed for RML authoring and related declarative
languages for data integration and data integration mappings. We refer to Van Assche et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
IglesiasMolina et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for a review. In this section, we will describe some common approaches. This section
focuses on editors for KG generation.
      </p>
      <p>
        There are editors with a strong visual component, e.g., based on graphs and trees. For example,
RML Editor [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] ofers a visual editor with node-link diagram graph visualization and a point-and-click
experience. JUMA [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] provides a jigsaw-based editor for (R2)RML where users are guided in creating
well-formed mappings where blocks follow the structure of the mapping languages.
      </p>
      <p>
        Then, there are text-based approaches. YARRRML uses YAML as a serialization format, providing
a textual abstraction of RML concepts. Yatter [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] allows one to transform YARRRML mappings in
RML (as Turtle) and vice versa. Where YARRRML is the language, which can be authored with a text
editor, Matey [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] is a web-based integrated development environment (IDE) for YARRRML, featuring
syntax highlighting and panels for sources, mappings, and outputs. Another example of a text-like
approach is XRM3. XRM is a DSL for (R2)RML implemented with XText4, ofering a textual syntax
and editor for RML with auto-completion. The authoring of RML in RDF serializations allows one to
include statements with other vocabularies (e.g., metadata with PROV-O). XRM only provides a DSL for
1Free-form RDF refers to RDF that is not necessarily related to RML. Examples could include adding metadata in PROV-O [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
to a triples map.
2In text-based editing, one manipulates a text document that is subsequently parsed by some software. For example, one
authors an RML mapping in VS Code, parsed and executed with an RML Engine. With projectional editing, you interact
directly with the document’s underlying Abstract Syntax Tree (AST). Since one is working with the AST directly, the
computer does not need to parse the text to understand its structure.
3XRM: https://zazuko.com/products/expressive-rdf-mapper/
4XText: https://eclipse.dev/Xtext/
(R2)RML. The XText language workbench relies on a parser, which means that considering multiple
languages requires a grammar that includes all of those.
      </p>
      <p>
        Other approaches include guided workflows (also called “wizards”) with RMLx [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ],
programmingby-example approaches with Karma [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and spreadsheet-based tools like Mapeathor [14]. Each has
varying degrees of freedom and usability.
      </p>
      <p>From the observed editors, we identify a trade-of between guidance and flexibility. Visual editors
ofer strong guidance but often at the expense of liberty, making complex mappings dificult or even
impossible. For example, in JUMA, one must start with puzzles that resemble triple maps, where one
needs to provide the pieces for logical sources, subject maps, predicate object maps, etc., in a set order
and create tree-like mappings. One cannot reuse predicate object maps across mappings or declare
those outside a triples map. The tools ensure the production of well-formed (R2)RML but do not allow
the flexibility ofered by RDF. Furthermore, it cannot include additional metadata with other vocabulary.</p>
      <p>In contrast, authoring RML mappings with textual editors provides greater liberty. RDF is a
graphbased data model, but it is often serialized and manipulated in textual formats such as Turtle. This
textual nature of these serialization formats naturally lends itself to text-based editing, but this comes
with a steep learning curve and makes them less accessible to those not proficient in Semantic Web
technologies.</p>
      <p>This contrast highlights a gap in existing tools: an editor that combines supporting the users through
features like autocompletion, which relies on recognition rather than recall while maintaining the
lfexibility required for complex RML mappings in a text editor or a text-editor-like environment.</p>
      <p>In the next section, we present our approach, which introduces adapted notations and a balance
between guidance and freedom to improve the RML authoring experience.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Towards Projectional Editors for RML</title>
      <p>RML can be considered a Domain-Specific Language (DSL) for KG Generation. A DSL is “a programming
language or executable specification language that ofers, through appropriate notations and abstractions,
expressive power focused on, and usually restricted to, a particular problem domain.” [15] As such, we
could approach RML as a DSL by adopting DSL design techniques. However, RML is often authored in
RDF serializations. RDF is special as it is a flexible model that allows us to use diferent vocabularies.
Its graph structure also allows us to represent and combine information arbitrarily. One could thus
consider that RDF allows us to mix languages if each vocabulary is considered to be a “DSL”. As diferent
languages need to be supported, we must find a way to ensure that the document being authored can
still be parsed.</p>
      <p>The RML specification ofers ontologies and shapes formalizing well-formed and valid mappings.
We will follow a Language-Oriented Programming paradigm to create a DSL informed by the RML
specification and the Turtle serialization format. The reason is that a DSL for Turtle will allow us
to extend it with DSLs for other vocabularies such as RML. Our approach will consider each RML
module a domain-specific language with a specialized concrete syntax that can be mixed within an RDF
document.</p>
      <sec id="sec-3-1">
        <title>3.1. Projectional Editing</title>
        <p>Suppose one wants to obtain the flexibility of authoring RML and RDF in a text editor. In that case,
a tool should be able to switch context, i.e., handle diferent contexts such as RML or free-form RDF.
Switching contexts is hard, and addressing this problem while parsing is complex. One can address
this problem by avoiding the parsing process with a technique called projectional editing. Projectional
editing, or structural editing, ofers an alternative to traditional approaches that rely on parsing. Instead
of parsing user-written text in a concrete syntax to derive an Abstract Syntax Tree (AST), projectional
editors allow users to directly interact with the AST structures. User actions are immediately reflected
in the structure of the AST, bypassing the need for a parsing step.</p>
        <p>To achieve this, we must support two perspectives. First, the editor must be able to represent any
additional RDF Node within the mappings. Second, by approaching each vocabulary as a language, the
editor should be able to mix languages within a single “document”5 to form an RDF graph. Support
of the former will allow us to write arbitrary RDF and thus use any vocabulary. Still, when patterns
(concerning a vocabulary or even a combination of vocabularies) emerge, one should consider creating
a DSL. This approach can also be adopted for vocabularies consisting of modules, such as RML, and we
should enable and facilitate the composition of these modules.</p>
        <p>Projectional editing inherently supports unparseable code since it does not rely on grammar or
parsing. This eliminates grammar ambiguities, making it particularly advantageous for composing
languages and syntaxes [16], which fits the language-oriented approach we want to adopt.</p>
        <p>While this paper focuses on a textual view with a keyboard-driven editing experience to study
the familiarity of source code editing for developers, other visual forms of editing are also possible.
However, projectional editors behave diferently to textual notations from what developers know from
traditional editors for parser-based languages [17], which may need some adaptations of users. For
example, authors must indicate, in some way, the DSL they want to use in a particular part of the
document.</p>
        <p>To help in the process of building an editor for a language, Language Workbenches (LW) [18] are
a class of tools that facilitate the implementation of DSLs. Using a language workbench for RML has
already been used successfully with XRM. We emphasize the compositional feature here and adhere
closely to the RML specifications so that existing knowledge is transferable and additional abstractions
can be added.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Background: JetBrains MPS</title>
        <p>We use JetBrains Meta Programming System (MPS)6 to formalize the Turtle and RML language structures
and to facilitate the creation of editor interfaces with an IDE infrastructure.</p>
        <p>Briefly, MPS is a Language Workbench [ 18], where Structures define the concepts of a language,
representing the Abstract Syntax Tree (AST). These structures, similar to classes in object-oriented
languages like Java, implement inheritance, composition and allowing us to declare properties, children
and references. These allow us, for example, to declare a concept “Triples Map” having zero or
more “Predicate Object Maps” as children. Other modules, also called aspects of a concept, provide
functionality for editor interaction, type systems, scoping, and (text) generation.</p>
        <p>Constraints are dynamic rules that indicate what concept to use when a new node is created, limiting
the AST that can be formulated. These dynamic constraints guide users in writing statements,
complementing the static constraints encoded within the language’s structure. For example, such aspects
ensure that term maps refer to the correct term type.</p>
        <p>Editors in MPS are described with a cell system that forms a textual view with cells that are modifiable
define how the AST is viewed and edited. These cells can be arranged horizontally, vertically, or
indented to mimic blocks of text, but the editors can also be adapted for mathematical notation, graphs,
diagrams, and tables.</p>
        <p>Generators in MPS facilitate model-to-model transformations, generally converting higher-level
language models to lower-level ones. In our case, this involves transforming RML concepts into Turtle
concepts. A special kind of generator, textGen, specialises in generating textual representations from
models, specifically it will convert Turtle concepts into their textual syntax. MPS also integrates various
IDE features such as running and debugging code, version control, code completion, and type systems,
which can be leveraged to enhance the development and editing experience.</p>
        <p>The abstract ideas introduced in this section will be illustrated with concrete examples for the
projectional editing of Turtle and RML in the next section.
5We use quotes as the authors will engage with something that looks and behaves like text, but the artifact contains a
representation of the various ASTs. We will use “textual view” and “document” interchangeably when talking about the
projectional text editor.
6https://www.jetbrains.com/mps/</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. GRAPE: A Guiding Editor Ecosystem for RML</title>
      <p>GRAPE is an open-source projectional editor prototype for RML (and Turtle), developed with JetBrains
MPS. It formalizes Turtle and RML specifications as concepts in composable domain-specific languages
guided by a language-oriented paradigm. It provides fundamental IDE functionalities such as version
control, running code integration, and viewing standard data files. The choice of MPS is also motivated
by the benefits of projectional editing, which ofers guidance, prevents syntactic errors and enables
composition, while having reasonable text-like projection.</p>
      <sec id="sec-4-1">
        <title>4.1. Turtle in GRAPE</title>
        <p>Given the necessity of an RDF-compatible language, both as a generation target for exporting and to be
able to mix any RDF nodes to extend non-standard mapping, we follow RML specifications by adopting
Turtle as a base language. This section details our approach to designing and implementing the Turtle
language within the MPS environment and enabling integration with other DSL in GRAPE.</p>
        <p>Turtle concepts in GRAPE are based on the Turtle 1.1 grammar [19]. All Turtle 1.1 constructs are
supported, and some Turtle 1.2 [20] features, such as the annotation block, are also included. We
implemented these constructs by translating the grammar rules bottom-up into corresponding AST
concepts within MPS. While strictly based on the grammar structure, we introduced additional concepts
in our Turtle language to facilitate extensions and composition for elements from other DSLs.</p>
        <p>To illustrate this process of translating Turtle grammar constructs into composable MPS concepts,
we use the SubjectTriples concept as a representative example. This core Turtle construct, grouping
triples by subject, was implemented as an MPS concept within our Turtle language. Figure 1 shows how
the SubjectTriples concept, including its structure, editor representation, and text generation aspect, is
declared using MPS DSLs.
(a) The structure of concept</p>
        <p>SubjectTriples. It associates a
subject and a predicate object
list.</p>
        <p>(b) The editor aspect declaration for</p>
        <p>SubjectTriples, showing the subject (c) The textGen aspect
implefollowed by indented predicate objects. menting the conversion of a
The folded view displays the subject SubjectTriples node to textual
and the count of predicate objects. Turtle.</p>
        <p>The editors of the Turtle language “simulates” the Turtle syntax by showing the concepts as in
their textual representation. Due to the projectional nature of the editor, new lines and alignments
follow what is decided in the editor aspect. Alternatives could be implemented, but never as entirely
free as in text editor. In other words, the approach allows the arbitrary placement of Triples, but the
precise representation (new lines, indentations, ...) is somewhat restricted. By editing data structures
represented as text instead of text, we can provide advantages over textual editors, such as changing
the IRI of a resource in all views of that resource in a document.7
7One can argue that renaming references is possible with traditional textual IDEs, but in such approaches, the text is first
parsed to an AST to find the scope of references, while we only have the AST that we immediately manipulate.</p>
        <p>MPS provides completion of concepts thanks to the metamodel defined in the language structure 8.
These completion capabilities are extended with specific IRI completion features. In PrefixId, IRI
completion is achieved through integration with prefix.cc, as illustrated in Figure 2b. For PrefixedName,
once the prefix is known, completion for the name, as shown in Figure 2a, is provided by downloading
the prefix namespace, assuming it contains a vocabulary or ontology, and processing it locally.
(b) PrefixId completion with prefix.cc suggestion</p>
        <p>for foaf.</p>
        <p>(a) PrefixName completion for foaf prefix.</p>
        <p>When importing a textual Turtle file, traditional Turtle parsers ignore empty lines and comments as
their goal is to construct an RDF Graph. However, our parser retains them when at the top position to
maintain visual resemblance with the original imported file. Comments in other positions are lost, it is
beyond the scope of our prototype to support comments at all places in the projectional editor, as we
need to reserve special slots for them in the AST and editor.</p>
        <p>Converting the Turtle AST into text is straightforward as the DSL was built bottom-up from the
grammar. An RDF Graph can also be constructed out of the Turtle AST, in which case during the
conversion, the triples are annotated with the AST node responsible for their generation. One usage of
this RDF Graph is validating the document against SHACL shapes, highlighting the invalid constructs
thanks to the origin information. Another use case is to use the RDF Graph of the Turtle document to
construct RML concepts out of it.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. RML in GRAPE</title>
        <p>RML is implemented as an extension of the previously introduced Turtle language. The RML structures
are modelled as an interpretation of the specifications and shapes, leading to bottom-up DSLs that stay
at the same level of abstraction as the specifications.</p>
        <p>As a formal interpretation of the specifications, modifications have been made to fit the object-oriented
model of MPS structures and also to favor the simplicity of the AST. For AST simplicity, support for
constant and references shortcut property has been removed. Instead, the editor assists in entering
commonly used constructions by prefilling them. Also, it makes it easier for users to switch between
a constant and other types of expression. Turtle concepts can be again used inside RML concepts to
extend them, for example, in the TriplesMap concept Figure 3.</p>
        <p>The notation used in the RML editor difers significantly from its Turtle counterpart. This design
choice was primarily motivated by the goal to provide a shorter, focused syntax for RML, drawing
inspiration from concise notations developed for other vocabularies like OWL and SHACL. The resulting
notation adopts a structure resembling block-based programming languages and uses more explicit
keywords to improve readability without needing to type the full keywords thanks to the structured
editor’s support.</p>
        <p>A notable example is the rml: PredicateObjectMap, which allows multiple predicates to be
associated with multiple objects. In GRAPE, this structure is represented using braces { }, clarifying the
relationships by grouping predicates and objects side by side in a mathematical notation.
8Code completion in MPS is implemented within the editor aspect of concepts, through side transforms and node substitutions.
While MPS provides default completions based on language structure and constraints, developers can extend these with
custom implementations. An alternative approach involves grammarcells [21], which parse small text fragments into AST
nodes.</p>
        <p>provide a view organized with
indentation and braces.</p>
        <p>erator
(b) TriplesMap editor takes
dis</p>
        <p>tance with the Turtle syntax to (c) TriplesMap RML-to-Turtle
gen(a) TriplesMap structure. The other</p>
        <p>child contains Turtle nodes.
subject map, and a list of predicate object maps, but can also contain turtle predicate objects that will be attached
to the subject of the triples map. It also inherits from the Turtle TriplesStatment and therefore can be used, for
example, instead of standard SubjectTriples introduced previously with the Turtle language.</p>
        <p>Given the challenges encountered when authoring function executions in RML, an alternative
notation has been proposed for FunctionExecution: function functionName (paramName = paramValue ).
This notation resembles function calls in programming languages, functionName(paramName:
paramValue), and is similar to YARRRML one-line function syntax.</p>
        <p>
          GRAPE permits editing existing RML mappings by importing exiting turtle files with RML mappings.
The file is first imported to a Turtle AST, then the RDF Graph is constructed out of it. This graph is
then used to construct high-level RML structures while leveraging origin information to retain relevant
Turtle elements where appropriate. The steps of this transformation process are detailed in Figure 4.
This approach of creating higher level abstraction is analogous to Yatter [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] for YARRRML.
.ttl
        </p>
        <p>Turtle</p>
        <p>RML
RDF Graph
 → 
 ‧‧➡ 
 + 


converts to 
lossy converts to 
‧‧➡   and  combined lossy convert to</p>
        <p>To complete the IDE integration, GRAPE has a basic integration of a RML engine, BURP [22], to be
able to run the mappings from within the tool. Launching the mapping can be done visually, and the
user can choose the working directory, optional base IRI and output file. The console output of the
tools is visible in the IDE.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Demonstration</title>
      <p>To validate the feasibility of our approach, we provide an illustrative demonstration, a method for initial
evaluation of early-stage ideas and prototypes [23].</p>
      <p>
        We reuse the examples provided in the Matey publication [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] to facilitate the comparison with prior
work. The examples related to persons and movies are illustrated through screenshots of the mapping
documents in Section 5. Videos of the authoring process are also available at https://gitlab.uliege.be/
JakubDuchateau/grape.
      </p>
      <p>The execution of a mapping file, facilitated by the BURP integration, is presented in Figure 5, which
displays the full application screen. To demonstrate our notation for function execution, Figure 7
illustrates the extraction of a substring, specifically excluding the first three characters. The successful
import of a mapping from the editor is shown in Figure 8. Furthermore, we have demonstrated the
extensibility of our RML notations through the implementation of the RML-IO and RML-FNML, that
can be enabled at runtime.</p>
      <p>(4a)
(2)
(3)
(1)
(a) The Turtle document imported from a textual Turtle (b) The same mapping represented using dedicated
ifle, keeps the node ordering and blank node names RML concepts, after Promoting RML Constructs.
Creand top comments. ated from the RDF Graph represented by the Turtle
ifle.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion and Future Work</title>
      <p>The authoring of KG construction mappings is challenging, and various approaches (languages,
editors,…) have been proposed. We observed that approaches that provide lots of guidance tend to not
provide much freedom to author (arbitrary RDF, or rigid editing order). We aimed to address this
problem by proposing an editor that simulates a text editor but has built-in guidance to author well-formed
Turtle and RML. In this work, we proposed GRAPE, an IDE for RML built with a language-oriented
programming approach. GRAPE provides guidance to the users while maintaining higher freedom than
existing visual RML, thereby reducing the limitations users might experience with other tools.</p>
      <p>GRAPE retains the flexibility of RDF vocabulary combination by enabling the representation of any
RDF Node mixed with RML abstractions. Following the RML modularisation, we developed DSLs for
RML-core, RML-IO sources, and RML-FNML function execution, closely following the specifications,
ensuring users work with familiar abstractions. These abstractions, each with their own notations,
integrate seamlessly into a single document, generating compliant RML mapping documents in textual
Turtle, which can be then processed by RML engines. The modularity of this approach facilitates the
integration of further abstractions, their semantics defined through model-to-model transformations.</p>
      <p>The editor leverages projectional editing, implemented with JetBrains MPS, to unambiguously mix
textual representation and integrated IDE features, such as run capabilities. Projectional editing of the
document provides syntax error avoidance and guides the users with completions along the way to
increase recognition instead of having to recall the specifications. The tools support importing existing
Turtle files and reconstructing the GRAPE’s RML abstractions from the turtle document.</p>
      <sec id="sec-6-1">
        <title>Contributions</title>
        <p>The contributions of this work include the development of a flexible and extensible editor that ensures
syntactic correctness, supports multiple notations, and integrates features such as autocompletion and
mapping execution. By leveraging a framework for creating Domain-Specific Languages, we introduce
a novel approach for RML that allows the embedding of abstractions within a single document, enabling
RML to be seamlessly integrated within Turtle and vice versa. Through examples and demonstrations,
we present an alternative method for authoring RML documents, which may be more accessible and
intuitive for users.</p>
      </sec>
      <sec id="sec-6-2">
        <title>Limitations and Future work</title>
        <p>While this work primarily demonstrates the capabilities of GRAPE through examples, a user evaluation
is planned to investigate the tension field between guidance and freedom ofered by projectional editing,
and how it is perceived by the users.</p>
        <p>We are waiting for the RML specifications to stabilise before proceeding with the implementation
of the remaining RML features. While implementing further RML modules, we will probably need
to improve extensibility or RML-Core. Furthermore, we aim to enhance GRAPE’s integration of
referenceFormulation, used in reference and templates query.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was supported by the Fonds de la Recherche Scientifique – FNRS under Grant n° MIS F.4016.24.</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the author(s) used GPT-4o and Grammarly to improve grammar
and spelling check, paraphrase and reword, and translate words between French and English. After
using these tool(s)/service(s), the author(s) reviewed and edited the content as needed and take(s) full
responsibility for the publication’s content.
perl, P. Cimiano, A. Polleres, O. Corcho, V. Presutti (Eds.), The Semantic Web: Research and
Applications, volume 7295, Springer Berlin Heidelberg, Berlin, Heidelberg, 2012, pp. 375–390.
doi:10.1007/978-3-642-30284-8_32.
[14] A. Iglesias-Molina, L. Pozo-Gilo, D. Dona, E. Ruckhaus, D. Chaves-Fraga, O. Corcho, Mapeathor:
Simplifying the Specification of Declarative Rules for Knowledge Graph Construction, in: ISWC
2020 (Demos/Industry), volume 2721, CEUR, 2020. URL: https://ceur-ws.org/Vol-2721/paper488.
pdf.
[15] A. Van Deursen, P. Klint, J. Visser, Domain-specific languages: an annotated bibliography, ACM</p>
      <p>SIGPLAN Notices 35 (2006) 26–36. doi:10.1145/352029.352035.
[16] M. Voelter, Language and IDE modularization and composition with MPS, in: R. Lämmel,
J. Saraiva, J. Visser (Eds.), Generative and Transformational Techniques in Software Engineering
IV: International Summer School, GTTSE 2011, Braga, Portugal, July 3-9, 2011. Revised Papers,
Springer, 2013, pp. 383–430. doi:10.1007/978-3-642-35992-7_11.
[17] M. Voelter, J. Siegmund, T. Berger, B. Kolb, Towards User-Friendly Projectional Editors, in:
B. Combemale, D. J. Pearce, O. Barais, J. J. Vinju (Eds.), Software Language Engineering, Springer
International Publishing, Cham, 2014, pp. 41–61. doi:10.1007/978-3-319-11245-9_3.
[18] M. Fowler, Language Workbenches: The Killer-App for Domain Specific Languages?, 2005. URL:
https://martinfowler.com/articles/languageWorkbench.html.
[19] D. Beckett, T. Berners-Lee, E. Prud’hommeaux, G. Carothers, Rdf 1.1 turtle: Terse rdf triple
language, W3C Recommendation, 2014. URL: https://www.w3.org/TR/2014/REC-turtle-20140225/,
latest published version: https://www.w3.org/TR/rdf12-turtle/.
[20] D. Beckett, T. Berners-Lee, E. Prud’hommeaux, G. Carothers, G. Kellogg, D. Tomaszuk, Rdf 1.2
turtle: Terse rdf triple language, W3C Working Draft, 2025. URL: https://www.w3.org/TR/2025/
WD-rdf12-turtle-20250109/, latest published version: https://www.w3.org/TR/rdf12-turtle/.
[21] M. Voelter, T. Szabó, S. Lisson, B. Kolb, S. Erdweg, T. Berger, Eficient development of consistent
projectional editors using grammar cells, in: Proceedings of the 2016 ACM SIGPLAN International
Conference on Software Language Engineering, SLE 2016, Association for Computing Machinery,
New York, NY, USA, 2016, pp. 28–40. doi:10.1145/2997364.2997365.
[22] D. Van Assche, C. Debruyne, BURPing through RML test cases, in: KGCW 2024 : Knowledge
Graph Construction 2024 : Proceedings of the 5th International Workshop on Knowledge Graph
Construction Co-Located with 21th Extended Semantic Web Conference (ESWC 2024), volume
3718, CEUR, 2024. URL: https://ceur-ws.org/Vol-3718/paper4.pdf.
[23] K. Pefers, T. Tuunanen, M. A. Rothenberger, S. Chatterjee, A Design Science Research Methodology
for Information Systems Research, Journal of Management Information Systems 24 (2007) 45–77.
doi:10.2753/MIS0742-1222240302.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Iglesias-Molina</surname>
          </string-name>
          ,
          <string-name>
            <surname>D. Van Assche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Arenas-Guerrero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>De Meester</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debruyne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jozashoori</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Maria</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Michel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chaves-Fraga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dimou</surname>
          </string-name>
          ,
          <article-title>The RML Ontology: A Community-Driven Modular Redesign After a Decade of Experience in Mapping Heterogeneous Data to RDF</article-title>
          , in: T. R.
          <string-name>
            <surname>Payne</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Presutti</surname>
            , G. Qi,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Poveda-Villalón</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Stoilos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Hollink</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Kaoudi</surname>
          </string-name>
          , G. Cheng, J.
          <source>Li (Eds.)</source>
          ,
          <source>The Semantic Web - ISWC 2023</source>
          , Springer Nature Switzerland, Cham,
          <year>2023</year>
          , pp.
          <fpage>152</fpage>
          -
          <lpage>175</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -47243-
          <issue>5</issue>
          _
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B.</given-names>
            <surname>Myers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. E.</given-names>
            <surname>Hudson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Pausch</surname>
          </string-name>
          , Past, present, and
          <article-title>future of user interface software tools</article-title>
          ,
          <source>ACM Trans. Comput.-Hum. Interact</source>
          .
          <volume>7</volume>
          (
          <issue>2000</issue>
          )
          <fpage>3</fpage>
          -
          <lpage>28</lpage>
          . doi:
          <volume>10</volume>
          .1145/344949.344959.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Kay</surname>
          </string-name>
          ,
          <article-title>The early history of Smalltalk, Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <year>1996</year>
          , p.
          <fpage>511</fpage>
          -
          <lpage>598</lpage>
          . URL: https://doi.org/10.1145/234286.1057828.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>K.</given-names>
            <surname>Belhajjame</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cheney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Corsar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Garijo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Soiland-Reyes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Zednik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <article-title>Prov-o: The prov ontology</article-title>
          ,
          <year>2013</year>
          . URL: https://www.w3.org/TR/prov-o/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Erdweg</surname>
          </string-name>
          , T. van der Storm, M. Völter,
          <string-name>
            <given-names>M.</given-names>
            <surname>Boersma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bosman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. R.</given-names>
            <surname>Cook</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gerritsen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hulshout</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kelly</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Loh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. D. P.</given-names>
            <surname>Konat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. J.</given-names>
            <surname>Molina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Palatnik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Pohjonen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Schindler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schindler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Solmi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Vergu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Visser</surname>
          </string-name>
          , K. van der Vlist, G. Wachsmuth,
          <string-name>
            <surname>J. van der Woning</surname>
          </string-name>
          ,
          <article-title>The state of the art in language workbenches - conclusions from the language workbench challenge</article-title>
          , in: M.
          <string-name>
            <surname>Erwig</surname>
            ,
            <given-names>R. F.</given-names>
          </string-name>
          <string-name>
            <surname>Paige</surname>
            ,
            <given-names>E. V.</given-names>
          </string-name>
          <string-name>
            <surname>Wyk</surname>
          </string-name>
          (Eds.),
          <source>Software Language Engineering - 6th International Conference, SLE 2013</source>
          ,
          <article-title>Indianapolis</article-title>
          , IN, USA, October
          <volume>26</volume>
          -
          <issue>28</issue>
          ,
          <year>2013</year>
          . Proceedings, volume
          <volume>8225</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2013</year>
          , pp.
          <fpage>197</fpage>
          -
          <lpage>217</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -02654-1\_
          <fpage>11</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Voelter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kolb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Szabó</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ratiu</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. Van Deursen</surname>
          </string-name>
          ,
          <article-title>Lessons learned from developing mbeddr: A case study in language engineering with MPS</article-title>
          ,
          <source>Software &amp; Systems Modeling</source>
          <volume>18</volume>
          (
          <year>2019</year>
          )
          <fpage>585</fpage>
          -
          <lpage>630</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10270-016-0575-4.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Van Assche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Delva</surname>
          </string-name>
          , G. Haesendonck,
          <string-name>
            <given-names>P.</given-names>
            <surname>Heyvaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>De Meester</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dimou</surname>
          </string-name>
          ,
          <article-title>Declarative RDF graph generation from heterogeneous (semi-)structured data: A systematic literature review</article-title>
          ,
          <source>Journal of Web Semantics</source>
          <volume>75</volume>
          (
          <year>2023</year>
          )
          <article-title>100753</article-title>
          . doi:
          <volume>10</volume>
          .1016/j.websem.
          <year>2022</year>
          .
          <volume>100753</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Iglesias-Molina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chaves-Fraga</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Dasoulas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dimou</surname>
          </string-name>
          ,
          <article-title>Human-Friendly RDF Graph Construction: Which One Do You Chose?</article-title>
          , in: I.
          <string-name>
            <surname>Garrigós</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          <string-name>
            <surname>Murillo Rodríguez</surname>
          </string-name>
          , M. Wimmer (Eds.),
          <source>Web Engineering</source>
          , volume
          <volume>13893</volume>
          , Springer Nature Switzerland,
          <year>2023</year>
          , pp.
          <fpage>262</fpage>
          -
          <lpage>277</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -34444-2_
          <fpage>19</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Heyvaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dimou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.-L.</given-names>
            <surname>Herregodts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Schuurman</surname>
          </string-name>
          , E. Mannens, R. Van De Walle,
          <article-title>RMLEditor: A Graph-Based Mapping Editor for Linked Data Mappings</article-title>
          , in: H.
          <string-name>
            <surname>Sack</surname>
            , E. Blomqvist, M. d'Aquin,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ghidini</surname>
            ,
            <given-names>S. P.</given-names>
          </string-name>
          <string-name>
            <surname>Ponzetto</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          Lange (Eds.),
          <source>The Semantic Web. Latest Advances and New Domains</source>
          , volume
          <volume>9678</volume>
          , Springer International Publishing, Cham,
          <year>2016</year>
          , pp.
          <fpage>709</fpage>
          -
          <lpage>723</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -34129-3_
          <fpage>43</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Crotti Junior</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Debruyne</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>O'Sullivan, Juma: An Editor that Uses a Block Metaphor to Facilitate the Creation and Editing of R2RML Mappings</article-title>
          , in: E. Blomqvist,
          <string-name>
            <given-names>K.</given-names>
            <surname>Hose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Paulheim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ławrynowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ciravegna</surname>
          </string-name>
          ,
          <string-name>
            <surname>O.</surname>
          </string-name>
          Hartig (Eds.),
          <source>The Semantic Web: ESWC 2017 Satellite Events</source>
          , Springer International Publishing, Cham,
          <year>2017</year>
          , pp.
          <fpage>87</fpage>
          -
          <lpage>92</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -70407-4_
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.</given-names>
            <surname>Heyvaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>De Meester</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dimou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          ,
          <article-title>Declarative Rules for Linked Data Generation at Your Fingertips!</article-title>
          , in: A.
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A. L.</given-names>
          </string-name>
          <string-name>
            <surname>Gentile</surname>
            ,
            <given-names>A. G.</given-names>
          </string-name>
          <string-name>
            <surname>Nuzzolese</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Maleshkova</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Paulheim</surname>
            ,
            <given-names>J. Z.</given-names>
          </string-name>
          <string-name>
            <surname>Pan</surname>
          </string-name>
          , M. Alam (Eds.),
          <source>The Semantic Web: ESWC 2018 Satellite Events</source>
          , Springer International Publishing, Cham,
          <year>2018</year>
          , pp.
          <fpage>213</fpage>
          -
          <lpage>217</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -98192-5_
          <fpage>40</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P. R.</given-names>
            <surname>Aryan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. J.</given-names>
            <surname>Ekaputra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kiesling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Tjoa</surname>
          </string-name>
          , K. Kurniawan,
          <article-title>RMLx: Mapping interface for integrating open data with linked data exploration environment</article-title>
          ,
          <source>in: 2017 1st International Conference on Informatics and Computational Sciences (ICICoS)</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>113</fpage>
          -
          <lpage>118</lpage>
          . doi:
          <volume>10</volume>
          .1109/ ICICOS.
          <year>2017</year>
          .
          <volume>8276347</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Knoblock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Szekely</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L.</given-names>
            <surname>Ambite</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Goel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Lerman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Muslea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Taheriyan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mallick</surname>
          </string-name>
          ,
          <article-title>Semi-automatically Mapping Structured Sources into the Semantic Web</article-title>
          , in: D.
          <string-name>
            <surname>Hutchison</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Kanade</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Kittler</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          <string-name>
            <surname>Kleinberg</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Mattern</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          <string-name>
            <surname>Mitchell</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Naor</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Nierstrasz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Pandu Rangan</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Stefen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sudan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Terzopoulos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Tygar</surname>
            ,
            <given-names>M. Y.</given-names>
          </string-name>
          <string-name>
            <surname>Vardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Weikum</surname>
          </string-name>
          , E. Sim-
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>