本文整理汇总了Java中org.neo4j.kernel.Traversal类的典型用法代码示例。如果您正苦于以下问题:Java Traversal类的具体用法?Java Traversal怎么用?Java Traversal使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Traversal类属于org.neo4j.kernel包,在下文中一共展示了Traversal类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getAll
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public List<Category> getAll() {
List<Category> categories = new ArrayList<Category>();
for(Category cat : catRepo.findAllByTraversal(getCategoryRoot(), Traversal.description()
.breadthFirst()
.evaluator(Evaluators.fromDepth(1))
.expand(Traversal
.expanderForTypes(DynamicRelationshipType
.withName(RelTypes.PARENT_CATEGORY),
Direction.INCOMING).addNodeFilter(new Predicate<Node>() {
@Override
public boolean accept(Node item) {
return !StringUtils.isEmpty(item.getProperty("name"));
}
}
)))) {
if(cat != null && cat.getName() != null) { //TODO: Figure out why a null element appears in this traversal
categories.add(cat);
}
}
return categories;
}
开发者ID:AlexBarnes86,项目名称:bookish,代码行数:22,代码来源:CategoryService.java
示例2: fillNodesFromBeginning
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
private void fillNodesFromBeginning(Node currentNode, ViralShortUrl url) {
// nodes from beginning, counted via a simple depth-first traversal
// in the opposite direction
Traverser t = Traversal.description().depthFirst()
.evaluator(Evaluators.excludeStartPosition())
.relationships(LinkRelationship.SPAWNS, Direction.INCOMING)
.traverse(currentNode);
int nodesFromBeginning = IteratorUtil.count(t);
url.setNodesFromBeginning(nodesFromBeginning);
}
开发者ID:Glamdring,项目名称:welshare,代码行数:11,代码来源:ViralLinkDaoNeo4j.java
示例3: getTraverser
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public Traverser getTraverser(String task, Direction direction){
TraversalDescription td = Traversal.description()
.breadthFirst()
.relationships( TaskRelations.DEPENDS_ON, direction )
.evaluator(Evaluators.excludeStartPosition());
return td.traverse(getNode(task));
}
开发者ID:fizalihsan,项目名称:Fig,代码行数:8,代码来源:Neo4jTaskAdapter.java
示例4: findAllPaths
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public Iterable<Path> findAllPaths( Node start, final Node end )
{
Predicate<Path> filter = new Predicate<Path>()
{
public boolean accept( Path pos )
{
return pos.endNode().equals( end );
}
};
return Traversal.description().expand( expander ).depthFirst().filter( filter ).prune(
Traversal.pruneAfterDepth( maxDepth ) ).uniqueness( uniqueness() ).traverse( start );
}
开发者ID:neo4j-contrib,项目名称:neo4j-mobile-android,代码行数:14,代码来源:AllPaths.java
示例5: ExperimentalAStar
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public ExperimentalAStar( RelationshipExpander expander, CostEvaluator<Double> costEvaluator,
EstimateEvaluator<Double> estimateEvaluator )
{
this.traversalDescription = Traversal.description().uniqueness(
Uniqueness.NONE ).expand( expander );
this.costEvaluator = costEvaluator;
this.estimateEvaluator = estimateEvaluator;
}
开发者ID:neo4j-contrib,项目名称:neo4j-mobile-android,代码行数:9,代码来源:ExperimentalAStar.java
示例6: expand
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public TraversalDescription expand(RelationshipExpander expander)
{
if ( expander.equals( this.expander ) )
{
return this;
}
return new TraversalDescriptionImpl( Traversal.expander( expander ), uniqueness,
uniquenessParameter, evaluator, branchSelector );
}
开发者ID:neo4j-contrib,项目名称:neo4j-mobile-android,代码行数:10,代码来源:TraversalDescriptionImpl.java
示例7: shortestPath
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
@Override
public void shortestPath(Node n1, Integer i)
{
PathFinder<Path> finder
= GraphAlgoFactory.shortestPath(Traversal.expanderForTypes(Neo4jGraphDatabase.RelTypes.SIMILAR), 5);
Node n2 = getVertex(i);
Path path = finder.findSinglePath(n1, n2);
}
开发者ID:socialsensor,项目名称:graphdb-benchmarks,代码行数:10,代码来源:Neo4jGraphDatabase.java
示例8: getConnectedComponentsCount
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
@GET
@Path("/cc/{name}")
public String getConnectedComponentsCount(@PathParam("name") String name, @Context GraphDatabaseService db) throws IOException {
int CCid = 0;
for ( Node n : GlobalGraphOperations.at( db ).getAllNodes() ) {
if(!n.hasProperty("CCId")) {
Transaction tx = db.beginTx();
try {
Traverser traverser = Traversal.description()
.breadthFirst()
.relationships(DynamicRelationshipType.withName(name), Direction.BOTH)
.evaluator(Evaluators.excludeStartPosition())
.uniqueness(Uniqueness.NODE_GLOBAL)
.traverse(n);
int currentCCid = CCid;
CCid++;
n.setProperty("CCId", currentCCid);
for ( org.neo4j.graphdb.Path p : traverser )
{
p.endNode().setProperty("CCId", currentCCid);
}
tx.success();
}
catch ( Exception e )
{
tx.failure();
}
finally
{
tx.finish();
}
}
}
return String.valueOf(CCid);
}
开发者ID:maxdemarzi,项目名称:neo_cc,代码行数:36,代码来源:MyService.java
示例9: toString
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
@Override
public String toString()
{
return Traversal.defaultPathToString( this );
}
开发者ID:neo4j-contrib,项目名称:neo4j-mobile-android,代码行数:6,代码来源:PathImpl.java
示例10: TraversalDescriptionImpl
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public TraversalDescriptionImpl()
{
this( StandardExpander.DEFAULT, Uniqueness.NODE_GLOBAL, null,
Evaluators.all(), Traversal.preorderDepthFirst() );
}
开发者ID:neo4j-contrib,项目名称:neo4j-mobile-android,代码行数:6,代码来源:TraversalDescriptionImpl.java
示例11: depthFirst
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public TraversalDescription depthFirst()
{
return order( Traversal.preorderDepthFirst() );
}
开发者ID:neo4j-contrib,项目名称:neo4j-mobile-android,代码行数:5,代码来源:TraversalDescriptionImpl.java
示例12: breadthFirst
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public TraversalDescription breadthFirst()
{
return order( Traversal.preorderBreadthFirst() );
}
开发者ID:neo4j-contrib,项目名称:neo4j-mobile-android,代码行数:5,代码来源:TraversalDescriptionImpl.java
示例13: traverse
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
@Override
public INodeIterator traverse(ParcelableTraversalDescription desc, long startNodeId, ParcelableError err)
throws RemoteException {
try {
resumeTrxIfExists();
try {
Node startNode = mDb.getNodeById(startNodeId);
if (startNode == null) {
throw new IllegalArgumentException("Illegal start node for traversal");
}
TraversalDescription traversalDesc = Traversal.description();
// map order
switch (desc.getOrder()) {
case BREADTH_FIRST:
traversalDesc = traversalDesc.breadthFirst();
break;
case DEPTH_FIRST:
traversalDesc = traversalDesc.depthFirst();
break;
}
// map uniqueness
switch (desc.getUniqueness()) {
case NONE:
traversalDesc = traversalDesc.uniqueness(Uniqueness.NONE);
break;
case NODE_GLOBAL:
traversalDesc = traversalDesc.uniqueness(Uniqueness.NODE_GLOBAL);
break;
case NODE_RECENT:
traversalDesc = traversalDesc.uniqueness(Uniqueness.NODE_RECENT);
break;
case NODE_PATH:
traversalDesc = traversalDesc.uniqueness(Uniqueness.NODE_PATH);
break;
case RELATIONSHIP_GLOBAL:
traversalDesc = traversalDesc.uniqueness(Uniqueness.RELATIONSHIP_GLOBAL);
break;
case RELATIONSHIP_PATH:
traversalDesc = traversalDesc.uniqueness(Uniqueness.RELATIONSHIP_PATH);
break;
case RELATIONSHIP_RECENT:
traversalDesc = traversalDesc.uniqueness(Uniqueness.RELATIONSHIP_RECENT);
break;
}
// map relationships
for (String name : desc.getRelationships().keySet()) {
RelationshipType type = new SimpleRelationshipType(name);
Direction direction = Direction.valueOf(desc.getRelationships().get(name).name());
traversalDesc = traversalDesc.relationships(type, direction);
}
// TODO: support paths
Iterator<Node> nodeIterator = traversalDesc.traverse(startNode).nodes().iterator();
return new NodeIteratorWrapper(nodeIterator);
} finally {
suspendCurrentTrx("traverse");
}
} catch (Exception e) {
err.setError(Errors.TRANSACTION, e.getMessage());
return null;
}
}
开发者ID:neo4j-contrib,项目名称:neo4j-mobile-android,代码行数:70,代码来源:DbWrapper.java
示例14: getCostFunctionsForNode
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public static List<CostFunction> getCostFunctionsForNode(Long id, EmbeddedGraphDatabase database) {
List<CostFunction> costFunctions = new ArrayList<CostFunction>();
boolean transactionAllreadyRunning = false;
try {
transactionAllreadyRunning = (database.getTxManager().getStatus() == Status.STATUS_ACTIVE);
} catch (SystemException ex) {
log.error(ex.getMessage(), ex);
}
Transaction tx = (transactionAllreadyRunning) ? null : database.beginTx();
try {
Node parentNode = database.getNodeById(id);
if (parentNode == null) {
return costFunctions;
}
//search from this node with ID=id the target nodes for which it has a HAS_COST_FUNCTION relationship
TraversalDescription description = Traversal.traversal()
.evaluator(Evaluators.excludeStartPosition())
.relationships(ServiceUnitRelationship.hasCostFunction, Direction.OUTGOING)
.uniqueness(Uniqueness.NODE_PATH);
Traverser traverser = description.traverse(parentNode);
for (Path path : traverser) {
Node node = path.endNode();
CostFunction costFunction = new CostFunction();
costFunction.setId(node.getId());
if (node.hasProperty(KEY)) {
costFunction.setName(node.getProperty(KEY).toString());
} else {
log.warn("Retrieved CostFunction " + node + " has no " + KEY);
}
if (node.hasProperty(UUID)) {
costFunction.setUuid(java.util.UUID.fromString(node.getProperty(UUID).toString()));
} else {
log.warn("Retrieved CloudProvider " + costFunction + " has no " + UUID);
}
//carefull. this can lead to infinite recursion (is still a graph. maybe improve later)
costFunction.getAppliedIfServiceInstanceUses().addAll(getAppliedInConjunctionWithEntities(node.getId(), database));
//need to also retrieve Resurce and Quality
costFunction.getCostElements().addAll(CostElementDAO.getCostElementPropertiesForNode(node.getId(), database));
if (costFunction != null) {
//hack. if the costFunction has allready been added (equals is done on the DB Node),
//this means ServiceUnit has elasticity capability on it, and the old is also removed
if (costFunctions.contains(costFunction)) {
costFunctions.remove(costFunction);
} else {
costFunctions.add(costFunction);
}
}
}
if (!transactionAllreadyRunning) {
tx.success();
}
} catch (Exception e) {
log.error(e.getMessage(), e);
e.printStackTrace();
} finally {
if (!transactionAllreadyRunning) {
tx.finish();
}
}
return costFunctions;
}
开发者ID:tuwiendsg,项目名称:MELA,代码行数:74,代码来源:CostFunctionDAO.java
示例15: getElasticityDependency
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
/**
* Counts how many elasticity characteristic nodes point to it with a
* "elasticityCapabilityFor" relationship
*
* @param id
* @param database
* @return sum of incoming MANDATORY_ASSOCIATION and OPTIONAL_ASSOCIATION
* elasticity capabilities if returns -1, means error encountered. otherwise
* the result is always >= 0
*/
public static int getElasticityDependency(long id, EmbeddedGraphDatabase database) {
CloudOfferedService elTarget = null;
int incomingPaths = 0;
boolean transactionAllreadyRunning = false;
try {
transactionAllreadyRunning = (database.getTxManager().getStatus() == Status.STATUS_ACTIVE);
} catch (SystemException ex) {
log.error(ex.getMessage(), ex);
}
Transaction tx = (transactionAllreadyRunning) ? null : database.beginTx();
try {
Node parentNode = database.getNodeById(id);
if (parentNode == null) {
log.error("Node with id " + id + " was not found");
return 0;
}
TraversalDescription description = Traversal.traversal()
.evaluator(Evaluators.excludeStartPosition())
.relationships(ServiceUnitRelationship.hasElasticityCapability, Direction.OUTGOING)
.uniqueness(Uniqueness.NODE_PATH);
Traverser traverser = description.traverse(parentNode);
//for each incoming path, if is MANDATORY_ASSOCIATION decrease the in
for (Path path : traverser) {
incomingPaths++;
}
if (!transactionAllreadyRunning) {
if (!transactionAllreadyRunning) {
tx.success();
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
e.printStackTrace();
} finally {
if (!transactionAllreadyRunning) {
tx.finish();
}
}
return incomingPaths;
}
开发者ID:tuwiendsg,项目名称:MELA,代码行数:57,代码来源:ServiceUnitDAO.java
示例16: getByID
import org.neo4j.kernel.Traversal; //导入依赖的package包/类
public static CloudOfferedService getByID(Long nodeID, EmbeddedGraphDatabase database) {
CloudOfferedService serviceUnit = null;
boolean transactionAllreadyRunning = false;
try {
transactionAllreadyRunning = (database.getTxManager().getStatus() == Status.STATUS_ACTIVE);
} catch (SystemException ex) {
log.error(ex.getMessage(), ex);
}
Transaction tx = (transactionAllreadyRunning) ? null : database.beginTx();
try {
Node parentNode = database.getNodeById(nodeID);
if (parentNode == null) {
return serviceUnit;
}
TraversalDescription description = Traversal.traversal()
.evaluator(Evaluators.excludeStartPosition())
.relationships(ServiceUnitRelationship.elasticityCapabilityFor, Direction.OUTGOING)
.uniqueness(Uniqueness.NODE_PATH);
Traverser traverser = description.traverse(parentNode);
for (Path path : traverser) {
Node node = path.endNode();
if (!node.hasLabel(LABEL)) {
continue;
}
serviceUnit = new CloudOfferedService();
serviceUnit.setId(node.getId());
if (node.hasProperty(KEY)) {
serviceUnit.setName(node.getProperty(KEY).toString());
} else {
log.warn("Retrieved serviceUnit " + nodeID + " has no " + KEY);
}
if (node.hasProperty(CATEGORY)) {
serviceUnit.setCategory(node.getProperty(CATEGORY).toString());
} else {
log.warn("Retrieved serviceUnit " + nodeID + " has no " + CATEGORY);
}
if (node.hasProperty(SUBCATEGORY)) {
serviceUnit.setSubcategory(node.getProperty(SUBCATEGORY).toString());
} else {
log.warn("Retrieved serviceUnit " + nodeID + " has no " + SUBCATEGORY);
}
if (node.hasProperty(UUID)) {
serviceUnit.setUuid(java.util.UUID.fromString(node.getProperty(UUID).toString()));
} else {
log.warn("Retrieved CloudProvider " + serviceUnit + " has no " + UUID);
}
serviceUnit.getResourceProperties().addAll(ResourceDAO.getResourcePropertiesForNode(node.getId(), database));
serviceUnit.getQualityProperties().addAll(QualityDAO.getQualityPropertiesForNode(node.getId(), database));
serviceUnit.getCostFunctions().addAll(CostFunctionDAO.getCostFunctionsForNode(node.getId(), database));
serviceUnit.getElasticityCapabilities().addAll(ElasticityCapabilityDAO.getELasticityCapabilitiesForNode(node.getId(), database));
//serviceUnit.setElasticityQuantification(getElasticityDependency(node.getId(), database));
}
if (!transactionAllreadyRunning) {
if (!transactionAllreadyRunning) {
tx.success();
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
e.printStackTrace();
} finally {
if (!transactionAllreadyRunning) {
tx.finish();
}
}
return serviceUnit;
}
开发者ID:tuwiendsg,项目名称:MELA,代码行数:80,代码来源:ServiceUnitDAO.java
注:本文中的org.neo4j.kernel.Traversal类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论