94 lines
14 KiB
XML
94 lines
14 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="390px" preserveAspectRatio="none" style="width:1335px;height:390px;" version="1.1" viewBox="0 0 1335 390" width="1335px" zoomAndPan="magnify"><defs/><g><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="95" x="1228" y="10.69">version: 17.09.2024</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="359" x="482" y="32.8619">Python-Structure Overview mdm_to_neo4j</text><!--MD5=[337a2b82978a806ce5bcf4ad5fd16aa2]
|
|
cluster xmls--><polygon fill="#FFFFFF" points="76.5,260.1358,141.5,260.1358,148.5,285.2038,180.5,285.2038,180.5,378.1358,76.5,378.1358,76.5,260.1358" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="76.5" x2="148.5" y1="285.2038" y2="285.2038"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="80.5" y="277.1018">xml-files</text><!--MD5=[45650538d9e692597bc237bf2338e219]
|
|
cluster mdm2neo4j--><rect fill="#FFFFFF" height="275" style="stroke: #000000; stroke-width: 1.5;" width="715" x="326" y="63.1358"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="83" x="642" y="80.1018">mdm2neo4j</text><!--MD5=[d7497fff2e6a9a1d994f1cc59d903d3b]
|
|
cluster database_connector--><polygon fill="#FFFFFF" points="826,158.1358,971,158.1358,978,183.2038,1017,183.2038,1017,280.1358,826,280.1358,826,158.1358" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="826" x2="978" y1="183.2038" y2="183.2038"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="139" x="830" y="175.1018">database_connector</text><!--MD5=[bd29416b877ecfc5c3cef04f79efb9f2]
|
|
cluster xml_processor--><polygon fill="#FFFFFF" points="600,109.1358,706,109.1358,713,134.2038,793,134.2038,793,259.1358,600,259.1358,600,109.1358" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="600" x2="713" y1="134.2038" y2="134.2038"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="100" x="604" y="126.1018">xml_processor</text><!--MD5=[3bec78ca12dc16b09861f7009b8d0a05]
|
|
cluster Neo4j DBMS--><polygon fill="#FFFFFF" points="1137,173.1358,1147,163.1358,1297,163.1358,1297,260.1358,1287,270.1358,1137,270.1358,1137,173.1358" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1287" x2="1296" y1="173.1358" y2="164.1358"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1137" x2="1287" y1="173.1358" y2="173.1358"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1287" x2="1287" y1="173.1358" y2="270.1358"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="1171" y="191.1018">Neo4j DBMS</text><!--MD5=[8fc3522a43f8c7199df5e09e5bb0188e]
|
|
entity user--><ellipse cx="128.5" cy="164.1358" fill="#FEFECE" rx="8" ry="8" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M128.5,172.1358 L128.5,199.1358 M115.5,180.1358 L141.5,180.1358 M128.5,199.1358 L115.5,214.1358 M128.5,199.1358 L141.5,214.1358 " fill="none" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="31" x="113" y="231.6018">User</text><!--MD5=[00b4040e603364f3b74d798c0912c1e4]
|
|
entity conf--><polygon fill="#FEFECE" points="38,78.1358,38,144.2717,219,144.2717,219,88.1358,209,78.1358,38,78.1358" style="stroke: #000000; stroke-width: 1.5;"/><path d="M209,78.1358 L209,88.1358 L219,88.1358 " fill="#FEFECE" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="71" x="48" y="103.1018">mdm.conf</text><line style="stroke: #000000; stroke-width: 1.5;" x1="39" x2="218" y1="107.2038" y2="107.2038"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="149" x="54" y="126.1697">- database connection</text><!--MD5=[598c7458f910f9705370ab7196b85f6e]
|
|
entity *.xml--><rect fill="#FEFECE" height="35.0679" style="stroke: #000000; stroke-width: 1.5;" width="52" x="104.5" y="310.6358"/><rect fill="#FEFECE" height="35.0679" style="stroke: #000000; stroke-width: 1.5;" width="52" x="100.5" y="306.6358"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="36" x="108.5" y="329.6018">*.xml</text><!--MD5=[983d0794f401e349a629364dfc448d7d]
|
|
entity run--><polygon fill="#FEFECE" points="342,143.1358,342,247.4075,503,247.4075,503,153.1358,493,143.1358,342,143.1358" style="stroke: #000000; stroke-width: 1.5;"/><path d="M493,143.1358 L493,153.1358 L503,153.1358 " fill="#FEFECE" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="352" y="168.1018">run.py</text><line style="stroke: #000000; stroke-width: 1.5;" x1="343" x2="502" y1="172.2038" y2="172.2038"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="358" y="191.1697">Parameters:</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="118" x="358" y="210.2376">- path to xml-files</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="358" y="229.3055">- path to mdm.conf</text><!--MD5=[7feca6f6a073612d3294a2c89b6a5708]
|
|
entity c_neo--><rect fill="#FEFECE" height="68.1358" style="stroke: #A80036; stroke-width: 1.5;" width="159" x="842" y="196.1358"/><rect fill="#FEFECE" height="10" style="stroke: #A80036; stroke-width: 1.5;" width="15" x="981" y="201.1358"/><rect fill="#FEFECE" height="2" style="stroke: #A80036; stroke-width: 1.5;" width="4" x="979" y="203.1358"/><rect fill="#FEFECE" height="2" style="stroke: #A80036; stroke-width: 1.5;" width="4" x="979" y="207.1358"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="73" x="880" y="231.1018">«Singleton»</text><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="119" x="857" y="250.1697">Neo4jConnection</text><!--MD5=[be93e3bd3068dc9387925b2bab7c0091]
|
|
entity p_xml--><rect fill="#FEFECE" height="95.2038" style="stroke: #A80036; stroke-width: 1.5;" width="161" x="616" y="147.6358"/><rect fill="#FEFECE" height="10" style="stroke: #A80036; stroke-width: 1.5;" width="15" x="757" y="152.6358"/><rect fill="#FEFECE" height="2" style="stroke: #A80036; stroke-width: 1.5;" width="4" x="755" y="154.6358"/><rect fill="#FEFECE" height="2" style="stroke: #A80036; stroke-width: 1.5;" width="4" x="755" y="158.6358"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="95" x="631" y="182.6018">XmlProcessor</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="617" x2="776" y1="186.7038" y2="186.7038"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="637" y="205.6697">- parse XML file</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="109" x="637" y="224.7376">- logic for inport</text><!--MD5=[7468467f3b6b392f1d176d828c753b77]
|
|
entity db--><path d="M1188,216.1358 C1188,206.1358 1216.5,206.1358 1216.5,206.1358 C1216.5,206.1358 1245,206.1358 1245,216.1358 L1245,244.2038 C1245,254.2038 1216.5,254.2038 1216.5,254.2038 C1216.5,254.2038 1188,254.2038 1188,244.2038 L1188,216.1358 " fill="#FEFECE" style="stroke: #000000; stroke-width: 1.5;"/><path d="M1188,216.1358 C1188,226.1358 1216.5,226.1358 1216.5,226.1358 C1216.5,226.1358 1245,226.1358 1245,216.1358 " fill="none" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="37" x="1198" y="245.1018">neo4j</text><!--MD5=[f271a736112486e7ec41007a5c5ce53c]
|
|
link user to run--><path d="M144.38,195.1358 C176.8,195.1358 256.17,195.1358 321.69,195.1358 " fill="none" id="user->run" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="321.96,188.1358,341.96,195.1358,321.96,202.1358,321.96,188.1358" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="28" x="266.5" y="191.0328">start</text><!--MD5=[ba94fa49a806251d7bf299e72d969fd6]
|
|
link run to p_xml--><path d="M503.27,195.1358 C537.04,195.1358 576.42,195.1358 610.71,195.1358 " fill="none" id="run->p_xml" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="615.73,195.1358,606.73,191.1358,610.73,195.1358,606.73,199.1358,615.73,195.1358" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="534" y="173.0328">1 Object</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="537" y="190.7389">per File</text><!--MD5=[0a3e5cb278b49f4eda44a0ba082371fa]
|
|
link run to c_neo--><path d="M496.68,247.2158 C525.06,264.4258 558.71,281.3958 592,290.1358 C681.85,313.7158 710.61,311.5558 801,290.1358 C821.62,285.2458 842.72,276.2258 861.35,266.6258 " fill="none" id="run->c_neo" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="866.03,264.1758,856.2025,264.824,861.6045,266.5028,859.9256,271.9048,866.03,264.1758" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="19" x="687" y="268.0328">init</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="663" y="285.7389">connection</text><!--MD5=[8a7386d18f110db2ce9aedfd23e4f484]
|
|
link run to conf--><path d="M341.98,172.2558 C305.61,161.7958 262.23,149.3158 224.19,138.3758 " fill="none" id="run->conf" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="219.09,136.9058,226.6498,143.2185,223.8987,138.2757,228.8415,135.5246,219.09,136.9058" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="57" x="252" y="144.0328">read-only</text><!--MD5=[c6c1c7183ed8c16cfda3e0bc9fd1c103]
|
|
reverse link xmls to run--><path d="M180.8434,370.3673 C181.589,370.3094 182.3383,370.2482 183.0909,370.1838 C184.5962,370.0548 186.115,369.9125 187.6447,369.7559 C193.7637,369.1293 200.0577,368.2729 206.3622,367.121 C218.9713,364.8171 231.6225,361.3308 243,356.1358 C297.1,331.4358 346.28,284.3458 379.25,247.4458 " fill="none" id="xmls<-run" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="180.8434,370.3673,190.1263,373.658,185.8284,369.98,189.5065,365.6821,180.8434,370.3673" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="57" x="252" y="311.0328">read-only</text><!--MD5=[bb19df8b27ca915d940688a46e47b57a]
|
|
link p_xml to c_neo--><path d="M777.06,207.6258 C796.44,210.6658 817.21,213.9258 836.77,216.9958 " fill="none" id="p_xml->c_neo" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="841.72,217.7658,833.4445,212.4259,836.7798,216.9948,832.2108,220.3302,841.72,217.7658" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[168b4436ec304b879fe0277419ebc878]
|
|
link c_neo to db--><path d="M1001.02,230.1358 C1060.47,230.1358 1139.12,230.1358 1182.77,230.1358 " fill="none" id="c_neo->db" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1187.91,230.1358,1178.91,226.1358,1182.91,230.1358,1178.91,234.1358,1187.91,230.1358" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="62" x="1058" y="226.0328">read/write</text><!--MD5=[5ab261c7ae6e0a3bf4e4d0c104556701]
|
|
@startuml
|
|
|
|
title: Python-Structure Overview mdm_to_neo4j
|
|
header version: 17.09.2024
|
|
|
|
left to right direction
|
|
|
|
skinparam nodesep 10
|
|
|
|
skinparam shadowing false
|
|
skinparam node {
|
|
}
|
|
|
|
together {
|
|
actor "User" as user
|
|
|
|
file conf [
|
|
**mdm.conf**
|
|
____
|
|
- database connection
|
|
]
|
|
|
|
folder "xml-files" as xmls {
|
|
collections "*.xml"
|
|
}
|
|
}
|
|
|
|
rectangle "mdm2neo4j" {
|
|
package "database_connector" {
|
|
component c_neo <<Singleton>> [
|
|
**Neo4jConnection**
|
|
]
|
|
}
|
|
package "xml_processor" {
|
|
component p_xml [
|
|
**XmlProcessor**
|
|
____
|
|
- parse XML file
|
|
- logic for inport
|
|
]
|
|
}
|
|
file run [
|
|
**run.py**
|
|
____
|
|
Parameters:
|
|
- path to xml-files
|
|
- path to mdm.conf
|
|
]
|
|
}
|
|
|
|
node "Neo4j DBMS" {
|
|
database "neo4j" as db
|
|
}
|
|
|
|
user - -|> run : start
|
|
run - -> p_xml : 1 Object\nper File
|
|
run ..> c_neo : init\nconnection
|
|
run -> conf : read-only
|
|
run -u-> xmls : read-only
|
|
p_xml - -> c_neo
|
|
c_neo - -> db : read/write
|
|
|
|
@enduml
|
|
|
|
PlantUML version 1.2020.02(Sun Mar 01 11:22:07 CET 2020)
|
|
(GPL source distribution)
|
|
Java Runtime: OpenJDK Runtime Environment
|
|
JVM: OpenJDK 64-Bit Server VM
|
|
Java Version: 17.0.12+7-Debian-2deb12u1
|
|
Operating System: Linux
|
|
Default Encoding: UTF-8
|
|
Language: en
|
|
Country: GB
|
|
--></g></svg> |