我是Neo4j
的新手并且有一个问题:
我想要的只是能够add
/ update
节点和关系,立即拥有道具indexed
,有些fulltext indexing
,并且所有内容都包含在{{} 1}},可从transactions
使用。这可能吗?
我使用以下Python
来使用Neo4j:
requirements
。Python
及其属性。nodes
及其属性。relationships
某些节点/关系属性。Fulltext indexing
。new indexes
(最后使用单独的提交或回滚命令)。 已添加2013-07-02:我想将Neo4j与plone cms集成,后者连接了多个事务数据库。用户可以调用cms,这将返回enclosed in one transaction
。因为Neo4j没有返回错误并不意味着事务应该提交 - 中止可能是由其他地方的错误引起的,在另一个数据库或代码片段中。
从我到目前为止所做的实验(使用affect multiple databases
)来看,我认为:
配置neo4j-community-2.0.0-M03
会给我2,3,4,但不是5.而且
节点/关系只有一个auto_index,所以全部都是
属性是全文或无。
[node|relationship]_auto_index
索引会为我提供2的运行时可配置索引,但不会为3,因为它们仅适用于节点。
label/schema
给了我1,2,3,4,允许5(因为我可以添加现有的
节点/关系及其对新索引的属性)。它不能做6,因为
批次之外它不是交易性的。因此运行批处理后发生的错误
无法触发中止。
REST API
与transactional endpoint
和auto_indexing
的组合
给我1,2,4,5(仅节点)和6,但不是3,因为标签/模式只适用于
节点。并且labels/schema
不允许添加例如与索引的关系。
我最大的希望是我错过了一些东西,所有6项要求都可以实现。任何提示?
答案 0 :(得分:1)
如评论中所述,您需要使用(当前是实验性的)事务性REST端点。结合标签和声明性索引,这解决了要求1,2,5,6。
将此与关系属性的自动索引相结合,解决了3和4.重建关系自动索引可以使用cypher完成:
start r = rels(*) set r.<prop> = r.<prop>
表示所有可自动索引的属性。对于较大的数据集,请考虑使用limit
和skip
以便在编制索引时控制事务大小。