Theory — The Turtle file
Architecture of medacore.ttl
The Turtle file displayed below represents the entirety of the logic required by the reasoner. Let's break it down architecturally:
- The Core Metadata Header: Notice the ontology IRI, combined with the
owl:versionIRIand copyright license. By mapping this to aw3id.orgPersistent URL (PURL), we create an immutable, globally resolvable web identifier that we completely control, without worrying about specific DNS registrar lock-ins. - The Foundational Classes: We define the six primary entities. Crucially, four are wrapped in an
owl:AllDisjointClassesaxiom. This provides powerful safety: it's mathematically impossible for an entity to be simultaneously registered as anAdverseEventand aDrugExposure. Any bad data attempting this will trigger an immediate logical contradiction alert. - Semantic Properties: Object and datatype properties establish the edges of our graph, secured by explicit
rdfs:domainandrdfs:rangedesignations. (Remember: In OWL, domain/range act as inference engines to classify unknown nodes, NOT as validations to block bad data. We rely on SHACL for validation.) - The Defined Classes (The Magic): This is where the magic happens. We build logically compound classes like
:SeriousAdverseEventand:ReportableCase. The reasoner will dynamically classify instances into these groups. This is the literal embodiment of MedaCore's regulatory business rule.
Hands-On Experiment
Go into the playground editor below. In the data file, change the severity from "severe" to "moderate". Re-run the reasoning engine. You will dynamically observe that the event is gracefully demoted from the SeriousAdverseEvent classification, and consequently falls out of the ReportableCase bucket entirely. That transparent, unbroken traceability is your auditable inference chain.