Skip to content

Desktop application for analysing and visualising Stabler's MGs in theoretical syntax.

Notifications You must be signed in to change notification settings

DanielGall500/MG-Graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust TypeScript Vue.js Tauri Neo4J


Logo

MG-Graph Desktop

An open-source cross-platform application for the exploration and analysis of Minimalist Grammars (MGs)


View Demo · Report Bug · Request Feature

About The Project

MG-Graph is a cross-platform application designed for researchers in theoretical linguistics. It allows you to model, visualise, and analyse Minimalist Grammars in a graph-based format. The ultimate goal of the application is to make the comparison of different theories of natural language syntax easier, allowing you to quantitatively compare the Description Length metric of grammars as well as the potential derivations that are possible with a given grammar.

One of the core components of the application is an interface with a Neo4J Graph Database which allows for visualisation of grammars as a graph. Various operations can be performed on the graph in order to make generalisations about your grammar. MGs can additionally be created and saved locally so that you can have them all in one place.

In order to use this application you must download Neo4J Desktop, available also as a free Community Edition. From there you can run a graph database and provide the application with your Neo4J settings in the settings tab. More information is provided below.

Logo

Use Cases

  • Providing a unified, interactive interface for working with MGs.
  • Using description length minimisation as a metric for theoretical optimality and generalisation.
  • Enabling structured storage, querying, and analysis of MGs via graph-based representations.

🧰 Features

  • Graph-based MG modelling and storage using Neo4j
  • Grammar size calculation using information-theoretic metrics
  • Shortest path exploration through feature graphs
  • Human-in-the-loop lexical decomposition
  • Multigraph visualisations of syntactic structure
  • Cross-platform support via Tauri (Windows, macOS, Linux)

(back to top)

Built With

This project aimed to model MGs using a graph database given how they naturally lend themselves to this type of representation. An Actix backend API was implemented with Rust which communicates with the Vue.js / Tauri frontend.

  • Rust
  • TypeScript
  • Vue.js
  • Tauri
  • Neo4J

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🧱 System Requirements

  • Neo4j Community Edition (required to store and query grammars)

  • Rust (for backend execution)

  • Node.js (for frontend UI)

You must provide your Neo4J graph database settings in the Settings menu within the application.

  Address: bolt://localhost:7687,
  Database Name: neo4j,
  Username: neo4j,
  Password: your_password

🚀 Installation & Setup

  1. Install Neo4j Community Edition

    • Launch Neo4j and create a new database.
    • Take note of your host, port, username, and password.
  2. Clone and build the MG Insight Toolkit

    git clone https://github.com/DanielGall500/MG-Graph.git
    cd MG-Graph
  3. Start the frontend (Tauri & Vue.js)

    cargo tauri dev
  4. Configure database access in the app settings:

    • Input your Neo4j connection credentials and test the connection.

📊 Example Use Cases

  • Compare competing theoretical analyses for a syntactic phenomenon
  • Visualise derivational structure and movement paths
  • Estimate the complexity of a grammar via size metrics
  • Explore lexical item reuse and over-/under-generation patterns

For questions or academic collaboration inquiries, please contact the maintainer via the GitHub repository.

About

Desktop application for analysing and visualising Stabler's MGs in theoretical syntax.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published