我想知道是否有人在使用Neo4J 1.8.x Embedded和Sun JDK 7?如果是这样,你有没有遇到任何问题,他们是什么?
我还要澄清一点,我不打算构建Neo4J源代码 - 只在Sun Java 7上运行Neo4j 1.8.1 Embedded.
我知道Neo4j 1.9是第一个支持Java 7的版本,但是如果Neo 1.8.1在Sun JDK 7上运行没有任何问题,我们将考虑部署它.
使用Java 7有许多好处(例如安全性等),但如果与Neo 1.8.1存在兼容性问题,我们想了解一下.
谢谢,鲍勃
我有一个问题.这个查询:
g.V.filter{it.type == 'user'}.outE.filter{it.label == 'follow'}.outV.groupCount().cap()
Run Code Online (Sandbox Code Playgroud)
返回HashMap
{v[1]=1, v[138]=3, v[140]=3, v[6]=1, v[203]=1, v[619]=7, v[131]=1, v[10]=4, v[192]=1, ...}
Run Code Online (Sandbox Code Playgroud)
怎么订购?输出需要是v [619] = 7,v [10] = 4 ,, v [138] = 3,v [140] = 3,...
g.V.filter{it.type == 'user'}.outE.filter{it.label == 'follow'}.outV.groupCount().cap().sort{-it.value} not working
Run Code Online (Sandbox Code Playgroud)
感谢名单
作为我正在开发的CMS的一部分,我已经将MongoDB作为主要数据存储区,它提供给ElasticSearch和Redis.所有这些都是伪装配置的.
我目前正在尝试在JSON(一种DSL类型)中开发一个声明性api,在实现时,它将使我能够在JSON中编写统一查询,但在后端这些数据存储区协同工作以得出结果.联合搜索,如果你愿意.
现在,在充实了这个Json api支持的查询类型的同时,我遇到了一类查询,我目前的设置并没有(有效地)支持这些查询:基于图形的查询,比如朋友的朋友,RDF查询,等我也想支持的东西.
所以我正在寻找一种方法,将GraphDB引入这个生态系统中,并且最合适.我应该说应用程序层位于Node.js.
我看过很多比较Neo4J(流行的GraphDB)和MongoDB的文章,但没有那么多的实际用例,其中2是补充的真实场景.
任何指针高度赞赏.
是否可以查询neo4j以获取最新节点?在这种情况下,索引属性"timestamp"记录每个节点上的时间(以毫秒为单位).
我发现的所有密码示例都涉及到图形类型的查询 - "从节点n开始并遵循关系.返回在一个字段上排序的结果集的一般最佳方法是什么?这是否可以在诸如node4j的图形数据库中实现?
我正在试验/学习弹簧数据neo4j.我有一个非常简单的应用程序存储来自Twitter的推文.请参阅下面的代码段.
@NodeEntity
public class Tweet {
@GraphId
private Long id;
private String tweet;
@Indexed
Set<String> hashtags;
Run Code Online (Sandbox Code Playgroud)
问题是,存储哈希标记的最佳方法是什么,以便我可以快速获取它们所属的推文?我能想到的是在Set上使用@Indexed或实际创建一个单独的Hashtag NodeEntity并在它和tweet之间建立关系.我无法找到一个NodeEntity索引集的任何文件,所以我不知道,如果设置的对象或设置每个字符串索引的创建索引.任何建议都会很好.谢谢.
我想在neo4j(java)中根据Facebook数据构建社交网络图.我正在尝试搜索相关的示例来理解这些概念,但仍然无法获得任何这些特定类型.请帮助我知道如何实现它,如果可能的话,提供适当的链接,我可以获得相关的帮助.
我想拥有节点和关系(边缘)属性,如下所示:
Node properties:
String id, name, town;
int numOfFriends;
Double age;
Date dateOfJoining
HashSet<String> postIdSet;
Relationship Properties:
boolean Knows;
int numOfLikes, numOfComments;
float wtLikes, wtComments;
String relationship;
Run Code Online (Sandbox Code Playgroud)
如何创建graphDB具有上述属性的节点和边?
我有一个示例代码结构,用于创建graphDB和添加节点和关系,如下所示:
GraphDatabaseService graphDB = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH);
registerShutdownHook(graphDB);
Transaction tx = graphDB.beginTx();
try {
/* define relationshipType*/
RelationshipType rel = DynamicRelationshipType.withName(??);
/* create new node with given properties*/
Node node1 = graphDB.createNode();
/* set node1 properties e.g. node1.id="1234" */
/* create another new node with given properties */ …Run Code Online (Sandbox Code Playgroud) 这是一个大学项目.教授告诉我们需要将neo4j用于图形数据库,由于POJO不能作为节点存储在neo4j中,我们也需要使用spring数据.听起来不错.当我真正编写代码时,我遇到的教程就是我的头脑.示例代码使用了注释,xml,bean和诸如此类的东西,而没有任何解释它们来自何处.我认为它们都是我没有经验的弹簧框架的一部分.那么在考虑春天neo4j之前我需要学习多少春天?我不能向我的教授寻求帮助,因为他是管理类型的人,他知道像技术这样的所有单词,但不知道它们是如何工作的.
我正在做的是获取所有与用户配置文件*具有特定定向关系的配置文件*,如果这些配置文件具有备用配置文件*,则在用户备用配置文件*与其关联时获取这些配置文件.我也需要关系的方向.
我的问题是,大约10000个节点需要大约5秒钟来获取数据.我有节点和关系的自动索引.
这是我的节点相关的方式:
用户 - [:简介] - >配置文件A - [:相关] - >概貌< - [?:我] - > ProfileB2 < - [?:相关] -ProfileA2 < - [:资料] - 用户
我的查询如下所示:
START User=node({source})
MATCH User-[:profile]->ProfileA-[rel:related]->ProfileB
WHERE User-->ProfileA-->ProfileB
WITH ProfileA, rel, ProfileB
MATCH ProfileB<-[?:me]->ProfileB2<-[relB?:related]-ProfileA2<-[:profile]-User
WHERE relB IS NULL OR User-->ProfileA-->ProfileB<-->ProfileB2<--ProfileA2<--User
RETURN ProfileB, COLLECT(ProfileB2), rel, relB
LIMIT 25
Run Code Online (Sandbox Code Playgroud)
知道如何优化查询吗?
我正在用java编写neo4j演示代码.以下是我正在创建节点,索引它们并打印其属性的代码的一部分.
String NODE_KEY = "UserID";
String NODE_PROPERTIES = "UserProperties";
createAndIndexUser(String userID){
Node node = graphDB.createNode();
node.setProperty(NODE_KEY, nodeID);
neo4jGraph.nodeIndex.add(node, NODE_KEY, userID);
return node;
}
for(int i=0 ; i<100 ; i++){
String userID = "userID_"+i;
Node node = createAndIndexUser(userID);
node.setProperty(NODE_PROPERTIES, strNodeProperties);
}
Iterable<Node> allNodes = GlobalGraphOperations.at(graphDB).getAllNodes();
for(Node n: allNodes){
System.out.println("n.getPropertyKeys: "+n.getPropertyKeys());
System.out.println(n.getProperty(NODE_KEY));
}
Run Code Online (Sandbox Code Playgroud)
当我执行此代码时,第一个println的输出是:
n.getPropertyKeys: []
Run Code Online (Sandbox Code Playgroud)
而对于第二次打印,我收到一个错误:
Exception in thread "main" org.neo4j.graphdb.NotFoundException: 'UserID' property not found for NodeImpl#0.
Run Code Online (Sandbox Code Playgroud)
在哪里以及我做错了什么?为什么不打印所有属性键n.getProperty(NODE_KEY)?
是否还有其他方法可以获取所有节点并打印其属性?
我明白2如何不同:
但为什么我们两个都有?
我实际上非常喜欢将数据结构作为文件系统进行操作的能力(就像FUSE对procfs之类的东西一样)并且很乐意在其中编写所有重要的脚本.
但它是否气馁?我想做的最后一件事是依赖于将来不支持或弃用的技术.