- Name:
- specification:
- year:
- syntax(RDF or not RDF, if not RDF, what?):
- description:
- data source limitations (If yes, what limitations? By default, we assume languages generating RDF can support any data format):
- features (select from the list):
- collections/lists → can collections/lists be generated with this language?
- named graphs → are named graphs supported?
- blank nodes → can blank nodes be generated?
- data transformations/functions → can data transformations be handled?
- joining data sources → can the language support joins? If so, on which basis?
- By ID (e.g., how you typically join database tables)
- By structure (e.g., a JSON object’s children should be mapped as objects of a relation)
- other (add any other type of join supported and we haven’t thought of)
- RDF* support
- add your own
- website:
- test-cases:
- contact point:
- Name: RML
- specification: https://rml.io/specs/rml/
- year: 2013
- syntax: RDF
- description: RML is a generation of the W3C recommended R2RML aiming to support heterogeneous data
- data source limitations: no
- features: named graphs, blank nodes, data transformations with FnO extension, joins
- website: RML.io
- test-cases: https://rml.io/test-cases/
- contact point: Anastasia Dimou
- Name: SPARQL-Generate
- specification: see Maxime Lefrançois, Antoine Zimmermann, Noorani Bakerally A SPARQL extension for generating RDF from heterogeneous formats, In Proc. Extended Semantic Web Conference, ESWC, May 2017, Portoroz, Slovenia for the specification of the first version.
- year: 2016
- syntax: See Javacc, extension of YASQE, extension of Sublime Linked Data package
- description: SPARQL-Generate is an expressive template-based language to generate RDF streams or text streams from RDF datasets and document streams in arbitrary formats
- data source limitations: no
- features:
- collections/lists (try out),
- querying named graphs: yes as it's an extension of SPARQL
- blank nodes: yes as it's an extension of SPARQL
- data transformations/function (the standard SPARQL ones, plus the SPARQL Function form O. Corby and C. Faron Zucker )
- joining data sources:
- By ID, potentially with any data transformation
- By structure (e.g., a JSON object’s children are mapped as objects of a relation, or even subjects or predicates of relations)
- try out the example of a query that combines JSON weather station reports with lists of events described in XML documents and obtained from an external web service
- generating RDF streams
- generating output as HDT
- IRIs or Literals can be generated with bits of different data sources
- binary data
- website:
- test-cases: https://ci.mines-stetienne.fr/sparql-generate/playground.html
- contact point: Maxime Lefrançois, EMSE Saint-Étienne
- Name: ShExML
- specification: http://shexml.herminiogarcia.com/spec/
- year: 2019
- syntax: Based on ShEx syntax but with its own grammar (ANTLR4 grammar)
- description: ShExML is a language based on ShEx to map and merge heterogeneous data sources. It is designed with usability in mind trying to make the script creation easier to the users.
- data source limitations: no
- features (select from the list):
- collections/lists → no
- named graphs → no (future extension)
- blank nodes → yes
- data transformations/functions → limited ones (see String operators and Matchers), planning to add an extensible function library
- joining data sources:
- By ID: JOIN keyword
- By structure: Shape linking
- website: http://shexml.herminiogarcia.com/
- test-cases: https://github.com/herminiogg/ShExML/tree/master/src/test/scala-2.12/es/weso/shexml
- contact point: Herminio García González ([email protected])