本文整理汇总了Java中com.tinkerpop.blueprints.impls.orient.OrientEdgeType类的典型用法代码示例。如果您正苦于以下问题:Java OrientEdgeType类的具体用法?Java OrientEdgeType怎么用?Java OrientEdgeType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OrientEdgeType类属于com.tinkerpop.blueprints.impls.orient包,在下文中一共展示了OrientEdgeType类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: addEdgeType
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
private static void addEdgeType(OrientBaseGraph graph, Class<?> clasz) {
if (clasz.isAnnotationPresent(DatabaseEdge.class)) {
//DatabaseEdge classAnotation = clasz.getAnnotation(DatabaseEdge.class);
OrientEdgeType oClass = graph.getEdgeType(clasz.getSimpleName());
OrientEdgeType oClassParent = graph.getEdgeType(clasz.getSuperclass().getSimpleName());
if (clasz.getSuperclass().getSimpleName().equals(Object.class.getSimpleName())) {
oClassParent = graph.getEdgeBaseType();
}
if (oClass == null) {
logger.warn("Add Edge @" + clasz.getSimpleName() + " child of @" + oClassParent);
graph.createEdgeType(clasz.getSimpleName(), oClassParent.getName());
} else {
if (logger.isDebugEnabled())
logger.debug("Edge @" + clasz.getSimpleName() + " exist, child of @" + oClassParent);
}
}
}
开发者ID:e-baloo,项目名称:it-keeps,代码行数:25,代码来源:DatabaseFactory.java
示例2: setUp
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
@Override
public void setUp() {
OGlobalConfiguration.USE_WAL.setValue(true);
super.setUp();
final OrientVertexType v1 = graph.createVertexType("V1");
final OrientVertexType v2 = graph.createVertexType("V2");
final OrientEdgeType edgeType = graph.createEdgeType("Friend");
edgeType.createProperty("in", OType.LINK, v2);
edgeType.createProperty("out", OType.LINK, v1);
// ASSURE NOT DUPLICATES
edgeType.createIndex("out_in", OClass.INDEX_TYPE.UNIQUE, "in", "out");
graph.addVertex("class:V2").setProperty("name", "Luca");
graph.commit();
}
开发者ID:orientechnologies,项目名称:orientdb-etl,代码行数:19,代码来源:OEdgeTransformerTest.java
示例3: addCustomEdgeIndex
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
@Override
public void addCustomEdgeIndex(String label, String indexPostfix, String... fields) {
OrientGraphNoTx noTx = factory.getNoTx();
try {
OrientEdgeType e = noTx.getEdgeType(label);
if (e == null) {
throw new RuntimeException("Could not find edge type {" + label + "}. Create edge type before creating indices.");
}
for (String key : fields) {
if (e.getProperty(key) == null) {
OType type = OType.STRING;
if (key.equals("out") || key.equals("in")) {
type = OType.LINK;
}
e.createProperty(key, type);
}
}
String name = "e." + label + "_" + indexPostfix;
name = name.toLowerCase();
if (fields.length != 0 && e.getClassIndex(name) == null) {
e.createIndex(name, OClass.INDEX_TYPE.NOTUNIQUE_HASH_INDEX, fields);
}
} finally {
noTx.shutdown();
}
}
开发者ID:gentics,项目名称:mesh,代码行数:29,代码来源:OrientDBDatabase.java
示例4: edgeLookup
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
@Override
public List<Object> edgeLookup(String edgeLabel, String indexPostfix, Object key) {
OrientBaseGraph orientBaseGraph = unwrapCurrentGraph();
List<Object> ids = new ArrayList<>();
// Load the edge type in order to access the indices of the edge
OrientEdgeType edgeType = orientBaseGraph.getEdgeType(edgeLabel);
if (edgeType != null) {
// Fetch the required index
OIndex<?> index = edgeType.getClassIndex("e." + edgeLabel.toLowerCase() + "_" + indexPostfix);
if (index != null) {
// Iterate over the sb-tree index entries
OIndexCursor cursor = index.iterateEntriesMajor(new OCompositeKey(key), true, false);
while (cursor.hasNext()) {
Entry<Object, OIdentifiable> entry = cursor.nextEntry();
if (entry != null) {
OCompositeKey entryKey = (OCompositeKey) entry.getKey();
// The index returns all entries. We thus need to filter it manually
if (entryKey.getKeys().get(1).equals(key)) {
Object inId = entryKey.getKeys().get(0);
// Only add the inbound vertex id to the list of ids
ids.add(inId);
}
} else {
break;
}
}
}
}
return ids;
}
开发者ID:gentics,项目名称:mesh,代码行数:32,代码来源:OrientDBDatabase.java
示例5: addEdgeType
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
@Override
public void addEdgeType(String label, Class<?> superClazzOfEdge, String... stringPropertyKeys) {
if (log.isDebugEnabled()) {
log.debug("Adding edge type for label {" + label + "}");
}
OrientGraphNoTx noTx = factory.getNoTx();
try {
OrientEdgeType e = noTx.getEdgeType(label);
if (e == null) {
String superClazz = "E";
if (superClazzOfEdge != null) {
superClazz = superClazzOfEdge.getSimpleName();
}
e = noTx.createEdgeType(label, superClazz);
} else {
// Update the existing edge type and set the super class
if (superClazzOfEdge != null) {
OrientEdgeType superType = noTx.getEdgeType(superClazzOfEdge.getSimpleName());
if (superType == null) {
throw new RuntimeException("The supertype for edges with label {" + label + "} can't be set since the supertype {"
+ superClazzOfEdge.getSimpleName() + "} was not yet added to orientdb.");
}
e.setSuperClass(superType);
}
}
for (String key : stringPropertyKeys) {
if (e.getProperty(key) == null) {
e.createProperty(key, OType.STRING);
}
}
} finally {
noTx.shutdown();
}
}
开发者ID:gentics,项目名称:mesh,代码行数:36,代码来源:OrientDBDatabase.java
示例6: setupTypesAndIndices
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
private static void setupTypesAndIndices(OrientGraphFactory factory2) {
OrientGraph g = factory.getTx();
try {
// g.setUseClassForEdgeLabel(true);
g.setUseLightweightEdges(false);
g.setUseVertexFieldsForEdgeLabels(false);
} finally {
g.shutdown();
}
try {
g = factory.getTx();
OrientEdgeType e = g.createEdgeType("HAS_ITEM");
e.createProperty("in", OType.LINK);
e.createProperty("out", OType.LINK);
e.createIndex("e.has_item", OClass.INDEX_TYPE.UNIQUE_HASH_INDEX, "out", "in");
OrientVertexType v = g.createVertexType("root", "V");
v.createProperty("name", OType.STRING);
v = g.createVertexType("item", "V");
v.createProperty("name", OType.STRING);
v.createIndex("item", OClass.INDEX_TYPE.FULLTEXT_HASH_INDEX, "name");
} finally {
g.shutdown();
}
}
开发者ID:gentics,项目名称:mesh,代码行数:31,代码来源:EdgeIndexPerformanceTest.java
示例7: createSchema
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
protected void createSchema()
{
graph.executeOutsideTx(new OCallable<Object, OrientBaseGraph>() {
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Object call(final OrientBaseGraph g)
{
OrientVertexType v = g.getVertexBaseType();
if(!v.existsProperty(NODE_ID)) { // TODO fix schema detection hack later
v.createProperty(NODE_ID, OType.INTEGER);
g.createKeyIndex(NODE_ID, Vertex.class, new Parameter("type", "UNIQUE_HASH_INDEX"), new Parameter(
"keytype", "INTEGER"));
v.createEdgeProperty(Direction.OUT, SIMILAR, OType.LINKBAG);
v.createEdgeProperty(Direction.IN, SIMILAR, OType.LINKBAG);
OrientEdgeType similar = g.createEdgeType(SIMILAR);
similar.createProperty("out", OType.LINK, v);
similar.createProperty("in", OType.LINK, v);
g.createKeyIndex(COMMUNITY, Vertex.class, new Parameter("type", "NOTUNIQUE_HASH_INDEX"),
new Parameter("keytype", "INTEGER"));
g.createKeyIndex(NODE_COMMUNITY, Vertex.class, new Parameter("type", "NOTUNIQUE_HASH_INDEX"),
new Parameter("keytype", "INTEGER"));
}
return null;
}
});
}
开发者ID:socialsensor,项目名称:graphdb-benchmarks,代码行数:29,代码来源:OrientGraphDatabase.java
示例8: addEdgeIndex
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
@Override
public void addEdgeIndex(String label, boolean includeInOut, boolean includeIn, boolean includeOut, String... extraFields) {
OrientGraphNoTx noTx = factory.getNoTx();
try {
OrientEdgeType e = noTx.getEdgeType(label);
if (e == null) {
e = noTx.createEdgeType(label);
}
if ((includeIn || includeInOut) && e.getProperty("in") == null) {
e.createProperty("in", OType.LINK);
}
if ((includeOut || includeInOut) && e.getProperty("out") == null) {
e.createProperty("out", OType.LINK);
}
for (String key : extraFields) {
if (e.getProperty(key) == null) {
e.createProperty(key, OType.STRING);
}
}
String indexName = "e." + label.toLowerCase();
String name = indexName + "_inout";
if (includeInOut && e.getClassIndex(name) == null) {
e.createIndex(name, OClass.INDEX_TYPE.NOTUNIQUE, new String[] { "in", "out" });
}
name = indexName + "_out";
if (includeOut && e.getClassIndex(name) == null) {
e.createIndex(name, OClass.INDEX_TYPE.NOTUNIQUE_HASH_INDEX, new String[] { "out" });
}
name = indexName + "_in";
if (includeIn && e.getClassIndex(name) == null) {
e.createIndex(name, OClass.INDEX_TYPE.NOTUNIQUE_HASH_INDEX, new String[] { "in" });
}
name = indexName + "_extra";
if (extraFields.length != 0 && e.getClassIndex(name) == null) {
e.createIndex(name, OClass.INDEX_TYPE.UNIQUE_HASH_INDEX, extraFields);
}
} finally {
noTx.shutdown();
}
}
开发者ID:gentics,项目名称:mesh,代码行数:42,代码来源:OrientDBDatabase.java
示例9: rateMovies
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
public void rateMovies() throws IOException {
Logger.log("Connecting Movies with Users (rates).");
graph.executeOutsideTx(arg -> {
// drop if exist
if (graph.getEdgeType("Rate") != null) {
graph.dropEdgeType("Rate");
}
// creating the edge class
OrientEdgeType edgeClass = graph.createEdgeType("Rate");
edgeClass.createProperty("rating", OType.FLOAT);
edgeClass.createProperty("timestamp", OType.INTEGER);
return null;
});
// get lines as stream
Stream<String> lines = Files.lines(Paths.get(Config.MOVIELENS_PATH + "ratings.csv"));
lines.skip(1).forEach(line -> {
// split by comma
String[] tokens = line.split(",", -1);
Integer userId = Integer.parseInt(tokens[0]);
Integer movieId = Integer.parseInt(tokens[1]);
Float rating = Float.parseFloat(tokens[2]);
Integer timestamp = Integer.parseInt(tokens[3]);
Iterable<OrientVertex> moviesRs = graph.command(new OSQLSynchQuery<OrientVertex>(
String.format("select from Movie where movieId = %d", movieId)
)).execute();
Iterable<OrientVertex> userRs = graph.command(new OSQLSynchQuery<OrientVertex>(
String.format("select from User where userId = %d", userId)
)).execute();
if (moviesRs.iterator().hasNext() && userRs.iterator().hasNext()) {
OrientVertex movieVertex = moviesRs.iterator().next();
OrientVertex userVertex = userRs.iterator().next();
userVertex.addEdge("Rate", movieVertex, new Object[]{"rating", rating, "timestamp", timestamp});
}
// worked faster for me
if (Worker.randInt(1, 20) == 5) {
graph.commit();
}
});
graph.commit();
Logger.log("Movies and Users are connected. (rates)");
}
开发者ID:warriorkitty,项目名称:orientlens,代码行数:53,代码来源:Worker.java
示例10: tagMovies
import com.tinkerpop.blueprints.impls.orient.OrientEdgeType; //导入依赖的package包/类
public void tagMovies() throws IOException {
Logger.log("Tagging movies.");
graph.executeOutsideTx(arg -> {
// drop if exist
if (graph.getEdgeType("Tag") != null) {
graph.dropEdgeType("Tag");
}
// creating the edge class
OrientEdgeType edgeClass = graph.createEdgeType("Tag");
edgeClass.createProperty("tag", OType.STRING);
edgeClass.createProperty("timestamp", OType.INTEGER);
return null;
});
// get lines as stream
Stream<String> lines = Files.lines(Paths.get(Config.MOVIELENS_PATH + "tags.csv"));
lines.skip(1).forEach(line -> {
// split by comma
String[] tokens = line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)", -1);
Integer userId = Integer.parseInt(tokens[0]);
Integer movieId = Integer.parseInt(tokens[1]);
String tag = tokens[2].replaceAll("\\\"", "");
Integer timestamp = Integer.parseInt(tokens[3]);
Iterable<OrientVertex> moviesRs = graph.command(new OSQLSynchQuery<OrientVertex>(
String.format("select from Movie where movieId = %d", movieId)
)).execute();
Iterable<OrientVertex> userRs = graph.command(new OSQLSynchQuery<OrientVertex>(
String.format("select from User where userId = %d", userId)
)).execute();
if (moviesRs.iterator().hasNext() && userRs.iterator().hasNext()) {
OrientVertex movieVertex = moviesRs.iterator().next();
OrientVertex userVertex = userRs.iterator().next();
userVertex.addEdge("Tag", movieVertex, new Object[]{"tag", tag, "timestamp", timestamp});
}
// worked faster for me
if (Worker.randInt(1, 20) == 5) {
graph.commit();
}
});
graph.commit();
Logger.log("Tagging finished.");
}
开发者ID:warriorkitty,项目名称:orientlens,代码行数:53,代码来源:Worker.java
注:本文中的com.tinkerpop.blueprints.impls.orient.OrientEdgeType类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论