Fork me on GitHub

About YASHE

YASHE is a ShEx editor which started as a fork of YASQE (which is based on SPARQL) This tool performs lexical and syntactic analysis of the content of the editor, thus offering the user a realtime syntactic error detector. It has features like: syntax highlighting, visual aid elements (tooltips) and autocomplete mechanisms. In addition, it offers a simple way of integrating into other projects.
var yashe = YASHE(document.getElementById("showcase"));
(or, if you would like to instantiate YASHE from an existing text area, use var yashe = YASHE.fromTextArea(document.getElementById('textAreaItem'));

Features

YASHE features:
  • Completely client-side
  • ShEx syntax highlighting and error checking
  • Light and Dark modes
  • Extremely customizable: All functions and handlers from the CodeMirror library are accessible
  • Persistent values (optional): your query is stored for easier reuse between browser sessions
  • Prefix definition autocompletion (using prefix.cc)
  • Prefix and ShEx keywords autocompletion
  • Wikidata property and entity autocompletion (using the MediaWiki API)
  • Information tooltip when hovering over wikidata properties and entities (using the MediaWiki API)
  • Handy keyboard shortcuts
  • Integrated buttons that alows to:
    • Upload ShEx files
    • Download the editor content as a ShEx file
    • Copy the editor content to the clipboard
    • Delete all the editor content
    • Change between light and dark mode
    • FullScreen Mode (F11 shortcut too!)

Download the latest release

We provide the following options to download YASHE and use it in your own projects:

The YASHE files are hosted via JsDelivr. This CDN is the easiest way to include YASHE in your website.

CSS
JS

Visit the GitHub repository to download the YASHE .css and .js files (find them in the dist directory).

Download latest release from GitHub 

YASHE is registered as a node package as well, so you'll be able to use the node package manager to keep your version of YASHE up to date.

Show NPM Package

Used by

  • ShexAuthor: Shape Expressions (ShEx) graphic assistant
  • RDFShape: RDF data tool (RDF conversion, validation using ShEx and SHACL, querying using SPARQL)
  • WikiShape: Shape Expressions (ShEx) playground customized for Wikidata
  • ShExML: Playground to convert ShExML to RDF and RML offering diferent syntaxes

Forked by

  • ShExML Editor 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.

Thanks!

A big thanks goes out to:
  • Laurens Rietveld for his great work on the YASQE library
  • Maxime Lefran├žois for his tips at the beginning of the project and for his work on the YATE library in which I could be inspired
A big thanks transitively goes out to:
  • The people behind the MediaWiki API which I use for autocompleting Wikidata entities and properties.
  • Marijn Haverbeke for his great work on the CodeMirror library syntax highlighting library
  • Richard Cyganiak for his simple but effective Prefix.cc service, which I use for autocompleting prefixes.