如何使用 Sigmajs 和 Neo4j 通过输入搜索检索节点?
How to retrieve node with an input search with Sigmajs and Neo4j ?
我正在尝试检索带有输入搜索字段的节点,但它不起作用。我认为密码查询有误。有人可以帮助我吗?
var inputsearch= document.getElementById('inputsearch').value;
var buttonSearch=document.getElementById('buttonsearch');
buttonSearch.addEventListener('click', drawGraph(inputsearch));
function drawGraph(inputsearch){
sigma.neo4j.cypher(
{
url: 'http://localhost:7474', user: 'neo4j', password: 'neo4j' },
'match (n)-[r]->(m) where n.data.node.label =~ ".*(?i)'+inputsearch+'.*" return r,m,n;',s
,function(s) {
console.log('Number of nodes :'+ s.graph.nodes().length);
console.log('Number of edges :'+ s.graph.edges().length);
for(var i =0;i < s.graph.nodes().length; i++){
node = s.graph.nodes()[i];
s.settings('touchEnabled', true);
s.settings('mouseEnabled', true);
}})};
这不是一个 sigma 问题,而是一个 Neo4j 问题。
如果你想这样做,你应该:
- 在每个节点上添加标签
Node
- 在每个节点上添加一个 属性
_search
,您应该以 小写字母 连接所有要索引的字段
- 在 属性
_search
上为节点 Node
创建索引:CREATE INDEX ON :Node(_search)
这样您的查询就变成了:
MATCH (n:Node)-[r]->(m) WHERE n._search CONTAINS $inputsearch RETURN n LIMIT 1
我已经更新了我的 jsfiddle:https://jsfiddle.net/sim51/qkc0g58o/69/
我正在尝试检索带有输入搜索字段的节点,但它不起作用。我认为密码查询有误。有人可以帮助我吗?
var inputsearch= document.getElementById('inputsearch').value;
var buttonSearch=document.getElementById('buttonsearch');
buttonSearch.addEventListener('click', drawGraph(inputsearch));
function drawGraph(inputsearch){
sigma.neo4j.cypher(
{
url: 'http://localhost:7474', user: 'neo4j', password: 'neo4j' },
'match (n)-[r]->(m) where n.data.node.label =~ ".*(?i)'+inputsearch+'.*" return r,m,n;',s
,function(s) {
console.log('Number of nodes :'+ s.graph.nodes().length);
console.log('Number of edges :'+ s.graph.edges().length);
for(var i =0;i < s.graph.nodes().length; i++){
node = s.graph.nodes()[i];
s.settings('touchEnabled', true);
s.settings('mouseEnabled', true);
}})};
这不是一个 sigma 问题,而是一个 Neo4j 问题。
如果你想这样做,你应该:
- 在每个节点上添加标签
Node
- 在每个节点上添加一个 属性
_search
,您应该以 小写字母 连接所有要索引的字段 - 在 属性
_search
上为节点Node
创建索引:CREATE INDEX ON :Node(_search)
这样您的查询就变成了:
MATCH (n:Node)-[r]->(m) WHERE n._search CONTAINS $inputsearch RETURN n LIMIT 1
我已经更新了我的 jsfiddle:https://jsfiddle.net/sim51/qkc0g58o/69/