本文整理汇总了Java中org.apache.tinkerpop.gremlin.structure.VertexProperty类的典型用法代码示例。如果您正苦于以下问题:Java VertexProperty类的具体用法?Java VertexProperty怎么用?Java VertexProperty使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
VertexProperty类属于org.apache.tinkerpop.gremlin.structure包,在下文中一共展示了VertexProperty类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getBaseConfiguration
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Override
public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName,
final LoadGraphWith.GraphData loadGraphWith) {
final TinkerGraph.DefaultIdManager idManager = TinkerGraph.DefaultIdManager.UUID;
final String idMaker = idManager.name();
return new HashMap<String, Object>() {{
put(Graph.GRAPH, TinkerGraph.class.getName());
put(TinkerGraph.GREMLIN_TINKERGRAPH_VERTEX_ID_MANAGER, idMaker);
put(TinkerGraph.GREMLIN_TINKERGRAPH_EDGE_ID_MANAGER, idMaker);
put(TinkerGraph.GREMLIN_TINKERGRAPH_VERTEX_PROPERTY_ID_MANAGER, idMaker);
if (requiresListCardinalityAsDefault(loadGraphWith, test, testMethodName))
put(TinkerGraph.GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.list.name());
if (requiresPersistence(test, testMethodName)) {
put(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_FORMAT, "gryo");
final File tempDir = TestHelper.makeTestDataPath(test, "temp");
put(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION,
tempDir.getAbsolutePath() + File.separator + testMethodName + ".kryo");
}
}};
}
示例2: getBaseConfiguration
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Override
public Map<String, Object> getBaseConfiguration(final String graphName, final Class<?> test, final String testMethodName,
final LoadGraphWith.GraphData loadGraphWith) {
final TinkerGraph.DefaultIdManager idManager = selectIdMakerFromGraphData(loadGraphWith);
final String idMaker = (idManager.equals(TinkerGraph.DefaultIdManager.ANY) ? selectIdMakerFromTest(test, testMethodName) : idManager).name();
return new HashMap<String, Object>() {{
put(Graph.GRAPH, TinkerGraph.class.getName());
put(TinkerGraph.GREMLIN_TINKERGRAPH_VERTEX_ID_MANAGER, idMaker);
put(TinkerGraph.GREMLIN_TINKERGRAPH_EDGE_ID_MANAGER, idMaker);
put(TinkerGraph.GREMLIN_TINKERGRAPH_VERTEX_PROPERTY_ID_MANAGER, idMaker);
if (requiresListCardinalityAsDefault(loadGraphWith, test, testMethodName))
put(TinkerGraph.GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.list.name());
if (requiresPersistence(test, testMethodName)) {
put(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_FORMAT, "gryo");
final File tempDir = TestHelper.makeTestDataPath(test, "temp");
put(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION,
tempDir.getAbsolutePath() + File.separator + testMethodName + ".kryo");
}
}};
}
示例3: testGetPropertyKeysOnVertex
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Test
public void testGetPropertyKeysOnVertex() {
Vertex vertex = createVertex();
// Test that the following properties exists on the vertex.
Map<String, String> expected = MapUtils.map(
T("value", "value")
);
Set<String> keys = vertex.keys();
Set<VertexProperty<Object>> properties = SetUtils.set(vertex.properties());
assertEquals(expected.size(), keys.size());
assertEquals(expected.size(), properties.size());
for (Map.Entry<String, String> entry : expected.entrySet()) {
assertTrue(keys.contains(entry.getKey()));
VertexProperty<Object> property = vertex.property(entry.getKey());
assertNotNull(property.id());
assertEquals(entry.getValue(), property.value());
assertEquals(property.key(), property.label());
assertEquals(StringFactory.propertyString(property), property.toString());
assertSame(vertex, property.element());
}
}
示例4: insertList
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
private static void insertList(final List list, final String listKey, final GraphTraversal traversal) {
if (list.get(0) instanceof List)
throw new IllegalArgumentException("Lists can not contain nested lists");
char state = list.get(0) instanceof Map ? 'o' : 'p';
for (int i = 1; i < list.size(); i++) {
if (list.get(i) instanceof Map && 'p' == state)
throw new IllegalArgumentException("Lists can only support all objects or all primitives");
else if (list.get(i) instanceof List)
throw new IllegalArgumentException("Lists can not contain nested lists");
else if (!(list.get(i) instanceof Map) && 'o' == state)
throw new IllegalArgumentException("Lists can only support all objects or all primitives");
}
for (final Object object : list) {
if ('p' == state)
traversal.property(VertexProperty.Cardinality.list, listKey, object);
else {
traversal.map(insertMap((Map) object, new DefaultGraphTraversal()));
traversal.addE(listKey).from("a").select("a");
}
}
}
示例5: TinkerGraph
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
/**
* An empty private constructor that initializes {@link TinkerGraph}.
*/
private TinkerGraph(final Configuration configuration, boolean usesSpecializedElements) {
this.configuration = configuration;
this.usesSpecializedElements = usesSpecializedElements;
vertexIdManager = selectIdManager(configuration, GREMLIN_TINKERGRAPH_VERTEX_ID_MANAGER, Vertex.class);
edgeIdManager = selectIdManager(configuration, GREMLIN_TINKERGRAPH_EDGE_ID_MANAGER, Edge.class);
vertexPropertyIdManager = selectIdManager(configuration, GREMLIN_TINKERGRAPH_VERTEX_PROPERTY_ID_MANAGER, VertexProperty.class);
defaultVertexPropertyCardinality = VertexProperty.Cardinality.valueOf(
configuration.getString(GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.single.name()));
graphLocation = configuration.getString(GREMLIN_TINKERGRAPH_GRAPH_LOCATION, null);
graphFormat = configuration.getString(GREMLIN_TINKERGRAPH_GRAPH_FORMAT, null);
if ((graphLocation != null && null == graphFormat) || (null == graphLocation && graphFormat != null))
throw new IllegalStateException(String.format("The %s and %s must both be specified if either is present",
GREMLIN_TINKERGRAPH_GRAPH_LOCATION, GREMLIN_TINKERGRAPH_GRAPH_FORMAT));
if (graphLocation != null) loadGraph();
}
示例6: deserializersTestsVertexProperty
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Test
public void deserializersTestsVertexProperty() {
final TinkerGraph tg = TinkerGraph.open();
final Vertex v = tg.addVertex("vertexTest");
final GraphWriter writer = getWriter(defaultMapperV2d0);
final GraphReader reader = getReader(defaultMapperV2d0);
final VertexProperty prop = v.property("born", LocalDateTime.of(1971, 1, 2, 20, 50));
try (final ByteArrayOutputStream out = new ByteArrayOutputStream()) {
writer.writeObject(out, prop);
final String json = out.toString();
final VertexProperty vPropRead = (VertexProperty)reader.readObject(new ByteArrayInputStream(json.getBytes()), Object.class);
//only classes and ids are checked, that's ok, full vertex property ser/de
//is checked elsewhere.
assertEquals(prop, vPropRead);
} catch (IOException e) {
e.printStackTrace();
fail("Should not have thrown exception: " + e.getMessage());
}
}
开发者ID:ShiftLeftSecurity,项目名称:tinkergraph-gremlin,代码行数:25,代码来源:TinkerGraphGraphSONSerializerV2d0Test.java
示例7: shouldPersistToGryoAndHandleMultiProperties
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Test
public void shouldPersistToGryoAndHandleMultiProperties() {
final String graphLocation = TestHelper.makeTestDataDirectory(TinkerGraphTest.class) + "shouldPersistToGryoMulti.kryo";
final File f = new File(graphLocation);
if (f.exists() && f.isFile()) f.delete();
final Configuration conf = new BaseConfiguration();
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_FORMAT, "gryo");
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_GRAPH_LOCATION, graphLocation);
final TinkerGraph graph = TinkerGraph.open(conf);
TinkerFactory.generateTheCrew(graph);
graph.close();
conf.setProperty(TinkerGraph.GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY, VertexProperty.Cardinality.list.toString());
final TinkerGraph reloadedGraph = TinkerGraph.open(conf);
IoTest.assertCrewGraph(reloadedGraph, false);
reloadedGraph.close();
}
示例8: execute
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Override
public void execute(final Vertex vertex, Messenger<Double> messenger, final Memory memory) {
if (memory.isInitialIteration()) {
messenger.sendMessage(this.countMessageScope, 1.0d);
} else if (1 == memory.getIteration()) {
double initialPageRank = (null == this.initialRankTraversal ?
1.0d :
TraversalUtil.apply(vertex, this.initialRankTraversal.get()).doubleValue()) / this.vertexCountAsDouble;
double edgeCount = IteratorUtils.reduce(messenger.receiveMessages(), 0.0d, (a, b) -> a + b);
vertex.property(VertexProperty.Cardinality.single, this.property, initialPageRank);
vertex.property(VertexProperty.Cardinality.single, EDGE_COUNT, edgeCount);
if (!this.terminate(memory)) // don't send messages if this is the last iteration
messenger.sendMessage(this.incidentMessageScope, initialPageRank / edgeCount);
} else {
double newPageRank = IteratorUtils.reduce(messenger.receiveMessages(), 0.0d, (a, b) -> a + b);
newPageRank = (this.alpha * newPageRank) + ((1.0d - this.alpha) / this.vertexCountAsDouble);
vertex.property(VertexProperty.Cardinality.single, this.property, newPageRank);
if (!this.terminate(memory)) // don't send messages if this is the last iteration
messenger.sendMessage(this.incidentMessageScope, newPageRank / vertex.<Double>value(EDGE_COUNT));
}
}
示例9: createXOManager
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Before
public void createXOManager() throws SQLException, IOException, ServiceException {
AccountManagerTester.cleanupDatabase();
xoManager = xoManagerFactory.createXOManager();
GraphTraversal<Vertex, Vertex> vertices = ((Graph) ductileGraph).traversal().V();
int counter = 0;
while (vertices.hasNext()) {
Vertex vertex = vertices.next();
counter++;
Iterator<VertexProperty<Object>> properties = vertex.properties();
while (properties.hasNext()) {
VertexProperty<Object> property = properties.next();
System.out.println(property.key() + ": " + property.value());
}
}
assertEquals(7, counter);
}
示例10: shouldReadWriteVertexPropertyNoMetaProperties
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Test
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
public void shouldReadWriteVertexPropertyNoMetaProperties() throws Exception {
try (final ByteArrayOutputStream os = new ByteArrayOutputStream()) {
final GraphWriter writer = writerMaker.apply(graph);
final VertexProperty p = g.V(convertToVertexId("marko")).next().property("name");
writer.writeVertexProperty(os, p);
final AtomicBoolean called = new AtomicBoolean(false);
final GraphReader reader = readerMaker.apply(graph);
try (final ByteArrayInputStream bais = new ByteArrayInputStream(os.toByteArray())) {
reader.readVertexProperty(bais, propertyAttachable -> {
assertEquals(p.value(), propertyAttachable.get().value());
assertEquals(p.key(), propertyAttachable.get().key());
assertEquals(0, IteratorUtils.count(propertyAttachable.get().properties()));
called.set(true);
return propertyAttachable.get();
});
}
assertTrue(called.get());
}
}
示例11: addVertex
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Override
public Vertex addVertex(final Object... keyValues) {
ElementHelper.legalPropertyKeyValueArray(keyValues);
Object idValue = vertexIdManager.convert(ElementHelper.getIdValue(keyValues).orElse(null));
final String label = ElementHelper.getLabelValue(keyValues).orElse(Vertex.DEFAULT_LABEL);
if (null != idValue) {
if (this.vertices.containsKey(idValue))
throw Exceptions.vertexWithIdAlreadyExists(idValue);
} else {
idValue = vertexIdManager.getNextId(this);
}
final Vertex vertex = new TinkerVertex(idValue, label, this);
this.vertices.put(vertex.id(), vertex);
ElementHelper.attachProperties(vertex, VertexProperty.Cardinality.list, keyValues);
return vertex;
}
示例12: getVertexProperty
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
@Override
public <V> VertexProperty<V> getVertexProperty(final Neo4jVertex vertex, final String key) {
final Neo4jNode node = vertex.getBaseVertex();
if (node.hasProperty(key)) {
if (node.getProperty(key).equals(VERTEX_PROPERTY_TOKEN)) {
if (node.degree(Neo4jDirection.OUTGOING, Graph.Hidden.hide(key)) > 1)
throw Vertex.Exceptions.multiplePropertiesExistForProvidedKey(key);
else {
return (VertexProperty<V>) new Neo4jVertexProperty<>(vertex, node.relationships(Neo4jDirection.OUTGOING, Graph.Hidden.hide(key)).iterator().next().end());
}
} else {
return new Neo4jVertexProperty<>(vertex, key, (V) node.getProperty(key));
}
} else
return VertexProperty.<V>empty();
}
示例13: readStarGraphVertex
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
/**
* A helper function for reading a serialized {@link StarGraph} from a {@link Map} generated by
* {@link StarGraphGraphSONSerializer}.
*/
public static StarGraph readStarGraphVertex(final Map<String, Object> vertexData) throws IOException {
final StarGraph starGraph = StarGraph.open();
starGraph.addVertex(T.id, vertexData.get(GraphSONTokens.ID), T.label, vertexData.get(GraphSONTokens.LABEL));
if (vertexData.containsKey(GraphSONTokens.PROPERTIES)) {
final Map<String, List<Map<String, Object>>> properties = (Map<String, List<Map<String, Object>>>) vertexData.get(GraphSONTokens.PROPERTIES);
for (Map.Entry<String, List<Map<String, Object>>> property : properties.entrySet()) {
for (Map<String, Object> p : property.getValue()) {
final StarGraph.StarVertexProperty vp = (StarGraph.StarVertexProperty) starGraph.getStarVertex().property(VertexProperty.Cardinality.list, property.getKey(), p.get(GraphSONTokens.VALUE), T.id, p.get(GraphSONTokens.ID));
if (p.containsKey(GraphSONTokens.PROPERTIES)) {
final Map<String, Object> edgePropertyData = (Map<String, Object>) p.get(GraphSONTokens.PROPERTIES);
for (Map.Entry<String, Object> epd : edgePropertyData.entrySet()) {
vp.property(epd.getKey(), epd.getValue());
}
}
}
}
}
return starGraph;
}
示例14: stageVertexProperty
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
/**
* This is a helper method for dealing with vertex property cardinality and typically used in {@link Vertex#property(org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality, String, Object, Object...)}.
* If the cardinality is list, simply return {@link Optional#empty}.
* If the cardinality is single, delete all existing properties of the provided key and return {@link Optional#empty}.
* If the cardinality is set, find one that has the same key/value and attached the properties to it and return it. Else, if no equal value is found, return {@link Optional#empty}.
*
* @param vertex the vertex to stage a vertex property for
* @param cardinality the cardinality of the vertex property
* @param key the key of the vertex property
* @param value the value of the vertex property
* @param keyValues the properties of vertex property
* @param <V> the type of the vertex property value
* @return a vertex property if it has been found in set with equal value
*/
public static <V> Optional<VertexProperty<V>> stageVertexProperty(final Vertex vertex, final VertexProperty.Cardinality cardinality, final String key, final V value, final Object... keyValues) {
if (cardinality.equals(VertexProperty.Cardinality.single))
vertex.properties(key).forEachRemaining(VertexProperty::remove);
else if (cardinality.equals(VertexProperty.Cardinality.set)) {
final Iterator<VertexProperty<V>> itty = vertex.properties(key);
while (itty.hasNext()) {
final VertexProperty<V> property = itty.next();
if (property.value().equals(value)) {
ElementHelper.attachProperties(property, keyValues);
return Optional.of(property);
}
}
} // do nothing on Cardinality.list
return Optional.empty();
}
示例15: DetachedVertexProperty
import org.apache.tinkerpop.gremlin.structure.VertexProperty; //导入依赖的package包/类
protected DetachedVertexProperty(final VertexProperty<V> vertexProperty, final boolean withProperties) {
super(vertexProperty);
this.value = vertexProperty.value();
this.vertex = DetachedFactory.detach(vertexProperty.element(), false);
// only serialize properties if requested, the graph supports it and there are meta properties present.
// this prevents unnecessary object creation of a new HashMap which will just be empty. it will use
// Collections.emptyMap() by default
if (withProperties && vertexProperty.graph().features().vertex().supportsMetaProperties()) {
final Iterator<Property<Object>> propertyIterator = vertexProperty.properties();
if (propertyIterator.hasNext()) {
this.properties = new HashMap<>();
propertyIterator.forEachRemaining(property -> this.properties.put(property.key(), Collections.singletonList(DetachedFactory.detach(property))));
}
}
}