├── .gitignore
├── README.md
├── src
├── assembly
│ ├── distribution.xml
│ └── standalone.xml
├── main
│ └── java
│ │ └── com
│ │ ├── tinkerpop
│ │ ├── blueprints
│ │ │ ├── TimeAwareFilter.java
│ │ │ ├── TimeAwareEdge.java
│ │ │ ├── TimeAwareVertex.java
│ │ │ ├── WorkingSet.java
│ │ │ ├── TimeAwareGraph.java
│ │ │ └── TimeAwareElement.java
│ │ └── rexster
│ │ │ └── config
│ │ │ └── FluxGraphConfiguration.java
│ │ └── jnj
│ │ └── fluxgraph
│ │ ├── FluxTimeIterable.java
│ │ ├── FluxIterable.java
│ │ ├── FluxEdge.java
│ │ ├── ImmutableFluxGraph.java
│ │ ├── FluxIndex.java
│ │ ├── FluxVertex.java
│ │ ├── FluxElement.java
│ │ ├── FluxUtil.java
│ │ └── FluxGraph.java
└── test
│ └── java
│ └── com
│ └── jnj
│ └── fluxgraph
│ ├── FluxBenchmarkTestSuite.java
│ └── FluxGraphTest.java
└── pom.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | target/
2 | .idea/
3 | *.iml
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | fluxgraph
2 | =========
3 |
4 | A temporal graph database on top of Datomic
--------------------------------------------------------------------------------
/src/assembly/distribution.xml:
--------------------------------------------------------------------------------
1 |
2 | distribution
3 |
4 | zip
5 |
6 |
7 |
8 | src
9 |
10 |
11 | target/${project.artifactId}-${project.version}-standalone/lib
12 | lib
13 |
14 |
15 |
16 |
17 | pom.xml
18 | src
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/main/java/com/tinkerpop/blueprints/TimeAwareFilter.java:
--------------------------------------------------------------------------------
1 | package com.tinkerpop.blueprints;
2 |
3 | /**
4 | * Filters for time aware elements
5 | *
6 | * @author Davy Suvee (http://datablend.be)
7 | */
8 | public interface TimeAwareFilter {
9 |
10 | /**
11 | * Returns the time aware element if a particular condition, implemented by the filter holds.
12 | *
13 | * @param timeAwareElement the time aware element to filter
14 | * @return the original input or null in case the element does not satisfy the particular condition
15 | */
16 | public TimeAwareElement filter(TimeAwareElement timeAwareElement);
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/main/java/com/tinkerpop/blueprints/TimeAwareEdge.java:
--------------------------------------------------------------------------------
1 | package com.tinkerpop.blueprints;
2 |
3 | /**
4 | * @author Davy Suvee (http://datablend.be)
5 | */
6 | public interface TimeAwareEdge extends Edge, TimeAwareElement {
7 |
8 | @Override
9 | public TimeAwareEdge getPreviousVersion();
10 |
11 | @Override
12 | public Iterable getPreviousVersions();
13 |
14 | @Override
15 | public Iterable getPreviousVersions(TimeAwareFilter timeAwareFilter);
16 |
17 | @Override
18 | public TimeAwareEdge getNextVersion();
19 |
20 | @Override
21 | public Iterable getNextVersions();
22 |
23 | @Override
24 | public Iterable getNextVersions(TimeAwareFilter timeAwareFilter);
25 |
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/main/java/com/tinkerpop/blueprints/TimeAwareVertex.java:
--------------------------------------------------------------------------------
1 | package com.tinkerpop.blueprints;
2 |
3 | /**
4 | * @author Davy Suvee (http://datablend.be)
5 | */
6 | public interface TimeAwareVertex extends Vertex, TimeAwareElement {
7 |
8 | @Override
9 | public TimeAwareVertex getPreviousVersion();
10 |
11 | @Override
12 | public Iterable getPreviousVersions();
13 |
14 | @Override
15 | public Iterable getPreviousVersions(TimeAwareFilter timeAwareFilter);
16 |
17 | @Override
18 | public TimeAwareVertex getNextVersion();
19 |
20 | @Override
21 | public Iterable getNextVersions();
22 |
23 | @Override
24 | public Iterable getNextVersions(TimeAwareFilter timeAwareFilter);
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/assembly/standalone.xml:
--------------------------------------------------------------------------------
1 |
2 | standalone
3 |
4 | dir
5 |
6 | false
7 |
8 |
9 |
10 | target/*.jar
11 | /lib
12 |
13 |
14 |
15 |
16 |
17 | /lib
18 | false
19 | compile
20 |
21 |
22 | /lib
23 | false
24 | provided
25 |
26 |
27 |
--------------------------------------------------------------------------------
/src/main/java/com/tinkerpop/blueprints/WorkingSet.java:
--------------------------------------------------------------------------------
1 | package com.tinkerpop.blueprints;
2 |
3 | import java.util.HashSet;
4 | import java.util.Set;
5 |
6 | /**
7 | * Container used to defined the working set of vertices and edges
8 | * @author Davy Suvee (http://datablend.be)
9 | */
10 | public class WorkingSet {
11 |
12 | public Set