| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
NeoEMF is a persistence layer for the Eclipse Modeling Framework (EMF), which supports different NoSQL databases: Neo4j, Berkeley DB, MongoDB, etc. Thanks to NeoEMF, developers can handle large EMF resources in an efficient and scalable way.
NeoEMF provides the sames interfaces as EMF: EMF-based programs can benefit from the NeoEMF main features wth few or no changes.
URI uri = new BlueprintsUriFactory().createLocalUri("models/myGraph.graphdb");
ResourceSet resourceSet = new ResourceSetImpl();
Resource resource = resourceSet .createResource(uri);Read more at the Documentation Site
Resource objets are loaded on demand to reduce memory footprint.
In most cases, NeoEMF relies on database caches to retrieve resource objects. When the performance is critical, NeoEMF provides a build-in, application-level cache to accelerate database access.
For backends limited on transaction size, it is possible to use the auto-commit feature to split large transaction into several small ones
Handle large models that haven’t been persisted to avoid memory overhead
To add a dependency on NeoEMF using Maven, use the following:
<dependencies>
<dependency>
<groupId>org.atlanmod.neoemf</groupId>
<artifactId>neoemf-core</artifactId>
<version>2.1.0</version>
</dependency>Backend implementations are located under the artifactID neoemf-data-XXX.
<dependency>
<groupId>org.atlanmod.neoemf</groupId>
<artifactId>neoemf-data-XXX</artifactId>
<version>2.1.0</version>
</dependency>Where XXX is any of:
Blueprints:
TinkerGraph : blueprints-core
Neo4j: blueprints-neo4j (requires blueprints-core)
MapDB : mapdb
BerkeleyDB: berkeleydb
HBase: hbase
MongoDB: mongodb
The simplest way to install the NeoEMF plugins in Eclipse is to use the update-site that is available here. Install the NeoEMF Persistence Framework plugin, which provides NeoEMF core classes and utils. Select the backend specific implementation(s) you want to plug in NeoEMF.
|
Important
|
For further information, see the dedicated page in the NeoEMF Documentation. |
NeoEMF Benchmarks comparing the performance of the different backends and with Eclipse [CDO] is available as a separate project:
If you experience issues installing or using NeoEMF, you can submit an issue on github or contact us at neoemf@googlegroups.com
Only Oxygen plugins are fetched (the compatibility is not ensured for previous Eclipse versions)
The Eclipse plugins cannot be built if Maven can not access internet (it is needed to fetch Oxygen p2 repositories)
Sometimes the plugin build crashes and/or freezes during p2 index fetching from Oxygen repositories. It is generally sufficient to cancel the build (ctrl-c) and to relaunch it.
Performance problems and memory leaks are diagnosed with Java Profiler
| Back | FazBrowse Home | New Git URL |