Have ideas to improve npm?Join in the discussion! »

    @rmlio/yarrrml-parser

    1.2.2 • Public • Published

    YARRRML Parser

    This library allows to convert YARRRML rules to RML or R2RML rules.

    Install

    • npm i -g @rmlio/yarrrml-parser

    Usage

    CLI

    There are two CLI functions, yarrrml-parser and yarrrml-generator. Using the --help flag will show all possible commands.

    yarrrml-parser

    If you want to generate RML rules from a YARRRML document, you do the following: yarrrml-parser -i rules.yml. The rules will be written to standard output. If you want to write them to a file, you can add the -o option. By default, the parser generates RML rules. If you want to generate R2RML rules add -f R2RML. If you want to use rr:class instead of Predicate Object Maps, use the -c flag. You can use multiple input files too: yarrrml-parser -i rules-1.yml -i rules-2.yml. They are converted to a single RML document. Note that the keys in prefixes, sources, and mappings have to be unique across all files. base can only be set once. You find an test/multiple-input-files. You can overwrite external references via the -e. An external reference starts with _. For example, -e name=John will replace all occurrences of $(_name) with John. Repeat -e for multiple references. When you do not provide a value for an external reference, the reference will not be replaced. You find an example in test/template-escape. If you want to use for example $(_name) as both an external reference and a normal reference, then you add a \ for the latter resulting in $(\_name) for the latter.

    yarrrml-generator

    If you want to generate YARRRML rules from an RML document, you do the following: yarrrml-generator -i rules.rml.ttl. The rules will be written to standard output. If you want to write them to a file, you can add the -o option.

    Library

    npm i --save @rmlio/yarrrml-parser

    let yarrrml = require('@rmlio/yarrrml-parser/lib/rml-generator');
    
    const yaml = "[yarrrml string]";
    const y2r = new yarrrml();
    const triples = y2r.convert(yaml);
    
    if ( y2r.getLogger().has('error') ) {
       const logs = y2r.getLogger().getAll();
       ...
    }

    Development

    • Clone this repo.
    • Install the dependencies via npm i
    • Update code, if needed.
    • Run the tests via npm test
    • Make the CLI (based on the code in the cloned repo) available system-wide via npm link (optional).

    Docker

    Run (from DockerHub):

    docker run --rm -it -v $(pwd)/resources:/data rmlio/yarrrml-parser:latest -i /data/test.yarrr.yml

    Build from source:

    docker build -t yarrrml-parser .

    License

    This code is copyrighted by Ghent University – imec and released under the MIT license.

    Install

    npm i @rmlio/yarrrml-parser

    DownloadsWeekly Downloads

    19

    Version

    1.2.2

    License

    MIT

    Unpacked Size

    458 kB

    Total Files

    230

    Last publish

    Collaborators

    • avatar
    • avatar