From b660d26c311dc3a7b1930b89425096fc7c314bda Mon Sep 17 00:00:00 2001 From: mribary <m.ribary@surrey.ac.uk> Date: Thu, 18 Jun 2020 09:34:38 +0100 Subject: [PATCH] Gaius graph --- images/Gaius_law_system.graphml | 267 ++++++++++++++ images/Gaius_law_system_alt.graphml | 267 ++++++++++++++ images/Gaius_law_system_alt.png | Bin 0 -> 12949 bytes images/blank_graph.graphml | 328 ++++++++++++++++++ images/blank_graph.png | Bin 0 -> 6709 bytes .../neighbours-checkpoint.ipynb | 259 ++++++++++++++ script/neighbours.ipynb | 117 +++++-- 7 files changed, 1202 insertions(+), 36 deletions(-) create mode 100644 images/Gaius_law_system.graphml create mode 100644 images/Gaius_law_system_alt.graphml create mode 100644 images/Gaius_law_system_alt.png create mode 100644 images/blank_graph.graphml create mode 100644 images/blank_graph.png create mode 100644 script/.ipynb_checkpoints/neighbours-checkpoint.ipynb diff --git a/images/Gaius_law_system.graphml b/images/Gaius_law_system.graphml new file mode 100644 index 0000000..e19aee6 --- /dev/null +++ b/images/Gaius_law_system.graphml @@ -0,0 +1,267 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd"> + <!--Created by yEd 3.19.1.1--> + <key attr.name="Description" attr.type="string" for="graph" id="d0"/> + <key for="port" id="d1" yfiles.type="portgraphics"/> + <key for="port" id="d2" yfiles.type="portgeometry"/> + <key for="port" id="d3" yfiles.type="portuserdata"/> + <key attr.name="url" attr.type="string" for="node" id="d4"/> + <key attr.name="description" attr.type="string" for="node" id="d5"/> + <key for="node" id="d6" yfiles.type="nodegraphics"/> + <key for="graphml" id="d7" yfiles.type="resources"/> + <key attr.name="url" attr.type="string" for="edge" id="d8"/> + <key attr.name="description" attr.type="string" for="edge" id="d9"/> + <key for="edge" id="d10" yfiles.type="edgegraphics"/> + <graph edgedefault="directed" id="G"> + <data key="d0"/> + <node id="n0"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="160.0"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="21.19140625" x="29.404296875" xml:space="preserve" y="11.015625">ius<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n1"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="140.0" y="250.0"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="59.400390625" x="10.2998046875" xml:space="preserve" y="11.015625">publicum<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n2"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="250.0"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="58.33984375" x="10.830078125" xml:space="preserve" y="11.015625">privatum<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n3"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="500.0" y="370.0"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="71.69921875" x="4.150390625" xml:space="preserve" y="11.015625">naturalibus<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n4"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="370.0"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="53.939453125" x="13.0302734375" xml:space="preserve" y="11.015625">gentium<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n5"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="370.0"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="52.509765625" x="13.7451171875" xml:space="preserve" y="11.015625">civilibus<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n6"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="533.75"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="54.572265625" x="12.7138671875" xml:space="preserve" y="11.015625">actiones<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n7"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="533.75"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="22.568359375" x="28.7158203125" xml:space="preserve" y="11.015625">res<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n8"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="140.0" y="533.75"/> + <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="58.73828125" x="10.630859375" xml:space="preserve" y="11.015625">personas<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <edge id="e0" source="n2" target="n3"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="540.0" y="270.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e1" source="n2" target="n5"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.0" y="270.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e2" source="n2" target="n4"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="85.474609375" x="-42.7373046875" xml:space="preserve" y="31.005859375">ex praeceptis<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="center" ratio="0.5" segment="0"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e3" source="n0" target="n1"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="180.0" y="180.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e4" source="n0" target="n2"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="420.0" y="180.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e5" source="n5" target="n8"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.0" y="450.0"/> + <y:Point x="180.0" y="450.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e6" source="n5" target="n6"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.73333333333335" y="450.0"/> + <y:Point x="420.0" y="450.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e7" source="n5" target="n7"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="257.166015625" x="-128.5830078125" xml:space="preserve" y="52.86163330078125">omne autem ius quo utimur ad ... pertinet<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="center" ratio="0.5" segment="0"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + </graph> + <data key="d7"> + <y:Resources/> + </data> +</graphml> diff --git a/images/Gaius_law_system_alt.graphml b/images/Gaius_law_system_alt.graphml new file mode 100644 index 0000000..5300ec3 --- /dev/null +++ b/images/Gaius_law_system_alt.graphml @@ -0,0 +1,267 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd"> + <!--Created by yEd 3.19.1.1--> + <key attr.name="Description" attr.type="string" for="graph" id="d0"/> + <key for="port" id="d1" yfiles.type="portgraphics"/> + <key for="port" id="d2" yfiles.type="portgeometry"/> + <key for="port" id="d3" yfiles.type="portuserdata"/> + <key attr.name="url" attr.type="string" for="node" id="d4"/> + <key attr.name="description" attr.type="string" for="node" id="d5"/> + <key for="node" id="d6" yfiles.type="nodegraphics"/> + <key for="graphml" id="d7" yfiles.type="resources"/> + <key attr.name="url" attr.type="string" for="edge" id="d8"/> + <key attr.name="description" attr.type="string" for="edge" id="d9"/> + <key for="edge" id="d10" yfiles.type="edgegraphics"/> + <graph edgedefault="directed" id="G"> + <data key="d0"/> + <node id="n0"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="160.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="21.19140625" x="29.404296875" xml:space="preserve" y="11.015625">ius<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n1"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="140.0" y="250.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="59.400390625" x="10.2998046875" xml:space="preserve" y="11.015625">publicum<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n2"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="250.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="58.33984375" x="10.830078125" xml:space="preserve" y="11.015625">privatum<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n3"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="500.0" y="370.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="71.69921875" x="4.150390625" xml:space="preserve" y="11.015625">naturalibus<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n4"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="370.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="53.939453125" x="13.0302734375" xml:space="preserve" y="11.015625">gentium<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n5"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="370.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="52.509765625" x="13.7451171875" xml:space="preserve" y="11.015625">civilibus<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n6"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="533.75"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="54.572265625" x="12.7138671875" xml:space="preserve" y="11.015625">actiones<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n7"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="533.75"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="22.568359375" x="28.7158203125" xml:space="preserve" y="11.015625">res<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n8"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="140.0" y="533.75"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="58.73828125" x="10.630859375" xml:space="preserve" y="11.015625">personas<y:LabelModel><y:SmartNodeLabelModel distance="4.0"/></y:LabelModel><y:ModelParameter><y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/></y:ModelParameter></y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <edge id="e0" source="n2" target="n3"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="540.0" y="270.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e1" source="n2" target="n5"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.0" y="270.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e2" source="n2" target="n4"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="85.474609375" x="-42.7373046875" xml:space="preserve" y="31.005859375">ex praeceptis<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="center" ratio="0.5" segment="0"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e3" source="n0" target="n1"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="180.0" y="180.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e4" source="n0" target="n2"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="420.0" y="180.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e5" source="n5" target="n8"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.0" y="450.0"/> + <y:Point x="180.0" y="450.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e6" source="n5" target="n6"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.73333333333335" y="450.0"/> + <y:Point x="420.0" y="450.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e7" source="n5" target="n7"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="257.166015625" x="-128.5830078125" xml:space="preserve" y="52.86163330078125">omne autem ius quo utimur ad ... pertinet<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="center" ratio="0.5" segment="0"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + </graph> + <data key="d7"> + <y:Resources/> + </data> +</graphml> diff --git a/images/Gaius_law_system_alt.png b/images/Gaius_law_system_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..797011e8f7bb38ad45ad7e964e3bc5a84e6fc189 GIT binary patch literal 12949 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 L=#LUj$9w+++zqJv literal 0 HcmV?d00001 diff --git a/images/blank_graph.graphml b/images/blank_graph.graphml new file mode 100644 index 0000000..4e51f56 --- /dev/null +++ b/images/blank_graph.graphml @@ -0,0 +1,328 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd"> + <!--Created by yEd 3.19.1.1--> + <key attr.name="Description" attr.type="string" for="graph" id="d0"/> + <key for="port" id="d1" yfiles.type="portgraphics"/> + <key for="port" id="d2" yfiles.type="portgeometry"/> + <key for="port" id="d3" yfiles.type="portuserdata"/> + <key attr.name="url" attr.type="string" for="node" id="d4"/> + <key attr.name="description" attr.type="string" for="node" id="d5"/> + <key for="node" id="d6" yfiles.type="nodegraphics"/> + <key for="graphml" id="d7" yfiles.type="resources"/> + <key attr.name="url" attr.type="string" for="edge" id="d8"/> + <key attr.name="description" attr.type="string" for="edge" id="d9"/> + <key for="edge" id="d10" yfiles.type="edgegraphics"/> + <graph edgedefault="directed" id="G"> + <data key="d0"/> + <node id="n0"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="160.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n1"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="140.0" y="250.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n2"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="250.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n3"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="500.0" y="370.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n4"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="370.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n5"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="370.0"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n6"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="380.0" y="533.75"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n7"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="260.0" y="533.75"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <node id="n8"> + <data key="d5"/> + <data key="d6"> + <y:GenericNode configuration="com.yworks.entityRelationship.small_entity"> + <y:Geometry height="40.0" width="80.0" x="140.0" y="533.75"/> + <y:Fill color="#003366" color2="#003366" transparent="false"/> + <y:BorderStyle color="#FFFFFF" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#FFFFFF" verticalTextPosition="bottom" visible="true" width="4.0" x="38.0" y="18.0"> + <y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:StyleProperties> + <y:Property class="java.lang.Boolean" name="y.view.ShadowNodePainter.SHADOW_PAINTING" value="true"/> + </y:StyleProperties> + </y:GenericNode> + </data> + </node> + <edge id="e0" source="n2" target="n3"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="540.0" y="270.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e1" source="n2" target="n5"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.0" y="270.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e2" source="n2" target="n4"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e3" source="n0" target="n1"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="180.0" y="180.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e4" source="n0" target="n2"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="420.0" y="180.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e5" source="n5" target="n8"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.0" y="450.0"/> + <y:Point x="180.0" y="450.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e6" source="n5" target="n6"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"> + <y:Point x="300.73333333333335" y="450.0"/> + <y:Point x="420.0" y="450.0"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + <edge id="e7" source="n5" target="n7"> + <data key="d9"/> + <data key="d10"> + <y:GenericEdge configuration="com.yworks.bpmn.Connection"> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="delta"/> + <y:StyleProperties> + <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="CONNECTION_TYPE_SEQUENCE_FLOW"/> + </y:StyleProperties> + </y:GenericEdge> + </data> + </edge> + </graph> + <data key="d7"> + <y:Resources/> + </data> +</graphml> diff --git a/images/blank_graph.png b/images/blank_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..11d141625d00a8dc77014494480f0eaa60f4a867 GIT binary patch literal 6709 zcmeI1e^`>|yTGxnxysp=<xkXpELYYP#|%w{WtrJ3?NsJUQKV#>O+_;l^|fVbrbewy znW;6mtYs*95)6zCkWAF?R*FuMlEjLHkVFX3@AG2oyIt4$@9bRHIp;gBi|gWfp8L6< z`@P@yz3<O`Qy8%=^u4*xa}fx{dtsY4{09PI)eFAdci#as#Pp*H2!xX<Y{R;p8Tc{j z03%vb>h>_~^wRVTkI((%bo{-IHajZME!(?k=~beWYx%lmR^v<a)uy>`k2~JF_sD-i zTV-Ob3-q>3f6swD%P%dZ=g{%r0-whu9`{xB$*fHmcCH=}yi$%v@5(yk_7*tszxq7P zXQ$tFDHuGrYGjxi;>B2kz(gb8A#dXPr%@C`;=QRq32vMaq;t?s$|ota*{w-tx>S*# zovf&2x;EJEKJ4=BX+Te{HNOm3W|!s{g{v~8D5OkRhUOO(0<#5KM?uyZQ^9<tVV@$8 z&JyVuiw?VZ4DFJpH>f%u#hK$3kHn$qNs(?M5|LEy7p3-(njA@KfPA(6;ygN-FNs48 zqHKGQB5ix?N!V&bmzb5Gx9H)<)CP~oDGgHx6$Sj(xhXaNQFg;|vmYMG^Ic*aiSY9K ztA{s>_`_xB-1CL97mpWZn)I5V_`!^F>sb8Fs_{Dl4`Ky#d)x=}Nl?xv6WV*!H8Ge= zZ281^RG7V1YkYK4zZO|Hhunbg5Pr0o+0(Z=VrQ|h>IktRx)Qdx_lzKt*qC(W;)-QK zB{LIjr~KjJily0g2Xnx+`$dJ@SD5+Y7I`(I%NrufUs=?t#w+OcC*9xf>TabvTPFr1 z>o}&b6%L~LvqnebUTcaOjws<TTG94KLLj=WA)_LS^CmvEXr>e<N58tS$-8avj|!K^ zZ9SfsjxioPVxxV%+!(v!F6u8{xC?H4yLc2`ZDXxW@AqD~ue{dK(RvT7T|1SbXrw21 zb8*Nz34s@JicsZY+si?#JF^3urgO#KZMsPo6x2k+jEodgekNa@`ch#;yLS#&H>25} zGiI~e4k5Tf+DCoZwroFb9y6yU0$-`uV}`D@U3?X%$YaKI59D3FZn-Qw>qI0%!<eu< zv0c8l$MqiP)%RA}Nmep;b9a=i_hk^XZIIRPr1<LQ&2~~etqO{kSN58jIVGrDR-ue@ zY&=;y{7RT!taOr;US+~MCkxjv9wG=ucQi?>Y^|HA!{3Jte^#P=64BxY+lLNCzMD$* zD=`PJ%b%mPSV4$^m3!26Ko=MDkIwj`!3!3)>)j9g;LgqG4s$=*5>@uUcT?As_P&i7 zrGm6?*H#sG1mtWVZoZxP;>&2aheZpzXFtpM)Jy#`q;Pareft@5=221MC}JYesce#Z zKEw8fbC7dcK?e90(OpB%tcMrt`+-=oLt*t>�exse7SEVz-ixJnkkFGC~4`Sioao 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 literal 0 HcmV?d00001 diff --git a/script/.ipynb_checkpoints/neighbours-checkpoint.ipynb b/script/.ipynb_checkpoints/neighbours-checkpoint.ipynb new file mode 100644 index 0000000..3c1e893 --- /dev/null +++ b/script/.ipynb_checkpoints/neighbours-checkpoint.ipynb @@ -0,0 +1,259 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import glob\n", + "import os\n", + "import re\n", + "import fasttext\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['/home/mribary/Documents/wordvec/digest_skip.bin', '/home/mribary/Documents/wordvec/romtext_skip.bin', '/home/mribary/Documents/wordvec/latinise_skip.bin', '/home/mribary/Documents/wordvec/lasla_skip.bin']\n" + ] + } + ], + "source": [ + "path = '/home/mribary/Documents/wordvec'\n", + "file_list = glob.glob(os.path.join(path, '*skip.bin'))\n", + "print(file_list)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Warning : `load_model` does not return WordVectorModel or SupervisedModel any more, but a `FastText` object which is very similar.\n", + "Warning : `load_model` does not return WordVectorModel or SupervisedModel any more, but a `FastText` object which is very similar.\n", + "Warning : `load_model` does not return WordVectorModel or SupervisedModel any more, but a `FastText` object which is very similar.\n", + "Warning : `load_model` does not return WordVectorModel or SupervisedModel any more, but a `FastText` object which is very similar.\n" + ] + } + ], + "source": [ + "# Load models into a dictionary (with fasttext)\n", + "models = [] \n", + "for i in range(len(file_list)):\n", + " model_name = re.search('(\\/)([a-z]+_[a-z]*)(\\.)', file_list[i]).group(2)\n", + " x, y = model_name, fasttext.load_model(file_list[i])\n", + " models.append((x, y))\n", + "models = dict(models)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "def neighbors(lemma, models, top=5):\n", + " '''\n", + " Based on a dictionary of fasttext `models` where key is the model's name\n", + " and the value is a fasttext object, the function returns a pandas dataframe\n", + " of closest neighbors for a `lemma`. If no value is entered to `top`, then\n", + " the function returns the default number of 5 top neigbouring lemmas.\n", + " '''\n", + " keys = list(models.keys())\n", + " dictionary = {}\n", + " for i in range(len(keys)):\n", + " tuples = models[keys[i]].get_nearest_neighbors(lemma, top)\n", + " neighbors = []\n", + " for j in range(len(tuples)):\n", + " x, y = tuples[j][1], round(tuples[j][0], 4)\n", + " neighbors.append((x, y))\n", + " #print(neighbors)\n", + " dictionary[keys[i]] = neighbors\n", + " df = pd.DataFrame(dictionary)\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>digest_skip</th>\n", + " <th>romtext_skip</th>\n", + " <th>latinise_skip</th>\n", + " <th>lasla_skip</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>(coheres, 0.8153)</td>\n", + " <td>(hereditas, 0.7943)</td>\n", + " <td>(exheres, 0.9061)</td>\n", + " <td>(coheres, 0.8689)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>(hereditas, 0.7682)</td>\n", + " <td>(coheres, 0.7455)</td>\n", + " <td>(herede, 0.8821)</td>\n", + " <td>(hereditas, 0.7901)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>(exheres, 0.7617)</td>\n", + " <td>(extitisset, 0.7294)</td>\n", + " <td>(heredes, 0.8775)</td>\n", + " <td>(hereditarius, 0.755)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>(sextante, 0.761)</td>\n", + " <td>(heredive, 0.7251)</td>\n", + " <td>(hereses, 0.8604)</td>\n", + " <td>(exheredo, 0.7537)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>(assis, 0.7591)</td>\n", + " <td>(heresve, 0.7233)</td>\n", + " <td>(coheres, 0.8359)</td>\n", + " <td>(hermione, 0.67)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>(titianam, 0.7565)</td>\n", + " <td>(exheres, 0.7213)</td>\n", + " <td>(heredis, 0.8282)</td>\n", + " <td>(testamentum, 0.6437)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>(bessem, 0.7549)</td>\n", + " <td>(heredemve, 0.7138)</td>\n", + " <td>(heredum, 0.8247)</td>\n", + " <td>(hera, 0.6395)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>7</th>\n", + " <td>(sextans, 0.7537)</td>\n", + " <td>(substituo, 0.7047)</td>\n", + " <td>(exheredo, 0.8127)</td>\n", + " <td>(heraclitus, 0.6349)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>8</th>\n", + " <td>(besse, 0.7414)</td>\n", + " <td>(extitisse, 0.7023)</td>\n", + " <td>(heredibus, 0.81)</td>\n", + " <td>(herodes, 0.624)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>9</th>\n", + " <td>(semis, 0.7239)</td>\n", + " <td>(hereditarius, 0.6995)</td>\n", + " <td>(heredium, 0.8008)</td>\n", + " <td>(hermippus, 0.6217)</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " digest_skip romtext_skip latinise_skip \\\n", + "0 (coheres, 0.8153) (hereditas, 0.7943) (exheres, 0.9061) \n", + "1 (hereditas, 0.7682) (coheres, 0.7455) (herede, 0.8821) \n", + "2 (exheres, 0.7617) (extitisset, 0.7294) (heredes, 0.8775) \n", + "3 (sextante, 0.761) (heredive, 0.7251) (hereses, 0.8604) \n", + "4 (assis, 0.7591) (heresve, 0.7233) (coheres, 0.8359) \n", + "5 (titianam, 0.7565) (exheres, 0.7213) (heredis, 0.8282) \n", + "6 (bessem, 0.7549) (heredemve, 0.7138) (heredum, 0.8247) \n", + "7 (sextans, 0.7537) (substituo, 0.7047) (exheredo, 0.8127) \n", + "8 (besse, 0.7414) (extitisse, 0.7023) (heredibus, 0.81) \n", + "9 (semis, 0.7239) (hereditarius, 0.6995) (heredium, 0.8008) \n", + "\n", + " lasla_skip \n", + "0 (coheres, 0.8689) \n", + "1 (hereditas, 0.7901) \n", + "2 (hereditarius, 0.755) \n", + "3 (exheredo, 0.7537) \n", + "4 (hermione, 0.67) \n", + "5 (testamentum, 0.6437) \n", + "6 (hera, 0.6395) \n", + "7 (heraclitus, 0.6349) \n", + "8 (herodes, 0.624) \n", + "9 (hermippus, 0.6217) " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "neighbors('heres', models, 10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.7.5 64-bit", + "language": "python", + "name": "python37564bit13fddfa0140645c199f4c0ad8a176c2c" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/script/neighbours.ipynb b/script/neighbours.ipynb index 85b811f..8182d85 100644 --- a/script/neighbours.ipynb +++ b/script/neighbours.ipynb @@ -87,7 +87,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -120,66 +120,111 @@ " <tbody>\n", " <tr>\n", " <th>0</th>\n", - " <td>(credo, 0.8073)</td>\n", - " <td>(faeneravit, 0.7013)</td>\n", - " <td>(pecuniaris, 0.8476)</td>\n", - " <td>(pecuniarius, 0.8478)</td>\n", + " <td>(lupus, 0.7205)</td>\n", + " <td>(lupus, 0.6588)</td>\n", + " <td>(operosus, 0.6988)</td>\n", + " <td>(perficio, 0.6586)</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", - " <td>(creditrix, 0.7814)</td>\n", - " <td>(mutuus, 0.6952)</td>\n", - " <td>(pecuniaque, 0.8445)</td>\n", - " <td>(pecu, 0.7435)</td>\n", + " <td>(molio, 0.6865)</td>\n", + " <td>(opulens, 0.6097)</td>\n", + " <td>(perficus, 0.6877)</td>\n", + " <td>(opusculum, 0.6526)</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", - " <td>(faenero, 0.7799)</td>\n", - " <td>(faenero, 0.6832)</td>\n", - " <td>(pecuniamque, 0.8443)</td>\n", - " <td>(pecuniosus, 0.7342)</td>\n", + " <td>(demolio, 0.656)</td>\n", + " <td>(nuntiatio, 0.6065)</td>\n", + " <td>(perficio, 0.6823)</td>\n", + " <td>(harpago, 0.6358)</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", - " <td>(debitrix, 0.7699)</td>\n", - " <td>(mutuo, 0.6814)</td>\n", - " <td>(pecuniaeque, 0.801)</td>\n", - " <td>(syngrapha, 0.7096)</td>\n", + " <td>(nuntiator, 0.63)</td>\n", + " <td>(aedificator, 0.5749)</td>\n", + " <td>(artificium, 0.6737)</td>\n", + " <td>(munitio, 0.6333)</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", - " <td>(faeneravit, 0.7622)</td>\n", - " <td>(solverim, 0.6798)</td>\n", - " <td>(Pecuniam, 0.7988)</td>\n", - " <td>(creditor, 0.7093)</td>\n", + " <td>(balneator, 0.6027)</td>\n", + " <td>(aedificatio, 0.5675)</td>\n", + " <td>(opifex, 0.6735)</td>\n", + " <td>(munio, 0.6248)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>(operio, 0.6025)</td>\n", + " <td>(umor, 0.5557)</td>\n", + " <td>(artificiosus, 0.666)</td>\n", + " <td>(oppugnatio, 0.6231)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>(renuntiatio, 0.5985)</td>\n", + " <td>(nuntio, 0.5533)</td>\n", + " <td>(quimus, 0.6628)</td>\n", + " <td>(turris, 0.6168)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>7</th>\n", + " <td>(incorruptus, 0.5983)</td>\n", + " <td>(nuntiator, 0.5514)</td>\n", + " <td>(facio, 0.6571)</td>\n", + " <td>(opifex, 0.5998)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>8</th>\n", + " <td>(columna, 0.5983)</td>\n", + " <td>(novus, 0.5511)</td>\n", + " <td>(opusculum, 0.6563)</td>\n", + " <td>(uallus, 0.5973)</td>\n", + " </tr>\n", + " <tr>\n", + " <th>9</th>\n", + " <td>(nuntiatio, 0.598)</td>\n", + " <td>(opifex, 0.5443)</td>\n", + " <td>(usus, 0.6498)</td>\n", + " <td>(locus, 0.5957)</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ - " digest_skip romtext_skip latinise_skip \\\n", - "0 (credo, 0.8073) (faeneravit, 0.7013) (pecuniaris, 0.8476) \n", - "1 (creditrix, 0.7814) (mutuus, 0.6952) (pecuniaque, 0.8445) \n", - "2 (faenero, 0.7799) (faenero, 0.6832) (pecuniamque, 0.8443) \n", - "3 (debitrix, 0.7699) (mutuo, 0.6814) (pecuniaeque, 0.801) \n", - "4 (faeneravit, 0.7622) (solverim, 0.6798) (Pecuniam, 0.7988) \n", + " digest_skip romtext_skip latinise_skip \\\n", + "0 (lupus, 0.7205) (lupus, 0.6588) (operosus, 0.6988) \n", + "1 (molio, 0.6865) (opulens, 0.6097) (perficus, 0.6877) \n", + "2 (demolio, 0.656) (nuntiatio, 0.6065) (perficio, 0.6823) \n", + "3 (nuntiator, 0.63) (aedificator, 0.5749) (artificium, 0.6737) \n", + "4 (balneator, 0.6027) (aedificatio, 0.5675) (opifex, 0.6735) \n", + "5 (operio, 0.6025) (umor, 0.5557) (artificiosus, 0.666) \n", + "6 (renuntiatio, 0.5985) (nuntio, 0.5533) (quimus, 0.6628) \n", + "7 (incorruptus, 0.5983) (nuntiator, 0.5514) (facio, 0.6571) \n", + "8 (columna, 0.5983) (novus, 0.5511) (opusculum, 0.6563) \n", + "9 (nuntiatio, 0.598) (opifex, 0.5443) (usus, 0.6498) \n", "\n", - " lasla_skip \n", - "0 (pecuniarius, 0.8478) \n", - "1 (pecu, 0.7435) \n", - "2 (pecuniosus, 0.7342) \n", - "3 (syngrapha, 0.7096) \n", - "4 (creditor, 0.7093) " + " lasla_skip \n", + "0 (perficio, 0.6586) \n", + "1 (opusculum, 0.6526) \n", + "2 (harpago, 0.6358) \n", + "3 (munitio, 0.6333) \n", + "4 (munio, 0.6248) \n", + "5 (oppugnatio, 0.6231) \n", + "6 (turris, 0.6168) \n", + "7 (opifex, 0.5998) \n", + "8 (uallus, 0.5973) \n", + "9 (locus, 0.5957) " ] }, - "execution_count": 10, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "neighbors('pecunia', models, 5)" + "neighbors('opus', models, 10)" ] }, { @@ -211,4 +256,4 @@ }, "nbformat": 4, "nbformat_minor": 2 -} \ No newline at end of file +} -- GitLab