Howdy!
I wanted to share an idea that could streamline the early stages of ontology development and enhance flexibility as a project evolves.
The Problem:
- Whenever I start a new project, I tend to get overzealous and overload a certain object type with too many properties.
- I find this to be a practical trade-off at the start – rather than spending time building out 20 granular objects, I stick with mostly stripped down simple objects but tend to have 1-2 “overloaded” objects.
- However, as the project progresses, it becomes clear that these overloaded objects start to feel bloated, and managing them becomes inefficient.
- I’d love a way to organically refactor these objects without losing momentum.
Proposed Solution:
From Ontology Manager:
- Select multiple properties from an overloaded “parent” object and dynamically extract them into a new “child” object.
- As part of this process, the system could prompt to automatically create a foreign key link between the parent and child objects.
- This way, I could progressively build out my ontology without needing to meticulously plan for long-term scalability upfront. (start broad, refine as necessary)
Example:
3 simple objects
- Soldier
- Soldier id
- Name
- Rank
- Unit
- Operation
- Operation id
- Name
- Start date
- End date
- Location
- Training
- Training id
- Title
- Date
- Description
1 initial overloaded object
- Solider performance
- Solider id
- Special skills
- Certifications
- Marksmanship score
- Award records
- Deployment history
- Mission count
- Combat readiness rating
- Discipliner notes
- Leadership rating
- Fitness test score
3 peeled / refactored child objects
- Training records
- Solider id (foreign key)
- Special skills
- Certifications
- Marksmanship score
- Award history
- Solider id (foreign key)
- Award records
- Deployment record
- Solider id (foreign key)
- Deployment history
- Mission count
- Combat readiness rating
1 remaining parent object
- Solider performance
- Solider id
- Discipliner notes
- Leadership rating
- Fitness test score
Conclusion
- I’d love to hear your thoughts – does this resonate with anyone else’s experience?
- Is there something that already exists that can help me?
- Would this feature make your ontology development workflow smoother? Or does this say something about how I am going about building out my ontology?
- For “successful” implementations of foundry products, is there an “average number of objects” each with an “average number of properties/links” (almost like an ontology geometry) or is it too situationally dependent?
- Thanks!