{"id":26190102,"url":"https://github.com/zazuko/expressive-rdf-mapper","last_synced_at":"2026-03-16T13:09:03.315Z","repository":{"id":49756040,"uuid":"199845890","full_name":"zazuko/expressive-rdf-mapper","owner":"zazuko","description":"A friendly language for mappings to RDF","archived":false,"fork":false,"pushed_at":"2024-10-16T09:59:52.000Z","size":111,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-10-18T07:56:03.855Z","etag":null,"topics":["csvw","dsl","eclipse","excel","r2rml","rdf","rml","xtext"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zazuko.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-31T11:49:37.000Z","updated_at":"2024-10-16T09:59:56.000Z","dependencies_parsed_at":"2023-12-05T15:59:44.482Z","dependency_job_id":"c07c01d9-5e34-4386-809c-30e875c37e2e","html_url":"https://github.com/zazuko/expressive-rdf-mapper","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zazuko%2Fexpressive-rdf-mapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zazuko%2Fexpressive-rdf-mapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zazuko%2Fexpressive-rdf-mapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zazuko%2Fexpressive-rdf-mapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zazuko","download_url":"https://codeload.github.com/zazuko/expressive-rdf-mapper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243136209,"owners_count":20241989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csvw","dsl","eclipse","excel","r2rml","rdf","rml","xtext"],"created_at":"2025-03-12T00:52:32.552Z","updated_at":"2025-12-24T13:51:05.296Z","avatar_url":"https://github.com/zazuko.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Expressive RDF Mapper (XRM)\n\nExpressive RDF Mapper (XRM) is an RDF mapping language for humans. It greatly facilitates the mapping of non-RDF resources to RDF, offering several features such as autocomplete, code lookup, and a type-safe experience.\n\nXRM is available as an Eclipse and Visual Studio Code Plugin.\n\nExpressive RDF Mapper allows you to express data mappings to RDF in a friendly domain specific language (DSL) and generates output in\n[R2RML](http://www.w3.org/TR/r2rml/), [RML](https://rml.io/specs/rml/), [CARML](https://github.com/carml/carml) and [CSV on the Web](https://w3c.github.io/csvw/primer/) format.\n\nExpressive RDF Mapper is free software, see the [MIT License](LICENSE.txt) and our [product page](https://zazuko.com/products/expressive-rdf-mapper/) at zazuko.com for more details. The software is available under the MIT license, source code can be found [here](https://github.com/zazuko/xrm). We offer commercial support for it, get in [contact](mailto:info@zazuko.com?subject=XRM) with us.\n\n```\noutput r2rml\n\nmap Employee from EMPLOYEE {\n  subject template \"http://data.example.com/employee/{0}\" with EMPNO;\n\n  types ex.Employee\n\n  properties\n    ex.name from ENAME;\n}\n```\n\n\n## Installation instructions\n\nExpressive RDF Mapper is using Java, a Java runtime environment (JRE) is required to run the mapper in Eclipse or Visual Studio Code. We recommend [Adoptium](https://adoptium.net/) for those who do not have a JRE installed yet.\n\nWe've tested the plugin with:\n\n* OpenJDK 11\n* OpenJDK 17\n* OpenJDK 21\n* OpenJDK 25\n\n### Using Eclipse\n\n1) Download and install Eclipse \"Eclipse IDE 2023-12\" (or newer): https://www.eclipse.org/downloads/packages/\n   * Package: *Eclipse IDE for Java and DSL Developers*\n   * Hint: The Eclipse Installer now also includes a JRE. A Java 11 or newer JRE/JDK is required.\n\n2) Start Eclipse and install the extension:\n   * Help \u003e Install New Software\n   * Click `Add..` to add a new repository and fill in the following details:\n     * Name: *Expressive RDF Mapper (XRM) Updates*\n     * Location: https://download.zazukoians.org/rdf-mapping-dsl/updates/\n   * Select *Expressive RDF Mapper (XRM)* from the list and click `Next\u003e`\n   * Confirm the security warning about unsigned content by selecting the \"com.zazuko.rdfmapping.dsl\" bundles and features and clicking on `Trust Selected`\n\nIf you receive an error message about missing dependencies, then make sure that the option *\"Contact all update sites during install to find required software\"* is selected in the install dialog.\n\nThe plugin will not work properly with older Eclipse releases! Please install the recommended Eclipse version mentioned in step 1).\n\n### Using Visual Studio Code\n\n1. Download the extension: \u003chttps://download.zazukoians.org/expressive-rdf-mapper/expressive-rdf-mapper-1.6.0.vsix\u003e.\n1. Open Visual Studio Code and navigate to the \"Extensions\" (select View \u003e Extensions from the menu).\n1. Top-right corner of the \"Extensions\" pane, use the `...` button and choose \"Install from VSIX…\".\n1. Select the `.vsix` file you downloaded, click *Install*.\n\nThe extension will detect and handle `.xrm` mapping files.\n\nDetails of editor issues are shown in the problems view. Use `View \u003e Problems (Ctrl-Shift-M)` to activate it.\n\n## Mapping examples\n\nFor complete examples, have a look at the projects in the [mapping-examples](mapping-examples) folder.\nOnce you installed the extension a good way to start is to start playing with them.\n\n1. Open one of the samples like `employee-mapping` and try to modify the current mapping.\n2. Xtext constantly watches the `.xrm` files in your project and validates the syntax (ie. *on save*). When the syntax is valid, it automatically writes the generated mapping file(s) to `./src-gen`.\n\n## Tutorials \u0026 Documentation\n\n* Video Tutorial [Mapping non-RDF data to a graph: Hands-on](https://youtu.be/gl2qzXmJypw)\n* Template for creating automated [CSV to RDF pipelines](https://github.com/zazuko/xrm-csv-workflow), using R2RML, DuckDB and Ontop \n* Template for creating automated [CSV to RDF pipelines](https://github.com/zazuko/xrm-csvw-workflow), using CSV on the Web\n* Template for creating automated [relational database (RDB) to RDF pipelines](https://github.com/zazuko/xrm-r2rml-workflow)\n* Template for creating automated [JSON or XML to RDF pipelines](https://github.com/zazuko/xrm-xml-workflow)\n* Try out mapping and transforming a MySQL database into a graph using our [Gitpod sample workspace](https://github.com/zazuko/gitpod-example) (in the cloud, without requiring a local toolchain installation)\n\n* [The Mapping Language](documentation/mapping-language.md) describes the elements of the language.\n* [Frequently Asked Questions](FAQ.md)\n* Consult our [product page](https://zazuko.com/products/expressive-rdf-mapper/) for general information.\n* The blogpost [RDF and Domain Specific Languages (DSL) - A Perfect Match](https://zazuko.com/blog/rdf-and-dsl-a-perfect-match) describes our motivation and some ideas for future developments. Note that this was written for the first release of XRM, some of the ideas are already supported now.\n\n## License and Support\n\nExpressive RDF Mapper is free software, released under the [MIT License](LICENSE.txt)\n\nFor commercial support, consult our [product page](https://zazuko.com/products/expressive-rdf-mapper/) at zazuko.com for more details.\n\nPlease [report issues and feature requests on Github](https://github.com/zazuko/xrm/issues). If you have other questions please post a message in the [RDF.community discussion forum](https://github.com/rdf-community/discussions/discussions).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzazuko%2Fexpressive-rdf-mapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzazuko%2Fexpressive-rdf-mapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzazuko%2Fexpressive-rdf-mapper/lists"}