Select Git revision
graphCreator.js
-
Marc Feger authoredMarc Feger authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
graphCreator.js 2.11 KiB
import {Neo4JAdapter} from '../neo4j/neo'
import {v1 as neo4j} from 'neo4j-driver'
import {elements} from '../discussionElements'
export class GraphCreator {
async fill(graph, withQuery) {
const queryResult = await new Neo4JAdapter('neo4j', 'W7uFSy$ywR3M3ck').ask(withQuery);
var records = queryResult.records;
records.forEach(function (record) {
record.forEach(function (element) {
if (element instanceof neo4j.types.Node) {
var id = element.identity.toInt();
var newNode = null;
if (element.labels.includes(elements.ISSUE)) {
newNode = {
"id": id,
"labels": element.labels,
"title": element.properties.title
};
} else if (element.labels.includes(elements.STATEMENT)) {
newNode = {
"id": id,
"labels": element.labels,
"textversion": element.properties.textversion
};
} else if (element.labels.includes(elements.ARGUMENT)) {
newNode = {
"id": id,
"labels": element.labels
};
}
graph.addNode(newNode);
} else if (element instanceof Array) {
element.forEach(function (relation) {
if (relation instanceof neo4j.types.Relationship) {
var newEdge = {
"id": relation.identity.toInt(),
"source": relation.start.toInt(),
"target": relation.end.toInt(),
"type": relation.type
};
graph.addEdge(newEdge);
}
})
}
});
});
return graph;
}
}