Skip to content

YARS-PG grammar. The YARS-PG serialization is specially designed for graphs, especially property graphs.

License

Notifications You must be signed in to change notification settings

lszeremeta/yarspg

Repository files navigation

YARS-PG grammar

GitHub Actions Workflow Status GitHub Release DOI

The YARS-PG serialization is designed for property graphs (but not only):

  • YARS-PG supports all the features allowed by the current database systems based on the property graph data model,
  • YARS-PG provides a simple syntax with a reduced number of extra characters,
  • YARS-PG is inspired by the syntax used by popular graph query languages (e.g. Cypher and GQL) to encode the structure of a property graph (i.e. nodes, edges, and properties).

YARS-PG overview

Read more about the current version of YARS-PG in the following paper: YARS-PG: Property Graphs Representation for Publication and Exchange.

The YARS-PG grammar is written in ANTLR4. If you prefer Extended Backus-Naur Form (EBNF) notation, you can also see YARS-PG grammar in EBNF.

Examples

See examples to get familiar with the YARS-PG syntax.

Additional examples:

Parsers

The YARS-PG parsers are available in the parsers. Currently, there are parsers for the following languages:

If you want to help build YARS-PG parsers for other languages, please follow the ANTLR4 documentation and create a pull request.

See the README.md file in each parser directory for more details. Ready-to-use parsers are also available in the Assets section in Releases.

Testing grammar

Run tests on files in yarspg/examples:

mvn clean test

This project is based on the ANTLR grammars-v4 project.

Contribution

Would you like to improve this project? Great! We are waiting for your help and suggestions. If you are new to open source contributions, read How to Contribute to Open Source.

License

Distributed under BSD 3-Clause License.