我已经使用我的Neo4j配置了Popoto.js,它运行正常。 但我的要求是用我想要的节点启动grpah。例如,如果我传递一个node-id或一个键约束,那么该图应该以该节点作为根节点开始。默认情况下,图形以我们传递给start方法的标签开头。 有没有选择这样做?
我尝试过使用 getPredefinedConstraints 。这样可行。但不幸的是,它在具有约束的特定节点类型中进行过滤,无论它在遍历时出现在哪里,这是不可取的。 我在下面尝试过,但这并没有完全解决我的需求。请帮忙。
"Person" :{
"returnAttributes":["name","age"],
"constraintAttribute" : "name",
"getPredefinedConstraints": function (node) {
x = ["$identifier.name =~ '(?i).*" + nameValue + ".*'"];
return x;
}
}
答案 0 :(得分:0)
添加根节点时,您可以使用事件侦听器来设置值,如下例所示:
请注意,您还可以将根节点设置为" immutable"表示避免价值取消选择。
/**
* Listener used when root node is added
* In this listener root node is initialized with a value
* and set in immutable state to avoid value deselection.
*
* @param rootNode root node reference when graph is created.
*/
var rootNodeListener = function (rootNode) {
// Change root node type and label with instanceData
rootNode.value = {
type: popoto.graph.node.NodeTypes.VALUE,
label: "Person",
attributes: {name:'Tom Hanks'}
};
// Set node as immutable, in this state the value cannot be deselected.
rootNode.immutable = true;
};
// Add rootNodeListener on NODE_ROOT_ADD event
popoto.graph.on(popoto.graph.Events.NODE_ROOT_ADD, rootNodeListener);
在此处查看实时示例: http://www.popotojs.com/live/simple-graph/selected-with-event.html
或者从1.1.2开始,您可以使用预定义图形(包括选定值)作为启动函数的参数启动Popoto,如下所示:
popoto.start({
label: "Person",
rel: [
{
label: "ACTED_IN",
node: {
label: "Movie",
value: {
title: "The Matrix"
}
}
},
{
label: "DIRECTED",
node: {
label: "Movie"
}
},
{
label: "PRODUCED",
node: {
label: "Movie"
}
},
{
label: "WROTE",
node: {
label: "Movie"
}
}
]
});
此处的实例:http://www.popotojs.com/live/results/predefined-data.html
这里有一个更复杂的问题:http://www.popotojs.com/live/save/index.html