<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
Step1:  Optimierung des fachlichen Schnitts
Vorgehen
Subdomains sind bereits anhand von Namensschemata gebildet
Abhängigkeiten zwischen Subdomains werden über die Abhängigkeitsbeziehung der zugrundeliegenden Typen identifiziert
Step2:  Graph-Abfrage-Ergebnis
Als Ergebnis wird die Anzahl der Beziehungen zwischen den Typen der Subdomänen geliefert.
Step3:  Visualisierungsdaten
Das Ergebnis wird in eine JSON-Datei abgelegt
Die Daten können direkt zur Visualisierung verwendet werden
Für die Visualisierung wird ein D3 Chord Diagramm genutzt
<ASSISTANT_TASK:>
Python Code:
import py2neo
import pandas as pd
graph=  py2neo.Graph()
query=
MATCH
    (s1:Subdomain)<-[:BELONGS_TO]-
    (type:Type)-[r:DEPENDS_ON*0..1]->
    (dependency:Type)-[:BELONGS_TO]->(s2:Subdomain)
RETURN s1.name as from, s2.name as to, COUNT(r) as x_number
result = graph.run(query).data()
df = pd.DataFrame(result)
Explanation: Optimierung des fachlichen Schnitts
Vorgehen
Subdomains sind bereits anhand von Namensschemata gebildet
Abhängigkeiten zwischen Subdomains werden über die Abhängigkeitsbeziehung der zugrundeliegenden Typen identifiziert
End of explanation
df.head(10)
Explanation: Graph-Abfrage-Ergebnis
Als Ergebnis wird die Anzahl der Beziehungen zwischen den Typen der Subdomänen geliefert.
End of explanation
import json
json_data = df.to_dict(orient='split')['data']
with open ( "chord_data.json", mode='w') as json_file:
    json_file.write(json.dumps(json_data, indent=3))
json_data[:10]
Explanation: Visualisierungsdaten
Das Ergebnis wird in eine JSON-Datei abgelegt
Die Daten können direkt zur Visualisierung verwendet werden
Für die Visualisierung wird ein D3 Chord Diagramm genutzt
End of explanation
<END_TASK>