BORO Analysis Tools C-FORS Summer School in Foundational Ontology (C-FORS 2025) 23 May 2025 , University of Oslo, Norway Chris Partridge Andrew Mitchell Oscar Xiberta Soto Diego Alberto Zabala Betancur Jonathan Eyre Schedule {5C22544A-7EE6-4342-B048-85BDC9FD1C3A} Morning Sessions 9:00 - 9:05 Session 0 – Introduction 9:05 - 9:45 Session 1 – Context 10:00 - 10:45 Session 2 – BORO Ontology 11:00 - 12:00 Session 3 – Analysis Tools Afternoon Sessions 1:15 - 3:30 Session 1 – Practical Examples 3:30 - 5:00 Session 2 – Examples Discussion / Presentation 2 Structure Overview LOAD: Structured Data Table Migration BORO Top Level Tables EVOLVE Support Tools Space Time Maps Ontological Euler Diagrams BORO UML BORO eXcel Table (Manual) Pipeline BORO KNIME Data Pipeline Project planning 3 Overview Overall goal To provide some ‘practice’ with ontologization interoperability pipelines by recreating the first stage of an ontologization interoperability pipeline With (simple) examples directly experience some of the challenges (in an attenuated form) Probably significantly more ‘practice’ needed before one becomes expert 5 Two practical problems 6 Practical problems lump of clay ISO Countries The focus this afternoon will be on the first problem. If you manage to finish the first problem, the second problem is available. Six BORO Summer School tools Abbreviation Name Stage SDTM Structured Data Table Migration LOAD STM Space Time Maps EVOLVE OED Ontological Euler Diagrams EVOLVE BUML BORO UML EVOLVE BXTP BORO eXcel Table (Manual) Pipeline EVOLVE BKnDP BORO KNIME Data Pipeline EVOLVE 7 NB: This is a list developed for the Summer School. There is a large range of evolving tools, which we have selected from. Note also, our default language/tool is Python not KNIME. KNIME has been selected for its no-code credentials – making it more appropriate here. LOAD: Structured Data Table Migration Principle: shift (data) structure left A goal of the bCLEARer pipeline process is to shift left, as far a possible, the move to structured data enable us to work with machines talking to machines as soon as possible If one starts with unstructured text one needs to structure it with the minimum intervention preserving as much of the explicit structure as possible A good first step is a shift to simple tables the simplicity of their structure helps to keep the structuring clear One goal of Load is to ensure one is working with structured data 9 Structured data table migration 10 SDT unstructured text structured data table Base data table structure 11 Base table composition structure 12 base table composition structure data type structure type table structure element description data item table row composed of cells organised by column data column table column composed of cells organised by row - has a single column heading cell. data cell table cell the intersection of columns and rows - has content Extended data table structure 13 Lump of clay - starting point We start with unstructured text: “There is a lump of clay that, at time t1, is used to make an aesthetically valuable statue. At time t2, the statue is destroyed. At time t3, the same lump of clay is reshaped to make a different statue. This statue is aesthetically valuable too.” NOTE: We do this here and provide you with the results for the practical example. 14 “ There is a lump of clay that, at time t1, is used to make an aesthetically valuable statue . At time t2 , the statue is destroyed . At time t3 , the same lump of clay is reshaped to make a different statue . This statue is aesthetically valuable too.” Lump of clay – migration to table 1 15 “ There is a lump of clay that, at time t1, is used to make an aesthetically valuable statue . At time t2 , the statue is destroyed . At time t3 , the same lump of clay is reshaped to make a different statue . This statue is aesthetically valuable too.” Lump of clay – migration to table 2 16 “ There is a lump of clay that, at time t1, is used to make an aesthetically valuable statue . At time t2 , the statue is destroyed . At time t3 , the same lump of clay is reshaped to make a different statue . This statue is aesthetically valuable too.” Lump of clay – migration to table 3 17 “ There is a lump of clay that, at time t1, is used to make an aesthetically valuable statue . At time t2 , the statue is destroyed . At time t3 , the same lump of clay is reshaped to make a different statue . This statue is aesthetically valuable too.” Lump of clay – migration to table 4 18 Lump of clay - structured data tables – proto time a_collect - Example - lump of clay - stage 1 - proto time.xlsx not typical time data 19 Lump of clay - structured data tables – dataise time 20 a_collect - Example - lump of clay - stage 2 - dataise time.xlsx a_collect - Example - lump of clay - stage 1 - proto time.xlsx NB: added domain knowledge about time granularity ISO Countries 21 a_collect - Example - ISO 3166 - Part 1 -- Country code.xlsx Already structured data (table) BORO Top Level Tables LOAD: Structured Data Table Migration BORO top level tables The top level needs to be introduced to the pipeline Various ways of doing this Here, we add it in directly at LOAD this is done for you in the starter pack We add a simplified table version suitable for the worked examples BORO top level tables - pure 24 {69CF1AB2-1976-4502-BF36-3FF5EA218861} table_names column_1_names column_2_names column_3_names column_4_names Sets bie_ids names Individuals bie_ids names Tuples bie_ids elements-sets bie_ids element_bie_ids set_bie_ids parts-wholes bie_ids part_bie_ids whole_bie_ids sub-super-sets bie_ids sub_set_bie_ids super_set_bie_ids tuple-places bie_ids placing_bie_ids placed_bie_ids place_numbers BORO top level tables - pragmatic 25 {69CF1AB2-1976-4502-BF36-3FF5EA218861} table_names column_1_names column_2_names column_3_names column_4_names Sets bie_ids names Individuals bie_ids names Tuples bie_ids place1_bie_ids place2_bie_ids place3_bie_ids grounding-relation-places bie_ids relation-place- type_names placing_bie_ids placed_bie_ids elements-sets bie_ids element _bie_ids set_bie_ids parts-wholes bie_ids part_bie_ids whole_bie_ids sub-super-sets bie_ids sub_set_bie_ids super_set_bie_ids EVOLVE Broad outline Same process stages for both practical problems Broadly, there is a support process that ‘designs’ the pipeline this has human aspects a primary process that IS the pipeline this is a ‘pure’ machine process the process is executable, repeatable and inspectable Hopefully, building the primary process will help you experience the practice on ontologising a pipeline 27 support tools LOAD EVOLVE EVOLVE - practical problem process 28 SDT primary process The support tools ‘support’ the primary process BKnDP BXTP The Excel Pipeline is used to inform the primary process TOP BUML roundtrip check STM BUML OED Support Tools Four BORO Summer School support tools Abbreviation Name STM Space Time Maps OED Ontological Euler Diagrams BUML BORO UML BXTP BORO eXcel Table (Manual) Pipeline These Summer School ‘tools’ are part of a much wider, richer toolkit They are useful pedagogical devices As often, with practices, once one gains competence with these, one deploys them in innovative radically different ways 30 Space Time Maps Practical problem process 32 LOAD EVOLVE SDT STM STM Segment STMs Focus on Individuals other BORO objects are constructed from (grounded in) Individuals STMs are an intuitive way of visualising the mereology of Individuals in particular the overlap and part hood relations As Individuals (in BORO) have a mereological extensional criteria of identity the ‘extensional’ two-dimensional surface of a page (or screen) has sufficiently similar characteristics to represent ‘directly’ (visually) the mereology humans find this a useful tool 33 Purpose of STMs STMs are typically used as a first stage of analysis, where in the second stage these are translated into a BORO model STMs provide an easy way to visualise 4D elements in a domain and as such are a useful way to start understanding them The STM visualisation aims to abstract the individuals to their mereological essentials Too time consuming to draw for the whole domain so, collect representative examples of important ‘typical’ mereological relations these are candidates for STMs 34 Individuals in BORO BORO is an extensional ontology the criterion of identity for Individuals is mereological (spatio-temporal) extension or more colloquially four-dimensional (4D) 35 Van Inwagen’s space-time diagrams 36 Van Inwagen, P. (1990). Four-Dimensional Objects. Noûs , 24(2), 245. Not that usual, but STMs appear in various places. In this case, not quite the same, less focus on exact mereology. Three components of an STM Individual 37 A region representing a spatio -temporal extent A border around the region – the contour – marking the region as representing an Individual A string of letters labelling the Individual A A The Gergonne five possible extensional relations {5C22544A-7EE6-4342-B048-85BDC9FD1C3A} coincident contained overlap contains disjoint “if and only if every a is a b and every b is an a” “if and only if every a is a b and not every b is an a” “if and only if it is not the case that either every a is a b or every b is an a or no a is a b” “if and only if every b is an a and not every a is a b” “if and only if no a is a b” 38 Based upon: J. A. Faris - The Gergonne Relations - The Journal of Symbolic Logic, Vol. 20, No. 3 (Sep., 1955), pp. 207-231 based upon : J. D. Gergonne, Essai de dialectique rationelle , Annales des mathematiques pures et appliquees , Vol. 7, (1817). The Gergonne relations give the five possible ways in which two objects can simply share extension style.visibility How to recognise STMs Clues to look for space axis along the left side of the page time axis across the bottom of the page reference frame contained within the axes Individual rectangles (shapes) in the reference frame 39 Individual #1 SPACE TIME Lore ipsum Individual #2 Has space arrow up the page Has an STM reference frame Has STM Rectangles in the reference frame Has time arrow up the page Patterns: overlap 41 Figure 8.14: Car tyre change space-time map From Business Objects: Re-engineering for Reuse How to read STMs The 2D reference frame picks out the relevant fragment of the 4D domain The domain’s objects are shown as boxes a box’s boundary represents the Individual’s real boundary boxes’ containment, overlap, etc. show the mereological relationships between Individuals a box’s name helps to further identify the Individual 42 Ontological Euler Diagrams Practical problem process 44 LOAD EVOLVE SDT OED Euler not Venn diagrams 45 https://xkcd.com/2721/ A Venn diagrams show all combinations (even impossible ones). Types in a BORO foundational ontology Sets’ identity relations from an ontological perspective, these will exist simpliciter from an epistemic perspective, we may or may not know whether these exist an ontological picture should not contain epistemological elements to handle this issue, for the topic of the Euler diagram we make a set identity relation omniscience assumption in other words, all the identity relations between sets are known With this assumption, it makes sense to adopt the ‘Existential Import Convention’ where adding a region to the Euler diagram implies that it exists in other words, it has members 46 Sets in a BORO foundational ontology In BOROs’ extensional ontology given a Set’s identity is grounded in its members then the way in which two Sets’ identity can be related are broadly with the same members are identical with different members are not identical that share members are partially identical with no members in common are disjoint 47 Three basic extensional set patterns – for two sets There are only three ways two sets can be ‘identity’ related 48 Figure 10.15 - Pattern for classes From Business Objects: Re-engineering for Reuse A region representing a collection of objects Three components of an Euler set 49 A circle around the region marking the region as representing a type – the contour A string of letters labelling the type A A Example simple order type OEDs Cities Car Types Minis Beetles Rovers Paris Legend Set (Set) Individual Set (element) London Capital Cities New York element-set sub-super-set Optional 50 style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility Type ascending 51 Set (Set) Individual Set (element) Legend Set (Set) Individual Set (element) Identity element-set sub-super-set Optional style.visibility style.visibility OED powerset pattern: two member types {England, Scotland} P({England, Scotland}) {England} {England, Scotland} {Scotland} Scotland England Legend Set (Set) Individual Set (element) Identity power-element-set element-set sub-super-set Optional 52 style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility Multiple order patterns: OED powerset pattern {England, Scotland, Wales} {England} {England, Scotland} {Wales} {Scotland, Wales} { England,Wales } {Scotland} England Wales Scotland P({England, Scotland, Wales}) {England, Scotland, Wales} 53 style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility style.visibility BORO UML Practical problem process 55 LOAD EVOLVE SDT TOP BUML STM BUML OED Background BUML is the BORO variant of UML We use UML notation to visualise BORO ontological structure UML classes UML generalizations, dependencies, n-ary associations and associations In addition, we make use of stereotypes, for various purposes, e.g., to indicate the ontological category of the represented objects All of these are used with a specific sense, which sometimes may deviate from the UML conventions. The BUML sense is defined by the underlying constructional semantics We use Enterprise Architect to draw diagrams, but other software options are available 56 Use of UML notation Use of UML classes 58 We use UML classes to represent sets, e.g., sets of Countries. Use of UML classes 59 Sometimes, sets contain higher-order objects, like tuples. Sets may also contain sets. Stereotype <<placeable sets>> refers to the ontic category of the represented objects, But we do not expect you to follow this convention in your work study. Stereotype << PowerSets >> refers to the ontic category of the represented objects, But we do not expect you to follow this convention in your work study. Use of UML classes 60 Stereotype <<Individuals>> shows the ontic category of the represented object, we do not expect you to follow this convention in your work study. Also we use UML classes to represent Individuals. Use of UML dependencies 61 Dependency link shows element-sets (tuple). Kingdom of England Countries Use of UML generalizations 62 Generalization link shows sub-super-sets (tuple). Countries Geo-political Areas Use of UML dependencies and generalizations 63 Countries Geo-political Areas Kingdom of England Patterns Parts-wholes - basic pattern 65 UML composition shows part-whole (tuple). <<place1>> and <<place2>> association stereotypes show, respectively, the whole and the part. Kingdom of England Island of Great Britain strict = proper (excl. identity) Parts-wholes - full pattern 66 Kingdom of England Island of Great Britain parts-wholes includes identity tuples, e.g., <London, London>. strict parts-wholes is a set of tuples, so it can have supersets (and subsets). <<part>> and <<whole>> association stereotypes show, respectively, the whole and the part. Temporal stages – basic pattern 67 UML composition shows the temporal-stages (tuple). Kingdom of England Kingdom of England (927-1707) Temporal stages – full pattern 68 country strict temporal stages of is a set of tuples, so it can have supersets (and subsets) Kingdom of England Kingdom of England (927-1707) Powerset pattern 69 dependency stereotype shows the set and its powerset set of geopolitical areas set of all subsets of set of geopolitical areas Powerset pattern – implicit tuples 70 Dependency shows implicit element-set (tuple). BORO eXcel Table (Manual) Pipeline Practical problem process 72 LOAD EVOLVE SDT BXTP TOP BUML STM BUML OED Micro transformation pipeline architecture Define by contrast not a single monolithic structure for example, a single complex transformation between two schemas Pipeline consists of a network of simple micro transformations the micro transformations are: algorithmic – they can be coded simple to allow for maximal inspectability are repeatable aim to be reusable there is an ‘art’ to finding high levels of reusability 73 ‘Formal’ transformation patterns Repeatable, reusable ‘formal’ patterns can use same computer code with enough work 74 LOAD – bie- ise identifier pattern 75 A column is added to the beginning of the table Its name is ‘ bie_ids ’ The cells uniquely identify the row of the table No changes are made to the other columns Column split pattern 76 Note: the identifying bie_ids column is ‘inherited’ by both split tables. The pattern of inheritance can be of two types. Identifier preserving Identifier introducing. This is driven by the intuition of the intended identity. Row split pattern 77 Typically: The column heading row is in ALL output tables. The output tables all have the same format All rows are in one or other of the split tables. Implicit foreign key bie-ise pattern – stage 1 – add bie_ids 78 Add bie id to new column Match the value in the Foreign table Some columns will be foreign keys This needs to be made explicit Implicit foreign key bie-ise pattern – stage 2 – remove original columns 79 Table-Column heading pushdown pattern 80 Add table to Objects Add row to Objects And add the relations Tables and column headings can represent objects Useful to have these as rows in the domain. BORO KNIME Data Pipeline Practical problem process 82 support tools LOAD EVOLVE SDT primary process BKnDP BXTP Goal To attempt to automatically (using a machine/computer) transform the input into the designed output acquire a feel for the constraints upon these kinds of machine pipeline transformations the nature of these kinds of machine pipeline transformations To attempt to build reusable micro transformations acquire a feel for the reuse economics of transformation patterns 83 BORO KNIME Data Pipeline The ‘BORO eXcel Table (Manual) Pipeline’ should provide a sufficiently detailed specification of most of the micro transformations the KNIME is an implementation of the specification Developing the code to execute the transformation automatically should clarify the formal moves that need to be made 84 Knime top level – bCLEARer stages 85 Knime COLLECT – done 86 Knime LOAD – done 87 Knime Evolve – work in here 88 Project planning Suggested project planning Remember everything is on GitHub Suggest you plan your ‘project’ probably better to do a little of each task, rather than just complete the first few Task order – earlier tasks feed into later tasks STM OED BUML BXTP BKnDP Try to do at least 1, 2 and 4 if you can, try a little 5 (block out the last half hour to try) Remember task 5 has starter code 90 Questions 91
BORO Research
BORO Analysis Tools
22 May 2025Presented at C-FORS 2025, C-FORS Summer School in Foundational Ontology, 20-23 May 2025, Oslo, Norway
Overview
This is the third in a series of three presentations for the Oslo Summer School. It was intended to introduce the BORO analysis tools to be used in the practical problems to be undertaken by the participants.
It was also specifically aimed at providing some ‘practice’ with ontologization interoperability pipelines by recreating the first stage of an ontologization interoperability pipeline with (simple) examples. This was done in the hope that the participants would directly experience some of the challenges (in an attenuated form). The tools covered were:
Structured Data Table Migration
Space Time Maps
Ontological Euler Diagrams
BORO UML
BORO eXcel Table (Manual) Pipeline
BORO KNIME Data Pipeline
