# PMD Ontology Hackathon No. 3
## Links
This document (share link): <br> [https://hackmd.io/@nd_ksvfTTISd9bwYNERWLw/BJFXq_5Tlx](https://hackmd.io/@nd_ksvfTTISd9bwYNERWLw/BJFXq_5Tlx)
Corresponding GitHub repository: <br> [https://github.com/materialdigital/ontology-hackathon-3](https://github.com/materialdigital/ontology-hackathon-3)
PMD Core Ontology GitHub repository: <br> [https://github.com/materialdigital/core-ontology](https://github.com/materialdigital/core-ontology)
Issues for PMDco (partly created during Hackathon): <br> [https://github.com/materialdigital/core-ontology/issues](https://github.com/materialdigital/core-ontology/issues)
Documentaion of PMDco <br> [https://materialdigital.github.io/core-ontology/docs/](https://materialdigital.github.io/core-ontology/docs/)
## Basic information
This HackMD is intended to capture minutes and information on the third PMD Ontology Hackathon.
There is a [GitHub repository dedicated to this Hackathon](https://github.com/materialdigital/ontology-hackathon-3, as well (cross-referencing between this HackMD file and the repository...) which is supposed to contain further information.
This took place at BAM, [Unter den Eichen 87, 12205 Berlin](https://www.google.com/maps/place/Bundesanstalt+f%C3%BCr+Materialforschung+und+-pr%C3%BCfung+(BAM)/@52.443006,13.2851092,17z/data=!3m2!4b1!5s0x47a85a437c0d81c1:0x33d4b454b923d2ad!4m6!3m5!1s0x47a85a672f774e93:0x4013d2e5d3b32d77!8m2!3d52.443006!4d13.2876841!16s%2Fg%2F11bw46skmt!5m1!1e1?entry=ttu&g_ep=EgoyMDI1MTAwOC4wIKXMDSoASAFQAw%3D%3D) at October 13 to 15, 2025, under the umbrella of the Platform MaterialDigital ([PMD](https://materialdigital.de/)).
***Some further information on the venue:***
There is a canteen available @ BAM. The menu (constantly updated) can be found [here](https://www.gastfroh.de/resources/speisekarten/bam.pdf).
Complimentary coffee and snacks are provided during the event. Lunch on the second day, October 14, is also complimentary. A mutual dinner is scheduled for the second day, as well, which is on own costs.
### Dinner
There is a dinner on the second day of the hackathon, Tuesday, October 14, 2025, which we be in the restaurant [Asami XI](https://www.google.com/maps/place/Asami+XI/@52.4512733,13.3184517,17z/data=!3m1!4b1!4m6!3m5!1s0x47a85be8ae6e17ab:0x820a929ef7be3d1e!8m2!3d52.4512733!4d13.3210266!16s%2Fg%2F11rw_wbhpk!5m1!1e1?entry=ttu&g_ep=EgoyMDI1MTAwOC4wIKXMDSoASAFQAw%3D%3D) in Birkbuschstraße 11, 12167 Berlin.
## Agenda
### Day 1 | October 13
| Time | Activity |
|------------|---------------------------------------------------------------------------|
| 12:00 PM | Registration and Get Together |
| 1:00 PM | Welcoming / Motivation *(BAM / HAP “Semantic Interoperability” lead)* |
| | Introduction Round (all) |
| | Fixing the Agenda |
| | Find Working Groups |
| 2:00 PM | Coffee Break |
| 2:15 PM | Introduction to PMDco (all) |
| | Structure, Concepts, Releases, Discussions |
| 3:15 PM | Coffee Break |
| 3:30 PM | Group Sessions |
| | Topic 1: Modelling of Materials on different scales |
| | Topic 2: Modelling of Processes |
| | Topic 3: MSE Glossary / Taxonomy |
| | Topic 4: Use Case |
| | Topic 5: Intro to Ontologies |
| | Topic 6: Improvement of Documentation |
| 6:00 PM | Presentation of first results (all) |
| 7:30 PM | End of the day |
### Day 2 | October 14
| Time | Activity |
|------------|---------------------------------------------------------------------------|
| 9:00 AM | Parallel Group Sessions |
| Right corner | Topic 1 – Modelling of Materials on different scales |
| Plenum | Topic 2 – Modelling of Processes |
| Upstairs | Topic 3 – MSE Glossary / Taxonomy + Use Case |
| Left corner | Topic 4 – Documentation |
| 11:30 AM | Plenum: Show your pull requests, Part 1 |
| 12:15 AM | Group Picture |
| 12:30 PM | Lunch @ BAM Canteen |
| 1:40 AM | Plenum: Show your pull requests, Part 2 |
| 3:00 PM | Continued Sessions |
| | Expert Round / Discussion |
| 3:30 PM | Coffee Break |
| 4:00 PM | Continued Sessions |
| 4:45 PM | Coffee Break |
| 5:00 PM | Plenum: Presentation of results from Group Sessions |
| 7:00 PM | Dinner @ restaurant [“Asami XI”, Birkbuschstraße 11, 12167 Berlin]() *(at own cost)* |
### Day 3 | October 15
| Time | Activity |
|------------|---------------------------------------------------------------------------|
| 9:00 AM | Teamwork |
| Plenum | Expert Round |
| | Fixation of Results |
| | Deliverables |
| Plenum | What’s Next? / Set up future (online) meetings |
| Plenum (time & mood permitting) | Coffee Break(s) |
| 11:15 AM | Wrap up |
| 12:30 PM | End of Hackathon |
## Minutes | Day 1
Ontology Design
- Modelling of materials at different length scales
- Modelling of processes (e.g. change of quality..)
- MSE Glossary /taxonomy (where to trim the current PMDco, what crucial things are lacking to include etc.)
PMDco Organization
- Roadmap: What we need for the release; what are the must...
- Improvement of documentations procedure, for what and how to use PMDco…
- Process of admission of new proposals into the mid-level ontology(committee judging/deciding etc.)
PMDco in Practice
- Short intro to pmdco, structure, otnologies, relations to knowledge graphs etc.
- How to use PMDco for applications (creation of domain / application ontologies), e.g., external collaborators in need of solutions based on PMDco
## Groups
During the Hackthon, based on the topics identified relevant, 5 different groups were formed:
1. Modelling of materials on different scales
2. Modelling of processes
3. MSE Glossary / Taxonomy + Use Cases
4. Introduction to ontologies
5. Documentation
Please note that, initially referred to as 2 different topics, "MSE Glossary / Taxonomy" and "Use Cases" were regarded in one combined group (Group 3 as referred to in the previous selection).
### Group 1: Modelling of materials on different scales
The concepts of phase, boundaries and other material properties were discussed. The usage of the concept of phase (spatial) was clarified ([associated issue in PMDco](https://github.com/materialdigital/core-ontology/issues/183)).
#### Results
- new classes in PMDco
- modelling approaches
### Group 2: Modelling of processes
Starting with ideas and discussions on process attributes, such as introducing the class of "temperature rate" as an example for classic process rate modelling, a discussion on the desciption of and axiomization around materials, portion of matter and portion of material was started. Particularly, a pattern usable to describe qualities of materials was provided ([Issue 182 in Core Ontology](https://github.com/materialdigital/core-ontology/issues/182)). In this respect, intensive and extensive qualities principally connected to materials were discussed. As a result, a portion of matter is defined by being able to be linked to intensive qualities only.
#### Results
- issue in core ontology GitHub repo
- modelling approaches
- redefined class definitions
- new classes to PMDco
### Group 3: MSE Glossary / Taxonomy + Use Cases
In this group, specific domain / application ontologies and based thereon, certain modelling issues were addressed. In particular, this raised a modelling decision issue on where the conceptualization of the PMDco should stop and further concepts being provided down the hierarchy should be present in domain / application ontologies. This is a fundamental decision, since this will affect all material classes and the general modelling.
#### Results
- roadmap for alignment of (domain / application) ontologies
- new classes in PMDco: specific roles, information on composites
- need to connect (new, specific) classes to each other via relevant object properties
- some still missing concepts were identified, such as: tensors, vectors
- a "mathematical ontology" was identified, that could probably be used for this or at least give some hints towards this issue
- [issue in PMDco](https://github.com/materialdigital/core-ontology/issues/184) created for the clarification of multiple inputs and outputs to processes that refers to a [Miro Board pattern visualization](https://miro.com/app/board/uXjVNOTPrFo=/?moveToWidget=3458764632924068401&cot=14)
#### Notes
Main Aspects identified:
- Steel Ontology needed -> PMD-X Mapro
- Align OntoMat and extend -> PMD-X EDCAR
- AAS Vocabulary (DPP) (IN Out of X Dataspaces)?
Notes:
- Alexadrue (there is Documentation of DPP in PMDco), Supply Chain of Concern, Interaction with Standard, Term lookup DIN
CopperDigital (DPP in PMDco), Rework DIN Terminalogy Servies (semantic Terms of DIN not in View still)
- As long u Reference the definition of in Standard we can use it in Ontology, for ISO u have to ask for Permission
- MatPortal still runinng might be usefull for this (MCP Services for Ai integration comming up)
Industrie Ontologies:
- immerging intrest of industry to publish ontologies (IDO Industrial Design Ontology is the Core)
- Pharma IDMP Ontology (Bayer, Roche)
Term Definitions and Aligments:
- Alexadrue Presatations showed the diffent aspects Terms in Ontologies should cover in Standards (Sounds reasonable to increate the Quality of Term definitions) ISO 704, ISO 1087,ISO 680, ... (he said there up to 30)
Suggested Workflow or ingesting Term Definitions and Annoucing new Terms see (Slides)
1. Find Term Candidate or Define it
2. Adoption and Verbal Attribution (Definition concering target Standard, Copyright Clearance)
3. Term Review (Peer Review and Consonesus Building)
4. Vote on it! (14 days period, democratic voting 60%, ...)
UpComming is AI assistet Lookups
- Alexadrue brifly introduced MatPortal.org
OntoMat process allign to PMDco
- IDO based, similarity to BFO high
- specific Composite (IDO Composite)
- Structure of Qualities
- dealing with material states (liquid, solid)
- aligment for Ontolgy Expert works. (by BFO)
Patrik S. Indroduction to PMDco (incomplete) IDO, QUDT, PROV-O
- Scetching Patterns of Ontology to be aligned
- IDO pretty BFOish Functions and parthood
- Datums and Quantities distingusenish is sometime hard
- Mix of Specifications and real Material Objects (compare to Material Objects and Potions of mater)
- CAS Ienifierers needed
- Composite (quaified Relations) Matrix Reiforcment
How to Align
- Compare Paterns (Draw them)
- Get a Clear understanding were to Hook into PMDco
- Things that need Comunity interaction and broader Audicance to takle Completness need to be in Domain/application Ontology
- lookup metadata tags in PMDco for complimenting Ontologies -> Lookup - Polymer Domain Ontology (urgent to do)
- Overlapping Concept between Domain/application Ontologies can be shared but MUST remain UNCHANGED
- Conservativ Extension! Rule for forming Axioms (they should not cross propergate) - We must think about this MORE -> We need a Rule to help People
- You MUST use PMDco Entities first
- U MUST NOT change or extend Axioms of the PMDco - be careful about equality
- For Material Properties u HAVE to distingusenish Qualities, relational Qualities and Ralizable Entities, the find the PMDCo Class to hook under
Conclusions PMDco:
- maybe all roles are transitve? Matrix Filler Roles seam to be! We need to check of roles can be transitiv in general
- parthood propagation in primary shaping and joining process in PMDco
- Measured taken like Young Modules concretizing Stiffness should be GDCs (Yes or No)
- we need Vectors, Tensors and Matrix as GDCs - Clean up Representation of Numbers (Symetries included)
- spartial regions must have coordinate system capabilitys (definitins like mayor minor axis - lateral axis of the material object)
- thermo dynamic realizable entities
- material models (set of specifialtions?) - we need a mechanismen for compliance checks
#### ToDo
- Alignment Guide for Beginners and establshed Ontlogies to PMDCo
- Move Steel related entities from PMDco to Steel Ontology and develop further in PMD-X Mapro
- Align OntoMat and propably separate into Composite and Polymer Ontology
### Group 4: Introduction to ontologies
This group met to onboard especially ontology beginners. They worked on the Pizza Tutorial.
This group was finished and thus closed after about 3 hours the first day.
#### Results
- well informed people, now being able to extensively contribute to ontology modelling
### Group 5: Documentation
This group was collecting all material necessary to principally onboard people to ontologies, in general, and our PMD ontologies, in particular.
As a main result of this group, a document to refer to by new visitors of PMD as well as a reasonable description on how to work with (PMD) ontologies is supposed to be created. This document shall be addressable by a URL and prominently linked on the PMD website - so, a website is needed (revise the existing page on [materialdigital.de](https://materialdigital.de) or create new one.
#### Results
- list of tasks to do on and resources required for further documentation
- user stories were created to guide people through the documentation and processes
- pattern / diagram giving an overview on required ressources (semantic patterns means "building blocks" for knowledge graph creation)
- this demands action, e.g. on the creation of semantic patterns
- hence, we need a "terminology service" and a "pattern service" that are user-friendly
- patterns need to be created
- patterns store shall be available
- handling of patterns needs to be well documented
- contact information needs to be there
- this seems to be a general issue at the moment: no sufficient mentioning of contacts
- ideas on redesigning the / creating a landing page
## Further Topics
In this section, topics brought up during discussions but that we were probably not able to talk about are gathered.
- PMDco Scope
- Granularity & Modularization of PMDco
- decide on which is the last level of concepts that have to be in PMDco and where to cut off
- ***this was partly regarded in the group dealing with the ontology alignment and use cases***
- Panel on maintenance / curation of concepts in PMDco
- needs to be created
- how decides (community decision) on whether terms / classes will be added to or changed in PMDco
## Deliverables / Results
## Objects, Materials and their qualities
Core problem: objects consist of material and have certain qualities. There were three proposed solutions
### Proposal 1 -- Using classes:
An object and the material it consists of are the same entity. I.e. a statue is at the same time a statue and a protion of material.
```mermaid
flowchart TB
s1[this-portion-of-steel] -- a --> PortionOfSteel
p1 -- has input --> s1
p1 -- a --> RollingProcess
s2[this-portion-of-steel] -- a --> PortionOfSteel
p1 -- has output --> s2
```
A problem arises when a process alters the material an object consists of -e.g. a baking process. An entity cannot change its class membership over time. So, a new object has to be created
```mermaid
flowchart TB
s1 -- a --> PortionOfClay
s1[this-statue] -- a --> Statue
p1 -- has input --> s1
p1 -- a --> BakingProcess
s2[this-other-statue] -- a --> Statue
s2 -- a --> PortionOfCeramics
p1 -- has output --> s2
```
**Rejected for the time being:** This proposal requires that every process create a new object that has qualities that are mostly equal to the original object. This will cause a lot of redundancy in the knowledge graph.
### Proposal 2 -- Using "Consists Of" :
The object and its material are considered different entities. Either may have qualities.
```mermaid
flowchart TB
s1[this-ingot] -- a --> Object
s2[this-sheet] -- a --> Object
m1[this-portion-of-steel] -- a --> PortionOfSteel
s1 -- consists of --> m1
s2 -- consists of --> m1
p1 -- has input --> s1
p1 -- a --> RollingProcess
p1 -- has output --> s2
```
This also works for processes that alter the material
```mermaid
flowchart TB
s1[this-statue] -- a --> Statue
m1[this-portion-of-clay] -- a --> PortionOfClay
s1 -- consists of --> m1
p1 -- has input --> s1
p1 -- a --> BakingProcess
s2[this-other-statue] -- a --> Statue
m2[this-portion-of-ceramics] -- a --> PortionOfCeramics
p1 -- has output --> s2
s2 -- consists of --> m2
```
However, it is not clear which qualities a certain measurement measures.
```mermaid
flowchart TB
s1[this-ingot] -- a --> Object
s2[measurement] -- a --> InformationContentEntity
m1[this-portion-of-steel] -- a --> PortionOfSteel
q1["density-quality"] -- a --> Quality
s1 -- consists of --> m1
s2 -- is about --> m1
p1 -- has input --> s1
p1 -- a --> DensityMeasurement
p1 -- has output --> s2
q1 -- quality of --> s1
q1 -- quality of --> m1
```
**Rejected for the time being:** This proposal introduces the problem that the object and its material occupy the same space. This overlap blurs the identity of both entities. Does the object have density, or does the material it is made of have density? Both cannot share density, since `has quality` is functional.
### Proposal 3:
Objects and their materials are identical, but objects can have different states in time. The material constitution of an object is a quality of that object.
```mermaid
flowchart TB
s1[this-piece-of-steel] -- a --> Object
s1 -- a --> NonTemporalStateEntity
s1 -- has quality --> chemical-makeup -- a --> MadeofSteelQuality
s1t1["this-piece-of-steel@t1"] -- a --> TemporalStateEntity
s1t2["this-piece-of-steel@t2"] -- a --> TemporalStateEntity
s1 -- hasState --> s1t1
s1 -- hasState --> s1t2
p1 -- has input --> s1t1
p1 -- a --> RollingProcess
p1 -- has output --> s1t2
```
Only changes that alter an object under some (subjective) identity criterion create new objects.
```mermaid
flowchart TB
s1[this-statue] -- has_quality --> chemical-makeup-1 -- a --> MadeofClayQuality
s1 -- hasState --> s1t1["this-statue@t1"]
p1 -- has input --> s1t1
p1 -- a --> BakingProcess
s1 -- hasState --> s1t1["this-other-statue@t2"]
s1 -- a --> Statue
s2[this-other-statue] -- a --> Statue
s2 -- has_quality --> chemical-makeup-2 -- a --> MadeofCeramicsQuality
s2 -- hasState --> s2t2["this-other-statue@t2"]
p1 -- has output --> s2t2
```
### Pattern 1: Qualities changing over time
```mermaid
flowchart TB
d_1 -- a --> Furnace
d_1 -- participates in --> p_1
Forging -- SubClassOf --> Process
o/at/t_1["o@t_1"] -- input --> p_1
o/at/t_1 -- a --> TemporalStateEntity
o/at/t_1 -- exists_at --> t_1
o/at/t_1 -- has_quality --> thickness_1
p_1 -- a --> Forging
p_1 -- output --> o/at/t_2["o@t_2"]
o/at/t2 -- derived from --> o/at/t_1
o/at/t_2 -- exists_at --> t_2
o/at/t_2 -- a --> WroughtMaterial
o/at/t_2 -- has_quality --> thickness_2
o/at/t_2 -- a --> TemporalStateEntity
o/at/t_2 -- input --> p_2
p_2[thickness-nonaltering-process] -- output --> o/at/t_3["o@t_3"]
o/at/t_3 -- derived from --> o/at/t_2
o/at/t_3 -- has_quality --> thickness_3
o/at/t_3 -- a --> TemporalStateEntity
o/at/t_3 -- exists_at --> t_3
o/at/t_3 -- input --> p_3[chemical_makeup_altering_process_1]
p_3 -- output --> o/at/t_4["o@t_4"]
o' -- derived from --> o
o/at/t_4 -- exists_at--> t_4
o/at/t_4 -- a --> TemporalStateEntity
o -- a --> Atemporal-State-Entity
o -- has state --> o/at/t_1
o -- has state --> o/at/t_2
o -- has state --> o/at/t_3
o' -- has state --> o/at/t_4
o -- has quality --> chemical_composition
o -- a --> Object
o -- a --> Alloy
chemical_composition -- a --> Quality
```
Outcome: Proposal 3 was endorsed as result of the discussions during the hackathon.
### Results: Changes in Protégé / Discussion
- "*Portion of matter*" was revised by renaming ("*portion of material*") and changing its definition
- has (only) intensive qualities
- disjoint to object, fiat object part and object aggregate
- "*material*" is a subclass of "*portion of material*"
- following a decision on modelling: a cup is an instance of type "*object*" AND an instance of type "*ceramics*"
- changes of qualities of instances are modelled in accordance with the [Pattern 1](#pattern-1-qualities-changing-over-time) (see above)
- we need 3 definitions of phases: spatial, thermodynamic, metallographic (PMDco GitHub repo [issue 183](https://github.com/materialdigital/core-ontology/issues/183))
- roadmap on documentation improvement was developed
- mapping of Siemens ontology (an application ontology) to PMDco was addressed
- this seems to be possible straight-forward
- will be performed (manually) in PMD-X projects
- for finalizing, support by core teams member(s) is needed
- mapping of StahlDigital ontology is hard since it is not developed in accordance with the PMDco standards
- will have to be revised
- workflow group advancements: inputs and outputs were talked about to use them correctly in workflows
- patterns for this were created
- this helps in pyiron/semantikon (pull request in the corresponding GitHub repo: [PR semantikon #278](https://github.com/pyiron/semantikon/pull/278))
## Still to be done
This is a summary from the tasks referred to in this document.
**Ontology modelling, scoping, alignment**
- Refer to issues in PMDco repository
- Decide where PMDco’s conceptualization ends and where domain/application ontologies begin.
- add missing concepts from mathematics, such as tensors, vectors (supported by any existing mathematics ontology?)
- revise the minimal profile annotations to be able to create the mvp PMDco version ([PMDco GitHub repo issue 187](https://github.com/materialdigital/core-ontology/issues/187))
**Documentation and Communication**
- Create a comprehensive documentation page (including landing page) for onboarding and guiding new PMD users
- Host the documentation online, either by revising [materialdigital.de](https://materialdigital.de) or creating a new site (GitHub?).
- Develop and document semantic patterns (building blocks for the knowledge graph):
- Create a **terminology service** and **pattern service** that are user-friendly.
- Build and maintain a **pattern store**.
- Document the **handling of patterns** clearly.
- Add and maintain contact information for contributors and key persons
**Governance & Maintenance**
- Establish a panel for the maintenance and curation of PMDco concepts
- Define community-based decision procedures for adding or changing terms/classes in PMDco