runeduniverse / rogm Goto Github PK
View Code? Open in Web Editor NEWAn OGM library for use in non Spring Java projects
License: Apache License 2.0
An OGM library for use in non Spring Java projects
License: Apache License 2.0
build-helper-java
parent pomcondense all possible source requirements into 1 pom-project
ROGM is missing any and all Tutorials and Guides that teach new users how to use and implement it.
Goal
The goal is to officially complete what has started a long time ago in several unnoticed feature branches:
To restructure and modularize the Core of the Entity Management System hidden in the PatternStorage class to be able to modify and continue supporting it in the future.
This rework also includes that all of ROGM is compiled, tested and deployed unsing automated tests through Jenkins by utalising Maven, JUnit5 and Docker.
History
History of progress hidden in background changes / feature branches
Modularisation 14195e0
EntityReloading bcfe2c2
primary Stage of Rework 9b66c4f
PackageScanner af11ee6
introduced Jenkins & Docker b5fb4e7
propper test-artifact abe0d45
JUnit5 31c8af6
Tests by Group (system/db-neo4j) 202fc0e
2.0 deployed to master d4c687b
Maven Management buried the defined scopes of dependencies during dependency-management import
We will publish binary compatible source code with the next patch version
condense all possible requirements into 1 pom-project
Goal
Classes with the @NodeEntity
or @RelationshipEntity
may follow the Decorator Pattern, the decorated object must be annotated with @Decorated
. Decorator-Classes may decorate other Decorator-Classes. All variables defined in Decorator-Classes will get saved in the same database object as the decorated entity.
ROGM is missing any and all In-Code Documentations that could help Open-Source Contributers develop Database-Modules
Incomplete Load-Filter (Load-Query) causes the Database to delete Relations.
IFilter customQuery = INodeFilter with only a select number of possible relations;
Object loadedObject = session.load(customQuery);
=> loads the Object as COMPLETE and stores it in the Buffer
session.save(loadedObject);
=> saves the buffered Object & deletes all outdated/unbuffered Relations since the Object is marked as COMPLETE
Database Diff.:
all Relations related to loadedObject & not explicitly defined in customQuery are deleted!
Maven Modules:
<!-- Language: MQL (MongoDB Query Language) -->
<dependency>
<groupId>net.runeduniverse.libs.rogm.lang</groupId>
<artifactId>mql</artifactId>
<version>2.0.1</version>
</dependency>
<!-- Module: MongoDB -->
<dependency>
<groupId>net.runeduniverse.libs.rogm.modules</groupId>
<artifactId>mongodb</artifactId>
<version>2.0.1</version>
</dependency>
Maven Arttifact | Name |
---|---|
rogm-api | Core API |
rogm-api-graph | Graph API |
rogm-api-docstore | Document Store API |
rogm-api-kvstore | Key Value Store API |
rogm-api-sql | Relational Database API |
Maven Arttifact | Name |
---|---|
rogm-core-graph | Graph Extension |
rogm-core-docstore | Document Store Extension |
rogm-core-kvstore | Key Value Store Extension |
rogm-core-sql | Relational Database Extension |
<!-- Language: SQL (Structured Query Language : Dialect MariaDB) -->
<dependency>
<groupId>net.runeduniverse.libs.rogm.lang</groupId>
<artifactId>sql-mariadb</artifactId>
<version>2.1.1</version>
</dependency>
<!-- Module: MariaDB -->
<dependency>
<groupId>net.runeduniverse.libs.rogm.modules</groupId>
<artifactId>mariadb</artifactId>
<version>2.1.1</version>
</dependency>
IDs don't get returned correctly and are overwritten on insert by SET a = {...}
(Buffer changes recommended to around saving the node id and the object id as different variables)
implement cascading loading of Nodes/Relations
internally saves the relation pointer to the loaded objects and speeds up repeated querys
Order Objects by:
@Id
and can be synced with Database ID)Node/Relation gets loaded/searched from Users
Node/Relation gets loaded/searched from Database (on loading)
Goal
Include ability to reload entities where the entity's reference must stay the same!
Reloaded entities may define a @PostReload
method.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.