有没有人使用Java API使用GraphAware TimeTree处理Spring数据Neo4J,并能提供一个简单的示例?
这是我的第一个存储库类。看起来很有效,但迈克尔或卢安(或其他人)可能会在这方面有显著的改进。我还没有包括对某个范围内事件的查询,但它们即将出现。
关于此处内容的几个注释:
timeType参数是域节点和时间树之间关系的名称。
package myproject.core.repository.timeline;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import myproject.BaseNode;
@Repository
public interface TimelineRepository extends Neo4jRepository<BaseNode> {
// Attaches a node to the time tree
@Query("match (e:Event {domainId: {domainId}}) with e call ga.timetree.events.attach({node: e, time: {timestamp}, resolution: 'MILLISECOND', relationshipType: {timeType}}) yield node return node;")
public void setTime(@Param("domainId") String domainId, @Param("timeType") String typeType, @Param("timestamp") Long timestamp);
// Detaches a node from the timetree
@Query("match (e:Event {domainId: {domainId}})-[s]-() where type(s) = {timeType} delete s;")
public void unsetTime(@Param("domainId") String domainId, @Param("timeType") String timeType);
}
下面是我在neo4j中的配置。形态。我正在使用neo4j 3.0.6。我在这里写的几乎都是直接从https://github.com/graphaware/neo4j-timetree.
#For the framework to work at all, you need this
dbms.unmanaged_extension_classes=com.graphaware.server=/graphaware
# Runtime must be enabled like this
com.graphaware.runtime.enabled=true
# A Runtime module that takes care of attaching the events like this (TT is the ID of the module)
com.graphaware.module.TT.1=com.graphaware.module.timetree.module.TimeTreeModuleBootstrapper
# autoAttach must be set to true
com.graphaware.module.TT.autoAttach=true
#Uncommenting this prevents properties of our Event class from persisting
# Optionally, nodes which represent events and should be attached automatically have to be defined (defaults to nodes with label Event)
#com.graphaware.module.TT.event=hasLabel('Message')
# Optionally, a property on the event nodes that represents the the time (long) at which the event took place must be specified (defaults to "timestamp")
#com.graphaware.module.TT.timestamp=time
# Optionally, a property on the event nodes that represents the node ID (long) of the root node for the tree, to which the event should be attached (defaults to "timeTreeRootId")
#com.graphaware.module.TT.customTimeTreeRootProperty=rootId
# Optionally, a resolution can be specified (defaults to DAY)
#com.graphaware.module.TT.resolution=MILLISECOND
# Optionally, a time zone can be specified (defaults to UTC)
#com.graphaware.module.TT.timezone=GMT+1
# Optionally, a relationship type with which the events will be attached to the tree can be specified (defaults to AT_TIME)
#com.graphaware.module.TT.relationship=SENT_ON
# Optionally, a relationship direction (from the tree's point of view), with which the events will be attached to the tree can be specified (defaults to INCOMING)
#com.graphaware.module.TT.direction=INCOMING
您应该能够创建一些看起来有点像这样的东西(以最简单的形式)。。
GraphAware扩展是服务器端代码,Spring数据Neo4j是客户端代码。记住这一点,您可以按照此处和此处相同的行注释使用SDN(假设为v4)的Java类,以便使映射与时间树结构匹配。
也就是说,SDN(v4)还没有对非托管扩展和事务事件处理程序的任何显式支持(GraphAware框架同时支持这两个),所以您需要自己来处理。例如,如果使用时间树自动附加功能并从SDN中持久化事件,则需要重新加载它才能获取时间树节点。
我正试图利用我的spring数据Neo4J4.0中的时间树库。0项目。 如本页所述,https://github.com/graphaware/neo4j-timetree,我编辑了我的neo4j。属性文件以启用自动事件附加,将时间树依赖项添加到my gradle,并在具有长数据类型的事件节点中设置属性“creationDate”。尽管一切看起来都应该如此,但它仍然没有创建任何时间树。 以下是我的
是否有人拥有使用GrailsV3的SpringDataNeo4j(3.3.0)并愿意共享配置? 我想让Web界面工作(按这里:如何启用neo4j webadmin时使用sping-data-neo4j?),但我有点失去了当试图找出什么应该去,作为Grails从扩展它,所示示例从扩展它。
我试图编写一个返回大量数据(200个节点)的查询。节点非常简单: 我最初使用Spring Data Neo4j模板接口,但在返回大约100个节点后发现它非常慢。 所以,我的问题是:是否有一种方法可以提供标签作为Cypher查询的一部分,以防止需要再次查询每个节点?或者,除此之外,是否有一种方法可以为SDN提供一个包含标签和属性的并将其转换为POJO? 注意:我意识到SDN团队正在未来的版本中完全使
我正在使用数据库和。现在,我想导入相当大的数据集,因此我研究了的批插入功能。 经过我的研究,我发现: 用于嵌入式数据库:http://docs.neo4j.org/chunked/stable/batchinsert.html以及使用它的Michael Hunger项目:https://github.com/jexp/batch-import/ REST批处理终结点:http://docs.neo
我有与Spring data neo4j一起工作的Spring服务,我决定将Spring data neo4j从2.2更新到当前版本-3.1.4。释放。所以第一次我更新了neo4j,项目失败了,我更新了Spring版本,不同的版本有不同的例外。这个服务包括在我的前端,我叫它是从网络。所以我不知道什么是最佳配置???配置与maven。这里有pom.xml Spring配置文件 所以每次加载db例外,
我正在使用: neo4j 2.0。1 我有一个具有属性名称的节点人员,我想用Lucene语法搜索该属性。我在我的存储库中使用findByNamelike方法,它非常适合像value*或*value或*etc这样的查询。 但是我需要这样的查询{A*TO D*}。我发现了一个弃用的方法findAllByQuery(名称,查询),用这个方法我可以实现我的需求。 > 我还注意到,如果我从cypher创建节