Skip to content

Commit f9b5486

Browse files
authored
Merge pull request #5373 from FlorentinD/slim-graphstore-interface
Inline node-property related delegation methods
2 parents 53e69e3 + da41edc commit f9b5486

File tree

15 files changed

+26
-58
lines changed

15 files changed

+26
-58
lines changed

core/src/main/java/org/neo4j/gds/api/GraphStore.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,6 @@ default Collection<String> nodePropertyKeys(Collection<NodeLabel> labels) {
110110

111111
NodeProperty nodeProperty(String propertyKey);
112112

113-
ValueType nodePropertyType(String propertyKey);
114-
115-
PropertyState nodePropertyState(String propertyKey);
116-
117-
NodePropertyValues nodePropertyValues(String propertyKey);
118-
119113
void addNodeProperty(
120114
Set<NodeLabel> nodeLabels,
121115
String propertyKey,

core/src/main/java/org/neo4j/gds/api/GraphStoreAdapter.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -157,21 +157,6 @@ public NodeProperty nodeProperty(String propertyKey) {
157157
return graphStore.nodeProperty(propertyKey);
158158
}
159159

160-
@Override
161-
public ValueType nodePropertyType(String propertyKey) {
162-
return graphStore.nodePropertyType(propertyKey);
163-
}
164-
165-
@Override
166-
public PropertyState nodePropertyState(String propertyKey) {
167-
return graphStore.nodePropertyState(propertyKey);
168-
}
169-
170-
@Override
171-
public NodePropertyValues nodePropertyValues(String propertyKey) {
172-
return graphStore.nodePropertyValues(propertyKey);
173-
}
174-
175160
@Override
176161
public void addNodeProperty(
177162
Set<NodeLabel> nodeLabels, String propertyKey, NodePropertyValues propertyValues

core/src/main/java/org/neo4j/gds/core/loading/CSRGraphStore.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -332,21 +332,6 @@ public NodeProperty nodeProperty(String propertyKey) {
332332
return this.nodeProperties.get(propertyKey);
333333
}
334334

335-
@Override
336-
public ValueType nodePropertyType(String propertyKey) {
337-
return nodeProperty(propertyKey).valueType();
338-
}
339-
340-
@Override
341-
public PropertyState nodePropertyState(String propertyKey) {
342-
return nodeProperty(propertyKey).propertyState();
343-
}
344-
345-
@Override
346-
public NodePropertyValues nodePropertyValues(String propertyKey) {
347-
return nodeProperty(propertyKey).values();
348-
}
349-
350335
@Override
351336
public Set<RelationshipType> relationshipTypes() {
352337
return relationships.keySet();
@@ -753,7 +738,7 @@ private Map<String, NodePropertyValues> filterNodeProperties(Collection<NodeLabe
753738
.stream()
754739
.collect(toMap(
755740
Function.identity(),
756-
this::nodePropertyValues
741+
propertyKey -> nodeProperty(propertyKey).values()
757742
));
758743
}
759744

core/src/main/java/org/neo4j/gds/core/utils/io/NodeStore.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ static NodeStore of(
127127
graphStore.nodeLabels().forEach(label -> {
128128
var properties = nodeProperties.computeIfAbsent(label.name, k -> new HashMap<>());
129129
graphStore.schema().nodeSchema().propertySchemasFor(label).forEach(propertySchema -> {
130-
properties.put(propertySchema.key(), graphStore.nodePropertyValues(propertySchema.key()));
130+
properties.put(propertySchema.key(), graphStore.nodeProperty(propertySchema.key()).values());
131131
});
132132
});
133133

core/src/test/java/org/neo4j/gds/core/GraphLoaderMultipleRelTypesAndPropertiesTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,11 @@ void nodeProjectionsWithExclusiveProperties() {
116116
assertEquals(Collections.emptySet(), graphStore.nodePropertyKeys(NodeLabel.of("N2")));
117117
assertEquals(Collections.singleton("prop2"), graphStore.nodePropertyKeys(NodeLabel.of("N3")));
118118

119-
NodePropertyValues prop1 = graphStore.nodePropertyValues("prop1");
119+
NodePropertyValues prop1 = graphStore.nodeProperty("prop1").values();
120120
assertEquals(1L, prop1.longValue(0));
121121
assertEquals(0L, prop1.longValue(1));
122122

123-
NodePropertyValues prop2 = graphStore.nodePropertyValues("prop2");
123+
NodePropertyValues prop2 = graphStore.nodeProperty("prop2").values();
124124
assertEquals(1L, prop2.longValue(0));
125125
assertEquals(2L, prop2.longValue(1));
126126
}
@@ -155,9 +155,9 @@ void nodeProjectionsWithAndWithoutLabel() {
155155
assertEquals(Set.of("prop1", "prop2"), graphStore.nodePropertyKeys(allIdentifier));
156156
assertEquals(Set.of("prop2"), graphStore.nodePropertyKeys(node2Identifier));
157157

158-
NodePropertyValues allProp1 = graphStore.nodePropertyValues("prop1");
159-
NodePropertyValues allProp2 = graphStore.nodePropertyValues("prop2");
160-
NodePropertyValues node2Prop2 = graphStore.nodePropertyValues("prop2");
158+
var allProp1 = graphStore.nodeProperty("prop1").values();
159+
var allProp2 = graphStore.nodeProperty("prop2").values();
160+
var node2Prop2 = graphStore.nodeProperty("prop2").values();
161161

162162
LongStream.range(0, 3).forEach(nodeId -> {
163163
double allProp1Value = allProp1.doubleValue(nodeId);

csv/src/main/java/org/neo4j/gds/core/utils/io/file/csv/estimation/NodePropertySampler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ void sample(long nodeId) {
115115

116116
propertyCharactersSamples.forEach((propertyKey, sampleList) -> {
117117
var propertyValue = graphStore
118-
.nodePropertyValues(propertyKey)
118+
.nodeProperty(propertyKey)
119+
.values()
119120
.getObject(nodeId);
120121

121122
int characterCount = 0;

cypher/api/storage-engine-adapter/src/main/java/org/neo4j/gds/compat/AbstractInMemoryNodePropertyCursor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ protected void setPropertySelection(InMemoryPropertySelection propertySelection)
7878

7979
if (!propertySelection.isKeysOnly()) {
8080
nodePropertyValues[propertyIndex] = graphStore
81-
.nodePropertyValues(nodePropertyKey)
81+
.nodeProperty(nodePropertyKey)
82+
.values()
8283
.value(nodeId);
8384
}
8485

cypher/cypher-test/src/test/java/org/neo4j/gds/storageengine/InMemoryNodeCursorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ void shouldTraverseProperties() throws TokenNotFoundException {
134134

135135
var propertyName = tokenHolders.propertyKeyTokens().getTokenById(propertyCursor.propertyKey()).name();
136136
var propertyValue = ((LongValue) propertyCursor.propertyValue()).longValue();
137-
assertThat(propertyValue).isEqualTo(graphStore.nodePropertyValues(propertyName).longValue(nodeCursor.getId()));
137+
assertThat(propertyValue).isEqualTo(graphStore.nodeProperty(propertyName).values().longValue(nodeCursor.getId()));
138138

139139
assertThat(propertyCursor.next()).isFalse();
140140
}

proc/beta/src/test/java/org/neo4j/gds/beta/modularity/ModularityOptimizationMutateProcTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import org.neo4j.gds.RelationshipProjections;
3333
import org.neo4j.gds.api.GraphStore;
3434
import org.neo4j.gds.api.nodeproperties.ValueType;
35-
import org.neo4j.gds.api.properties.nodes.NodePropertyValues;
3635
import org.neo4j.gds.config.GraphProjectFromStoreConfig;
3736
import org.neo4j.gds.config.ImmutableGraphProjectFromStoreConfig;
3837
import org.neo4j.gds.core.CypherMapWrapper;
@@ -111,8 +110,8 @@ void testMutateSeeded() {
111110
runQuery(query);
112111

113112
GraphStore mutatedGraph = GraphStoreCatalog.get(TEST_USERNAME, namedDatabaseId(), TEST_GRAPH_NAME).graphStore();
114-
NodePropertyValues communities = mutatedGraph.nodePropertyValues(mutateProperty());
115-
NodePropertyValues seeds = mutatedGraph.nodePropertyValues("seed1");
113+
var communities = mutatedGraph.nodeProperty(mutateProperty()).values();
114+
var seeds = mutatedGraph.nodeProperty("seed1").values();
116115
for (int i = 0; i < mutatedGraph.nodeCount(); i++) {
117116
assertEquals(communities.longValue(i), seeds.longValue(i));
118117
}

proc/beta/src/test/java/org/neo4j/gds/beta/node2vec/Node2VecMutateProcTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public void testMutateFailsOnExistingToken() {
108108
}
109109

110110
private void assertMutatedGraph(GraphStore mutatedGraphStore) {
111-
var mutatedProperties = mutatedGraphStore.nodePropertyValues(mutateProperty());
111+
var mutatedProperties = mutatedGraphStore.nodeProperty(mutateProperty()).values();
112112
mutatedGraphStore.nodes().forEachNode(nodeId -> {
113113
var embedding = mutatedProperties.floatArrayValue(nodeId);
114114
assertThat(embedding)

0 commit comments

Comments
 (0)