I am trying to fetch properties of below Json using cypher query which is embeded in neovis javascript. The issue is that entity names for nodes are not appearing.
JSON
{
"start": {
"identity": 0,
"labels": [
"Entity"
],
"properties": {
"text": "Christian Drosten",
"id": "Q1079331"
}
},
"end": {
"identity": 3,
"labels": [
"Entity"
],
"properties": {
"id": "Q95",
"text": "Google"
}
},
"segments": [
{
"start": {
"identity": 0,
"labels": [
"Entity"
],
"properties": {
"text": "Christian Drosten",
"id": "Q1079331"
}
},
"relationship": {
"identity": 1,
"start": 0,
"end": 3,
"type": "EMPLOYER",
"properties": {
}
},
"end": {
"identity": 3,
"labels": [
"Entity"
],
"properties": {
"id": "Q95",
"text": "Google"
}
}
}
],
"length": 1.0
}
HTML code with Neovis and cypher-query
<!doctype html>
<html>
<head>
<title>Neovis.js Simple Example</title>
<style type="text/css">
html, body {
font: 16pt arial;
}
#viz {
width: 900px;
height: 700px;
border: 1px solid lightgray;
font: 22pt arial;
}
</style>
<!-- FIXME: load from dist -->
<script type="text/javascript" src="https://cdn.neo4jlabs.com/neovis.js/master/neovis.js"></script>
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<script type="text/javascript">
// define config car
// instantiate nodevis object
// draw
var viz;
function draw() {
var config = {
container_id: "viz",
server_url: "bolt://localhost:7687",
server_user: "neo4j",
server_password: "password",
relationships: {
"EMPLOYER": {
"caption": true
}
},
initial_cypher: "MATCH p=(n)-[r:EMPLOYER]->(m) RETURN p",
arrows: false
};
viz = new NeoVis.default(config);
viz.render();
console.log(viz);
}
</script>
</head>
<body onload="draw()">
<div id="viz"></div>
Cypher query: <textarea rows="4" cols=50 id="cypher"></textarea><br>
<input type="submit" value="Submit" id="reload">
</body>
<script>
$("#reload").click(function() {
var cypher = $("#cypher").val();
if (cypher.length > 3) {
viz.renderWithCypher(cypher);
} else {
console.log("reload");
viz.reload();
}
});
</script>
</html>
Current Output
Expected Output
Instead of Entity I would like to see actual names tagged to nodes i.e. Christian Drosten and Google
If I understood your question well, you need to add the following to your neoviz configuration:
labels: {
"Entity": {
"caption": "name",
}
}
See doc here.