This is a basic QML module for creating node graphs. It may serve you as an inspiration, when you are intending to create your own.
- A 
Nodecan have any number ofAttributes. - Each 
Attributecan have an input and an outputSocket. - The inputs and outputs of each 
Attributecan be linked by aLink. - Multiple 
Nodescan be selected using theSelectionRectand moved around or deleted. 
This is me playing around with the sample:

You can try out the sample yourself using qmlscene:
qmlscene -I . Sample.qml
import QtQuick 2.12
import QtQuick.Shapes 1.15