Permalink
Browse files

[release] release 0.4.1 (#957)

### Release 0.4.1

* [#877] added support for property value null (#908)

fixes #877

* [#856] property pushdown hbase (#906)

fixes #856

* [#864] Change examples to use csv (#905)

fixes #864

* [#494] Add Set support to PropertyValue (#916)

fixes #494

* [#888] Minor changes to Tuple-related functions. (#912)

fixes #888

* [#779] Add code coverage for Gradoop (#914)

fixes #779

* [#702] Add support for graphs without edges to TLFDataSource (#921)

fixes #702

* [#909] Remove Flink dependency for store instance (#918)

fixes #909

* [#876] added print for logical graph and graph collection (#913)

fixes #876

* [#857] logical predicate chaining hbase (#920)

fixes #857

* [#926] added argLine to maven properties (fix ide testing bug) (#929)

fixes #926

* [#794] include new benchmark classes (#904)

fixes #794

* [#312] example program for aggregation (#925)

fixes #312

* [#901] Add SamplingConstants, AggregationConstants (#934)

fixed #901

* [#935] Add tests for containment functions (#941)

fixes #935

* [#900] Refactor sampling tests. (#907)

fixes #900

* [#936] Generalized RollUp and DrillDown (#939)

fixes #936

* [#947] Fix PageRank wrapper and add a test. (#949)

fixes #947

* [#942] graph density computation for sampling evaluation (#946)

fixes #942

* [#954] prepare minor release (#955)

fixes #954
  • Loading branch information...
galpha authored and ChrizZz110 committed Aug 24, 2018
1 parent 68efc3d commit c5b3a668901c4622d580a177258fd2bd6d2747f5
Showing with 10,780 additions and 3,367 deletions.
  1. +2 −2 README.md
  2. +25 −19 dev-support/store/hbase_table_layout
  3. +1 −1 gradoop-checkstyle/pom.xml
  4. +5 −1 gradoop-common/pom.xml
  5. +28 −5 gradoop-common/src/main/java/org/gradoop/common/model/impl/properties/Properties.java
  6. +82 −7 gradoop-common/src/main/java/org/gradoop/common/model/impl/properties/PropertyValue.java
  7. +45 −0 gradoop-common/src/main/java/org/gradoop/common/model/impl/properties/PropertyValueUtils.java
  8. +22 −1 gradoop-common/src/test/java/org/gradoop/common/GradoopTestUtils.java
  9. +122 −22 gradoop-common/src/test/java/org/gradoop/common/model/impl/properties/PropertyValueTest.java
  10. +1,011 −911 gradoop-common/src/test/java/org/gradoop/common/model/impl/properties/PropertyValueUtilsTest.java
  11. +5 −1 gradoop-examples/pom.xml
  12. +245 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/cypher/CypherBenchmark.java
  13. +104 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/cypher/Queries.java
  14. +19 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/cypher/package-info.java
  15. +15 −1 gradoop-examples/src/main/java/org/gradoop/benchmark/grouping/GroupingBenchmark.java
  16. +0 −9 gradoop-examples/src/main/java/org/gradoop/benchmark/patternmatching/Queries.java
  17. +251 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/sna/SocialNetworkAnalyticsExample.java
  18. +34 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/sna/functions/CountFilter.java
  19. +19 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/sna/functions/package-info.java
  20. +19 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/sna/package-info.java
  21. +215 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/subgraph/SubgraphBenchmark.java
  22. +19 −0 gradoop-examples/src/main/java/org/gradoop/benchmark/subgraph/package-info.java
  23. +103 −42 gradoop-examples/src/main/java/org/gradoop/examples/AbstractRunner.java
  24. +99 −0 gradoop-examples/src/main/java/org/gradoop/examples/aggregation/AggregationExample.java
  25. +40 −0 ...mples/src/main/java/org/gradoop/examples/aggregation/functions/AddPropertyMeanAgeToGraphHead.java
  26. +54 −0 gradoop-examples/src/main/java/org/gradoop/examples/aggregation/functions/AggregateListOfNames.java
  27. +19 −0 gradoop-examples/src/main/java/org/gradoop/examples/aggregation/functions/package-info.java
  28. +19 −0 gradoop-examples/src/main/java/org/gradoop/examples/aggregation/package-info.java
  29. +4 −18 gradoop-examples/src/main/java/org/gradoop/examples/biiig/FrequentLossPatterns.java
  30. +11 −2 gradoop-examples/src/main/java/org/gradoop/examples/grouping/GroupingRunner.java
  31. +12 −20 gradoop-examples/src/main/java/org/gradoop/examples/io/DOTExample.java
  32. +4 −5 gradoop-examples/src/main/java/org/gradoop/examples/patternmatching/CypherExample.java
  33. +3 −3 gradoop-examples/src/main/java/org/gradoop/examples/patternmatching/PatternMatchingRunner.java
  34. +7 −8 gradoop-examples/src/main/java/org/gradoop/examples/sna/SNABenchmark1.java
  35. +15 −15 gradoop-examples/src/main/java/org/gradoop/examples/sna/SNABenchmark2.java
  36. +2 −0 gradoop-examples/src/main/java/org/gradoop/utils/sampling/RandomEdgeSamplingRunner.java
  37. +6 −3 ...op-examples/src/main/java/org/gradoop/utils/sampling/RandomLimitedDegreeVertexSamplingRunner.java
  38. +3 −1 gradoop-examples/src/main/java/org/gradoop/utils/sampling/RandomNonUniformVertexSamplingRunner.java
  39. +6 −3 gradoop-examples/src/main/java/org/gradoop/utils/sampling/RandomVertexEdgeSamplingRunner.java
  40. +6 −20 ...oop-examples/src/main/java/org/gradoop/utils/sampling/RandomVertexNeighborhoodSamplingRunner.java
  41. +2 −0 gradoop-examples/src/main/java/org/gradoop/utils/sampling/RandomVertexSamplingRunner.java
  42. +65 −0 gradoop-examples/src/main/java/org/gradoop/utils/sampling/statistics/GraphDensityRunner.java
  43. +46 −0 gradoop-examples/src/main/java/org/gradoop/utils/sampling/statistics/SamplingStatisticsRunner.java
  44. +19 −0 gradoop-examples/src/main/java/org/gradoop/utils/sampling/statistics/package-info.java
  45. +1,892 −0 gradoop-examples/src/main/resources/data/csv/foodbroker/edges.csv
  46. +32 −0 gradoop-examples/src/main/resources/data/csv/foodbroker/metadata.csv
  47. +804 −0 gradoop-examples/src/main/resources/data/csv/foodbroker/vertices.csv
  48. +1 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/distinct_edge_properties
  49. +2 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/distinct_edge_properties_by_label
  50. +1 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/distinct_source_vertex_count
  51. +5 −0 ...op-examples/src/main/resources/data/csv/sna/statistics/distinct_source_vertex_count_by_edge_label
  52. +1 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/distinct_target_vertex_count
  53. +5 −0 ...op-examples/src/main/resources/data/csv/sna/statistics/distinct_target_vertex_count_by_edge_label
  54. +7 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/distinct_vertex_properties
  55. +8 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/distinct_vertex_properties_by_label
  56. +1 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/edge_count
  57. +5 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/edge_count_by_label
  58. +5 −0 ...op-examples/src/main/resources/data/csv/sna/statistics/edge_count_by_source_vertex_and_edge_label
  59. +5 −0 ...op-examples/src/main/resources/data/csv/sna/statistics/edge_count_by_target_vertex_and_edge_label
  60. +4 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/incoming_vertex_degree_distribution
  61. +4 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/outgoing_vertex_degree_distribution
  62. +1 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/vertex_count
  63. +3 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/vertex_count_by_label
  64. +4 −0 gradoop-examples/src/main/resources/data/csv/sna/statistics/vertex_degree_distribution
  65. +5 −1 gradoop-flink/pom.xml
  66. +2 −1 gradoop-flink/src/main/java/org/gradoop/flink/algorithms/gelly/pagerank/PageRank.java
  67. +31 −0 ...-flink/src/main/java/org/gradoop/flink/algorithms/gelly/pagerank/functions/PageRankResultKey.java
  68. +84 −2 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/csv/metadata/MetaDataParser.java
  69. +2 −2 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/dot/DOTDataSink.java
  70. +70 −0 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/gdl/GDLConsoleOutput.java
  71. +89 −0 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/gdl/GDLDataSink.java
  72. +331 −0 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/gdl/GDLEncoder.java
  73. +55 −0 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/gdl/functions/GraphTransactionsToGDL.java
  74. +19 −0 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/gdl/functions/package-info.java
  75. +19 −0 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/gdl/package-info.java
  76. +7 −8 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/tlf/TLFDataSource.java
  77. +1 −2 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/tlf/functions/DictionaryEntry.java
  78. +41 −92 gradoop-flink/src/main/java/org/gradoop/flink/io/impl/tlf/functions/GraphTransactionFromText.java
  79. +10 −0 gradoop-flink/src/main/java/org/gradoop/flink/model/api/epgm/GraphCollection.java
  80. +31 −25 gradoop-flink/src/main/java/org/gradoop/flink/model/api/epgm/LogicalGraph.java
  81. +25 −24 gradoop-flink/src/main/java/org/gradoop/flink/model/api/epgm/LogicalGraphOperators.java
  82. +0 −1 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/functions/tuple/Project3To0.java
  83. +1 −2 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/functions/tuple/Project4To0And1.java
  84. +8 −1 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/functions/tuple/SwitchPair.java
  85. +2 −0 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/functions/tuple/Value2Of3.java
  86. +3 −0 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/functions/tuple/ValueInTuple1.java
  87. +1 −1 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/functions/tuple/ValueOfWithCount.java
  88. +6 −1 ...n/java/org/gradoop/flink/model/impl/operators/aggregation/functions/containment/HasEdgeLabel.java
  89. +6 −1 ...java/org/gradoop/flink/model/impl/operators/aggregation/functions/containment/HasVertexLabel.java
  90. +6 −1 ...k/src/main/java/org/gradoop/flink/model/impl/operators/aggregation/functions/count/EdgeCount.java
  91. +6 −1 ...src/main/java/org/gradoop/flink/model/impl/operators/aggregation/functions/count/VertexCount.java
  92. +7 −1 ...k/src/main/java/org/gradoop/flink/model/impl/operators/aggregation/functions/max/MaxProperty.java
  93. +7 −1 ...k/src/main/java/org/gradoop/flink/model/impl/operators/aggregation/functions/min/MinProperty.java
  94. +6 −1 ...k/src/main/java/org/gradoop/flink/model/impl/operators/aggregation/functions/sum/SumProperty.java
  95. +144 −58 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/operators/drilling/Drill.java
  96. +46 −18 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/operators/drilling/DrillDown.java
  97. +49 −21 ...-flink/src/main/java/org/gradoop/flink/model/impl/operators/drilling/{DrillUp.java → RollUp.java}
  98. +1 −1 ...radoop/flink/model/impl/operators/drilling/functions/transformations/DrillDownTransformation.java
  99. +1 −1 ...rg/gradoop/flink/model/impl/operators/drilling/functions/transformations/DrillTransformation.java
  100. +9 −9 ...ators/drilling/functions/transformations/{DrillUpTransformation.java → RollUpTransformation.java}
  101. +3 −3 ...k/src/main/java/org/gradoop/flink/model/impl/operators/equality/CollectionEqualityByGraphIds.java
  102. +15 −13 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/operators/sampling/RandomEdgeSampling.java
  103. +9 −10 .../main/java/org/gradoop/flink/model/impl/operators/sampling/RandomLimitedDegreeVertexSampling.java
  104. +13 −18 ...src/main/java/org/gradoop/flink/model/impl/operators/sampling/RandomNonUniformVertexSampling.java
  105. +17 −36 ...flink/src/main/java/org/gradoop/flink/model/impl/operators/sampling/RandomVertexEdgeSampling.java
  106. +21 −24 ...c/main/java/org/gradoop/flink/model/impl/operators/sampling/RandomVertexNeighborhoodSampling.java
  107. +4 −7 ...oop-flink/src/main/java/org/gradoop/flink/model/impl/operators/sampling/RandomVertexSampling.java
  108. +68 −0 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/operators/sampling/SamplingAlgorithm.java
  109. +9 −10 ...ava/org/gradoop/flink/model/impl/operators/sampling/functions/EdgesWithSampledVerticesFilter.java
  110. +9 −9 ...gradoop/flink/model/impl/operators/sampling/functions/FilterVerticesWithDegreeOtherThanGiven.java
  111. +32 −31 ...p-flink/src/main/java/org/gradoop/flink/model/impl/operators/sampling/functions/Neighborhood.java
  112. +2 −2 ...p-flink/src/main/java/org/gradoop/flink/model/impl/operators/sampling/functions/VertexDegree.java
  113. +51 −0 ...-flink/src/main/java/org/gradoop/flink/model/impl/operators/sampling/statistics/GraphDensity.java
  114. +37 −0 .../java/org/gradoop/flink/model/impl/operators/sampling/statistics/SamplingEvaluationConstants.java
  115. +54 −0 ...n/java/org/gradoop/flink/model/impl/operators/sampling/statistics/functions/CalculateDensity.java
  116. +19 −0 .../main/java/org/gradoop/flink/model/impl/operators/sampling/statistics/functions/package-info.java
  117. +19 −0 ...-flink/src/main/java/org/gradoop/flink/model/impl/operators/sampling/statistics/package-info.java
  118. +3 −3 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/operators/subgraph/Subgraph.java
  119. +3 −3 gradoop-flink/src/main/java/org/gradoop/flink/model/impl/operators/tostring/api/VertexToString.java
  120. +54 −0 gradoop-flink/src/test/java/org/gradoop/flink/algorithms/gelly/pagerank/PageRankTest.java
  121. +0 −1 gradoop-flink/src/test/java/org/gradoop/flink/io/impl/csv/CSVDataSinkTest.java
  122. +0 −1 gradoop-flink/src/test/java/org/gradoop/flink/io/impl/csv/CSVDataSourceTest.java
  123. +28 −0 gradoop-flink/src/test/java/org/gradoop/flink/io/impl/csv/CSVTestBase.java
  124. +31 −0 gradoop-flink/src/test/java/org/gradoop/flink/io/impl/gdl/GDLDataSinkTest.java
  125. +58 −3 gradoop-flink/src/test/java/org/gradoop/flink/io/impl/tlf/TLFDataSinkTest.java
  126. +23 −0 gradoop-flink/src/test/java/org/gradoop/flink/io/impl/tlf/TLFDataSourceTest.java
  127. +83 −2 gradoop-flink/src/test/java/org/gradoop/flink/model/impl/operators/aggregation/AggregationTest.java
  128. +59 −0 ...-flink/src/test/java/org/gradoop/flink/model/impl/operators/aggregation/ApplyAggregationTest.java
  129. +120 −67 gradoop-flink/src/test/java/org/gradoop/flink/model/impl/operators/drilling/DrillTest.java
  130. +185 −64 ...c/test/java/org/gradoop/flink/model/impl/operators/sampling/ParametrizedTestForGraphSampling.java
  131. +45 −60 ...p-flink/src/test/java/org/gradoop/flink/model/impl/operators/sampling/RandomEdgeSamplingTest.java
  132. +56 −91 ...t/java/org/gradoop/flink/model/impl/operators/sampling/RandomLimitedDegreeVertexSamplingTest.java
  133. +54 −5 ...test/java/org/gradoop/flink/model/impl/operators/sampling/RandomNonUniformVertexSamplingTest.java
  134. +66 −4 ...k/src/test/java/org/gradoop/flink/model/impl/operators/sampling/RandomVertexEdgeSamplingTest.java
  135. +69 −3 ...st/java/org/gradoop/flink/model/impl/operators/sampling/RandomVertexNeighborhoodSamplingTest.java
  136. +55 −5 ...flink/src/test/java/org/gradoop/flink/model/impl/operators/sampling/RandomVertexSamplingTest.java
  137. +49 −0 ...nk/src/test/java/org/gradoop/flink/model/impl/operators/sampling/statistics/GraphDensityTest.java
  138. +1 −1 gradoop-flink/src/test/resources/data/csv/expected/expected.gdl
  139. +1 −1 gradoop-flink/src/test/resources/data/csv/input/metadata.csv
  140. +1 −1 gradoop-flink/src/test/resources/data/csv/input/vertices.csv
  141. +1 −1 gradoop-flink/src/test/resources/data/csv/input_extended_properties/edges.csv
  142. +3 −3 gradoop-flink/src/test/resources/data/csv/input_extended_properties/metadata.csv
  143. +2 −2 gradoop-flink/src/test/resources/data/csv/input_extended_properties/vertices.csv
  144. +1 −1 gradoop-flink/src/test/resources/data/csv/input_indexed/metadata.csv
  145. +1 −1 gradoop-flink/src/test/resources/data/csv/input_indexed/vertices/A/data.csv
  146. +6 −0 gradoop-flink/src/test/resources/data/tlf/io_test_string_without_edges.tlf
  147. +5 −1 gradoop-store/gradoop-accumulo/pom.xml
  148. +30 −47 gradoop-store/gradoop-accumulo/src/main/java/org/gradoop/storage/config/GradoopAccumuloConfig.java
  149. +3 −40 ...oop-store/gradoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/AccumuloEPGMStore.java
  150. +0 −1 ...gradoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/handler/AccumuloEdgeHandler.java
  151. +0 −1 ...radoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/handler/AccumuloGraphHandler.java
  152. +10 −6 .../gradoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/handler/AccumuloRowHandler.java
  153. +1 −23 ...adoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/handler/AccumuloVertexHandler.java
  154. +33 −1 gradoop-store/gradoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/AccumuloBase.java
  155. +24 −27 ...p-store/gradoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/AccumuloDataSink.java
  156. +18 −8 ...store/gradoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/AccumuloDataSource.java
  157. +1 −1 ...oop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/inputformats/BaseInputFormat.java
  158. +0 −141 ...p-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/outputformats/BaseOutputFormat.java
  159. +0 −68 ...accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/outputformats/EdgeInOutputFormat.java
  160. +0 −68 ...ccumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/outputformats/EdgeOutOutputFormat.java
  161. +0 −66 ...p-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/outputformats/EdgeOutputFormat.java
  162. +119 −0 ...ccumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/outputformats/ElementOutputFormat.java
  163. +0 −66 ...umulo/src/main/java/org/gradoop/storage/impl/accumulo/io/outputformats/GraphHeadOutputFormat.java
  164. +0 −66 ...accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/outputformats/VertexOutputFormat.java
  165. +2 −1 ...adoop-accumulo/src/main/java/org/gradoop/storage/impl/accumulo/io/outputformats/package-info.java
  166. +2 −1 ...umulo/src/main/java/org/gradoop/storage/impl/accumulo/iterator/client/ClientClosableIterator.java
  167. +6 −6 ...o/src/main/java/org/gradoop/storage/impl/accumulo/predicate/filter/api/AccumuloElementFilter.java
  168. +6 −6 .../src/main/java/org/gradoop/storage/impl/accumulo/predicate/filter/calculate/{AND.java → And.java}
  169. +7 −7 .../src/main/java/org/gradoop/storage/impl/accumulo/predicate/filter/calculate/{NOT.java → Not.java}
  170. +6 −6 ...lo/src/main/java/org/gradoop/storage/impl/accumulo/predicate/filter/calculate/{OR.java → Or.java}
  171. +5 −0 ...accumulo/src/main/java/org/gradoop/storage/impl/accumulo/predicate/query/AccumuloQueryHolder.java
  172. +6 −6 gradoop-store/gradoop-accumulo/src/main/java/org/gradoop/storage/utils/AccumuloFilters.java
  173. +7 −5 ...store/gradoop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/AccumuloStoreTestBase.java
  174. +12 −11 ...oop-store/gradoop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/AccumuloTestSuite.java
  175. +69 −24 gradoop-store/gradoop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/basic/StoreTest.java
  176. +15 −16 gradoop-store/gradoop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/io/IOBasicTest.java
  177. +9 −6 ...adoop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/io/source/IOEdgePredicateTest.java
  178. +7 −7 ...doop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/io/source/IOElementIdRangeTest.java
  179. +6 −6 ...doop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/io/source/IOGraphPredicateTest.java
  180. +9 −9 ...oop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/io/source/IOVertexPredicateTest.java
  181. +9 −10 ...p-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/predicate/StoreBasicPredicateTest.java
  182. +3 −3 ...oop-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/predicate/StoreIdsPredicateTest.java
  183. +7 −7 ...p-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/predicate/StoreLabelPredicateTest.java
  184. +6 −6 ...op-accumulo/src/test/java/org/gradoop/storage/impl/accumulo/predicate/StorePropPredicateTest.java
  185. +5 −1 gradoop-store/gradoop-hbase/pom.xml
  186. +49 −19 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/config/GradoopHBaseConfig.java
  187. +3 −3 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/HBaseEPGMStore.java
  188. +3 −7 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/api/EdgeHandler.java
  189. +3 −12 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/api/ElementHandler.java
  190. +3 −7 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/api/GraphHeadHandler.java
  191. +3 −7 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/api/VertexHandler.java
  192. +6 −2 ...op-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/constants/HBaseConstants.java
  193. +0 −50 ...oop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/filter/HBaseFilterUtils.java
  194. +6 −6 ...op-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/handler/HBaseEdgeHandler.java
  195. +27 −42 ...store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/handler/HBaseElementHandler.java
  196. +1 −3 .../gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/handler/HBaseGraphElementHandler.java
  197. +6 −6 ...ore/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/handler/HBaseGraphHeadHandler.java
  198. +5 −4 ...-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/handler/HBaseVertexHandler.java
  199. +19 −1 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/io/HBaseBase.java
  200. +9 −3 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/io/HBaseDataSink.java
  201. +28 −21 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/io/HBaseDataSource.java
  202. +5 −7 ...doop-hbase/src/main/java/org/gradoop/storage/impl/hbase/io/inputformats/BaseTableInputFormat.java
  203. +1 −7 ...doop-hbase/src/main/java/org/gradoop/storage/impl/hbase/io/inputformats/EdgeTableInputFormat.java
  204. +1 −7 ...hbase/src/main/java/org/gradoop/storage/impl/hbase/io/inputformats/GraphHeadTableInputFormat.java
  205. +1 −7 ...op-hbase/src/main/java/org/gradoop/storage/impl/hbase/io/inputformats/VertexTableInputFormat.java
  206. +1 −6 ...-store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/iterator/HBaseEdgeIterator.java
  207. +1 −6 ...store/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/iterator/HBaseGraphIterator.java
  208. +0 −122 ...radoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/iterator/HBasePropertyValueWrapper.java
  209. +1 −6 ...tore/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/iterator/HBaseVertexIterator.java
  210. +256 −0 ...gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/predicate/filter/HBaseFilterUtils.java
  211. +18 −9 ...se/src/main/java/org/gradoop/storage/impl/hbase/{ → predicate}/filter/api/HBaseElementFilter.java
  212. +1 −1 ...op-hbase/src/main/java/org/gradoop/storage/impl/hbase/{ → predicate}/filter/api/package-info.java
  213. +97 −0 ...re/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/predicate/filter/calculate/And.java
  214. +73 −0 ...re/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/predicate/filter/calculate/Not.java
  215. +97 −0 ...ore/gradoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/predicate/filter/calculate/Or.java
  216. +19 −0 ...p-hbase/src/main/java/org/gradoop/storage/impl/hbase/predicate/filter/calculate/package-info.java
  217. +8 −22 ...p-hbase/src/main/java/org/gradoop/storage/impl/hbase/{ → predicate}/filter/impl/HBaseLabelIn.java
  218. +8 −16 ...-hbase/src/main/java/org/gradoop/storage/impl/hbase/{ → predicate}/filter/impl/HBaseLabelReg.java
  219. +52 −0 ...oop-hbase/src/main/java/org/gradoop/storage/impl/hbase/predicate/filter/impl/HBasePropEquals.java
  220. +53 −0 ...hbase/src/main/java/org/gradoop/storage/impl/hbase/predicate/filter/impl/HBasePropLargerThan.java
  221. +53 −0 ...radoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/predicate/filter/impl/HBasePropReg.java
  222. +1 −1 ...p-hbase/src/main/java/org/gradoop/storage/impl/hbase/{ → predicate}/filter/impl/package-info.java
  223. +1 −1 ...radoop-hbase/src/main/java/org/gradoop/storage/impl/hbase/{ → predicate}/filter/package-info.java
  224. +109 −0 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/utils/HBaseFilters.java
  225. +19 −0 gradoop-store/gradoop-hbase/src/main/java/org/gradoop/storage/utils/package-info.java
  226. +19 −15 gradoop-store/gradoop-hbase/src/test/java/org/gradoop/storage/impl/hbase/GradoopHBaseTestBase.java
  227. +353 −72 gradoop-store/gradoop-hbase/src/test/java/org/gradoop/storage/impl/hbase/HBaseGraphStoreTest.java
  228. +0 −79 ...gradoop-hbase/src/test/java/org/gradoop/storage/impl/hbase/filter/api/HBaseElementFilterTest.java
  229. +337 −35 ...-store/gradoop-hbase/src/test/java/org/gradoop/storage/impl/hbase/io/HBaseDataSinkSourceTest.java
  230. +2 −2 ...ase/src/test/java/org/gradoop/storage/impl/hbase/{ → predicate}/filter/impl/HBaseLabelInTest.java
  231. +2 −2 ...se/src/test/java/org/gradoop/storage/impl/hbase/{ → predicate}/filter/impl/HBaseLabelRegTest.java
  232. +127 −0 ...hbase/src/test/java/org/gradoop/storage/impl/hbase/predicate/filter/impl/HBasePropEqualsTest.java
  233. +135 −0 ...e/src/test/java/org/gradoop/storage/impl/hbase/predicate/filter/impl/HBasePropLargerThanTest.java
  234. +73 −0 ...op-hbase/src/test/java/org/gradoop/storage/impl/hbase/predicate/filter/impl/HBasePropRegTest.java
  235. +3 −3 gradoop-store/gradoop-hbase/src/test/resources/data/gdl/social_network.gdl
  236. +1 −1 gradoop-store/gradoop-hbase/src/test/resources/log4j-test.properties
  237. +5 −1 gradoop-store/gradoop-store-api/pom.xml
  238. +3 −3 ...re/gradoop-store-api/src/main/java/org/gradoop/storage/common/api/EPGMGraphPredictableOutput.java
  239. +2 −81 ...p-store/gradoop-store-api/src/main/java/org/gradoop/storage/common/config/GradoopStoreConfig.java
  240. +1 −1 ...ore/gradoop-store-api/src/main/java/org/gradoop/storage/common/predicate/filter/impl/PropReg.java
  241. +1 −1 gradoop-store/pom.xml
  242. +27 −2 pom.xml
View
@@ -1,5 +1,5 @@
[![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven.svg?label=License)](https://www.apache.org/licenses/LICENSE-2.0)
[![Maven Central](https://img.shields.io/badge/Maven_Central-0.4.0-blue.svg?label=Maven%20Central)](http://search.maven.org/#search%7Cga%7C1%7Cgradoop)
[![Maven Central](https://img.shields.io/badge/Maven_Central-0.4.1-blue.svg?label=Maven%20Central)](http://search.maven.org/#search%7Cga%7C1%7Cgradoop)
[![Build Status](https://travis-ci.org/dbs-leipzig/gradoop.svg?branch=master)](https://travis-ci.org/dbs-leipzig/gradoop)
## Gradoop: Distributed Graph Analytics on Hadoop
@@ -108,7 +108,7 @@ Stable:
<dependency>
<groupId>org.gradoop</groupId>
<artifactId>gradoop-flink</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</dependency>
```
@@ -1,39 +1,45 @@
GraphData (table 'graph_heads')
----------*-------------*-------------------------*---------------*---------------------
----------*-------------*-------------------------*---------------*-----------------------
row | cf | cq | timestamp | value
----------*-------------*-------------------------*---------------*---------------------
----------*-------------*-------------------------*---------------*-----------------------
| m | l | | {label}
{id} *-------------*-------------------------*---------------*---------------------
| p | {property key} | | {property value}
----------*-------------*-------------------------*---------------*---------------------
{id} *-------------*-------------------------*---------------*-----------------------
| p_type | {property key} | | {property type byte}
*-------------*-------------------------*---------------*-----------------------
| p_value | {property key} | | {property value}
----------*-------------*-------------------------*---------------*-----------------------
VertexData (table 'vertices')
----------*-------------*-------------------------*---------------*---------------------
----------*-------------*-------------------------*---------------*-----------------------
row | cf | cq | timestamp | value
----------*-------------*-------------------------*---------------*---------------------
----------*-------------*-------------------------*---------------*-----------------------
| m | l | | {label}
{id} *-------------*-------------------------*---------------*---------------------
{id} *-------------*-------------------------*---------------*-----------------------
| m | g | | {graph id}
*-------------*-------------------------*---------------*---------------------
| p | {property key} | | {property value}
----------*-------------*-------------------------*---------------*---------------------
*-------------*-------------------------*---------------*-----------------------
| p_type | {property key} | | {property type byte}
*-------------*-------------------------*---------------*-----------------------
| p_value | {property key} | | {property value}
----------*-------------*-------------------------*---------------*-----------------------
EdgeData (table 'edges')
----------*-------------*-------------------------*---------------*---------------------
----------*-------------*-------------------------*---------------*-----------------------
row | cf | cq | timestamp | value
----------*-------------*-------------------------*---------------*---------------------
----------*-------------*-------------------------*---------------*-----------------------
| m | l | | {label}
*-------------*-------------------------*---------------*---------------------
*-------------*-------------------------*---------------*-----------------------
| m | g | | {graph id}
{id} *-------------*-------------------------*---------------*---------------------
{id} *-------------*-------------------------*---------------*-----------------------
| m | s | | {source vertex id}
*-------------*-------------------------*---------------*---------------------
*-------------*-------------------------*---------------*-----------------------
| m | t | | {varget vertex id}
*-------------*-------------------------*---------------*---------------------
| p | {property key} | | {property value}
----------*-------------*-------------------------*---------------*---------------------
*-------------*-------------------------*---------------*-----------------------
| p_type | {property key} | | {property type byte}
*-------------*-------------------------*---------------*-----------------------
| p_value | {property key} | | {property value}
----------*-------------*-------------------------*---------------*-----------------------
@@ -5,7 +5,7 @@
<parent>
<groupId>org.gradoop</groupId>
<artifactId>gradoop-parent</artifactId>
<version>0.5.0-SNAPSHOT</version>
<version>0.4.1</version>
</parent>
<artifactId>gradoop-checkstyle</artifactId>
View
@@ -5,7 +5,7 @@
<parent>
<groupId>org.gradoop</groupId>
<artifactId>gradoop-parent</artifactId>
<version>0.5.0-SNAPSHOT</version>
<version>0.4.1</version>
</parent>
<artifactId>gradoop-common</artifactId>
@@ -104,6 +104,10 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
@@ -23,6 +23,7 @@
import java.io.Serializable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -257,13 +258,28 @@ public int hashCode() {
return properties != null ? properties.hashCode() : 0;
}
/**
* {@inheritDoc}
*/
@Override
public Iterator<Property> iterator() {
return properties.entrySet().stream()
.map(e -> Property.create(e.getKey(), e.getValue()))
.collect(Collectors.toList()).iterator();
return toList().iterator();
}
/**
* Returns a list of properties.
*
* @return List of properties
*/
public List<Property> toList() {
return properties.entrySet().stream()
.map(e -> Property.create(e.getKey(), e.getValue()))
.collect(Collectors.toList());
}
/**
* {@inheritDoc}
*/
@Override
public void write(DataOutputView outputView) throws IOException {
outputView.writeInt(properties.size());
@@ -274,6 +290,10 @@ public void write(DataOutputView outputView) throws IOException {
}
}
/**
* {@inheritDoc}
*/
@Override
public void read(DataInputView inputView) throws IOException {
int propertyCount = inputView.readInt();
@@ -290,10 +310,13 @@ public void read(DataInputView inputView) throws IOException {
}
}
/**
* {@inheritDoc}
*/
@Override
public String toString() {
return properties.entrySet().stream()
.map(e -> Property.create(e.getKey(), e.getValue()).toString())
return toList().stream()
.map(Property::toString)
.collect(Collectors.joining(","));
}
}
@@ -36,12 +36,14 @@
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Collections;
import java.util.Set;
/**
* Represents a single property value in the EPGM.
@@ -115,6 +117,10 @@
* {@code <property-type>} for {@link java.lang.Short}
*/
public static final transient byte TYPE_SHORT = 0x0e;
/**
* {@code <property-type>} for {@link java.util.Set}
*/
public static final transient byte TYPE_SET = 0x0f;
/**
* Value offset in byte
@@ -317,6 +323,14 @@ public boolean isTime() {
public boolean isDateTime() {
return rawBytes[0] == TYPE_DATETIME;
}
/**
* True, if the wrapped value is of type {@code Set}.
*
* @return true, if {@code Set} value
*/
public boolean isSet() {
return rawBytes[0] == TYPE_SET;
}
/**
* True, if the wrapped value is a subtype of {@code Number}.
@@ -351,7 +365,8 @@ public Object getObject() {
isDate() ? getDate() :
isTime() ? getTime() :
isDateTime() ? getDateTime() :
null;
isSet() ? getSet() :
null;
}
/**
* Returns the wrapped value as {@code boolean}.
@@ -542,6 +557,36 @@ public LocalDateTime getDateTime() {
return DateTimeSerializer.deserializeDateTime(
Arrays.copyOfRange(rawBytes, OFFSET, DateTimeSerializer.SIZEOF_DATETIME + OFFSET));
}
/**
* Returns the wrapped Set as {@code Set<PropertyValue>}.
*
* @return {@code Set<PropertyValue>} value
*/
public Set<PropertyValue> getSet() {
PropertyValue entry;
Set<PropertyValue> set = new HashSet<>();
ByteArrayInputStream byteStream = new ByteArrayInputStream(rawBytes);
DataInputStream inputStream = new DataInputStream(byteStream);
DataInputView inputView = new DataInputViewStreamWrapper(inputStream);
try {
if (inputStream.skipBytes(OFFSET) != OFFSET) {
throw new RuntimeException("Malformed entry in PropertyValue Set");
}
while (inputStream.available() > 0) {
entry = new PropertyValue();
entry.read(inputView);
set.add(entry);
}
} catch (IOException e) {
throw new RuntimeException("Error reading PropertyValue");
}
return set;
}
//----------------------------------------------------------------------------
// Setter
@@ -551,7 +596,7 @@ public LocalDateTime getDateTime() {
* Sets the given value as internal value if it has a supported type.
*
* @param value value
* @throws UnsupportedTypeException
* @throws UnsupportedTypeException if the type of the Object is not supported
*/
public void setObject(Object value) {
if (value == null) {
@@ -584,6 +629,8 @@ public void setObject(Object value) {
setTime((LocalTime) value);
} else if (value instanceof LocalDateTime) {
setDateTime((LocalDateTime) value);
} else if (value instanceof Set) {
setSet((Set) value);
} else {
throw new UnsupportedTypeException(value.getClass());
}
@@ -770,6 +817,30 @@ public void setDateTime(LocalDateTime dateTime) {
Bytes.putBytes(rawBytes, OFFSET, valueBytes, 0, valueBytes.length);
}
/**
* Sets the wrapped value as {@code Set} value.
*
* @param set value
*/
public void setSet(Set<PropertyValue> set) {
int size = set.stream().mapToInt(PropertyValue::byteSize).sum() + OFFSET;
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(size);
DataOutputStream outputStream = new DataOutputStream(byteStream);
DataOutputView outputView = new DataOutputViewStreamWrapper(outputStream);
try {
outputStream.write(TYPE_SET);
for (PropertyValue entry : set) {
entry.write(outputView);
}
} catch (IOException e) {
throw new RuntimeException("Error writing PropertyValue");
}
this.rawBytes = byteStream.toByteArray();
}
//----------------------------------------------------------------------------
// Util
//----------------------------------------------------------------------------
@@ -804,6 +875,7 @@ public void setDateTime(LocalDateTime dateTime) {
map.put(TYPE_DATE, LocalDate.class);
map.put(TYPE_TIME, LocalTime.class);
map.put(TYPE_DATETIME, LocalDateTime.class);
map.put(TYPE_SET, Set.class);
return Collections.unmodifiableMap(map);
}
@@ -871,7 +943,9 @@ public int compareTo(PropertyValue o) {
result = this.getTime().compareTo(o.getTime());
} else if (this.isDateTime() && o.isDateTime()) {
result = this.getDateTime().compareTo(o.getDateTime());
} else if (this.isMap() || o.isMap() || this.isList() || o.isList()) {
} else if (this.isMap() || o.isMap() ||
this.isList() || o.isList() ||
this.isSet() || o.isSet()) {
throw new UnsupportedOperationException(String.format(
"Method compareTo() is not supported for %s, %s", this.getClass(), o.getClass()));
} else {
@@ -926,7 +1000,7 @@ public void write(DataOutputView outputView) throws IOException {
}
outputView.writeByte(type);
// Write length for types with a variable length.
if (isString() || isBigDecimal() || isMap() || isList()) {
if (isString() || isBigDecimal() || isMap() || isList() || isSet()) {
// Write length as an int if the "large" flag is set.
if ((type & FLAG_LARGE) == FLAG_LARGE) {
outputView.writeInt(rawBytes.length - OFFSET);
@@ -946,7 +1020,8 @@ public void read(DataInputView inputView) throws IOException {
// Apply bitmask to get the actual type.
byte type = (byte) (~FLAG_LARGE & typeByte);
// dynamic type?
if (type == TYPE_STRING || type == TYPE_BIG_DECIMAL || type == TYPE_MAP || type == TYPE_LIST) {
if (type == TYPE_STRING || type == TYPE_BIG_DECIMAL || type == TYPE_MAP ||
type == TYPE_LIST || type == TYPE_SET) {
// read length
if ((typeByte & FLAG_LARGE) == FLAG_LARGE) {
length = inputView.readInt();
Oops, something went wrong.

0 comments on commit c5b3a66

Please sign in to comment.