Giter Site home page Giter Site logo

Questions About the Design about irmin HOT 4 CLOSED

rizo avatar rizo commented on May 18, 2024
Questions About the Design

from irmin.

Comments (4)

samoht avatar samoht commented on May 18, 2024

Seems that I missed that issue, sorry. There are no proper documentation for Irmin yet, but I plan to write a one in the next weeks (before the mirage 2.0 release).

The data is organised as a prefix tree (ie, a filesystem-like), with the natural corresponding queries (ie. get all the subdirs of a given path). More complex queries will depend on the underlying data-structures. For instance, you can encode persistent queues and efficiently query the head of queue, see https://github.com/samoht/merge-queues

Which kind of queries are you interested in ?

from irmin.

rizo avatar rizo commented on May 18, 2024

Hi, no problem! Thanks for the reply! Its good to know the next mirage release is so close!

After exploring the code and the examples I am gradually starting to understand the core principles of the database. The way it uses Git on the storage level and the way views provide partial representation of the database paths.

I started experimenting with Irminsule to build a storage backend for a knowledge graph. My idea is to represent the user data as a graph with items and relations between them. In the same fashion it's done in graph-based and ontology-based databases.

As you said, the queries that are not hierarchical by nature need to be adapted to the underlying data structure.

How would you advise to model the graph data structure on top of Irminsule? Do you think a custom view could be the good way to go?

from irmin.

rizo avatar rizo commented on May 18, 2024

Closing. The latest post on the mirage blog provides a good description of the architecture. After reading it I understand that my last question is out of the scope of the project.

from irmin.

avsm avatar avsm commented on May 18, 2024

It's not entirely out of scope -- you could build the knowledge graph representation on top of the basic DAG structure that Irmin exposes. One advantage (for example) might be that index branches could be updated in lock step with insertions, so that a client can pull a search index of the graph that's consistent with the graph itself.

from irmin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.