当前位置: 首页>>代码示例>>Java>>正文


Java OrientEdgeType.createIndex方法代码示例

本文整理汇总了Java中com.tinkerpop.blueprints.impls.orient.OrientEdgeType.createIndex方法的典型用法代码示例。如果您正苦于以下问题:Java OrientEdgeType.createIndex方法的具体用法?Java OrientEdgeType.createIndex怎么用?Java OrientEdgeType.createIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.tinkerpop.blueprints.impls.orient.OrientEdgeType的用法示例。


在下文中一共展示了OrientEdgeType.createIndex方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: 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

示例2: 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

示例3: 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

示例4: 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


注:本文中的com.tinkerpop.blueprints.impls.orient.OrientEdgeType.createIndex方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。