Skip to main content

Semantic Reasoning Engine Ontology

Semantic Computing
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 06 October 2026
Audio Overview
FLOW ALGEBRA
Ontology Engineering Ontology
Kireth Semantic Research Archive

PAGE:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/semantic-computing/ontology-engineering-ontology-2.html

AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)

FLOW "OntologyEngineeringOntology" v4.0

DOMAIN := ComputingOntology
SUBDOMAIN := SemanticComputing
ONTOLOGY := OntologyEngineeringOntology

ENTITY OntologyEngineering {
    definition:
        "The systematic design, construction, evaluation, maintenance and
         evolution of ontologies that explicitly represent concepts,
         entities, properties, relationships, constraints and semantic
         commitments within a domain.";
    objectives: [
        ConceptualModelling,
        SemanticConsistency,
        KnowledgeReuse,
        Interoperability,
        FormalRepresentation,
        OntologyValidation,
        ControlledEvolution
    ];
}

OntologyEntity := {
    Ontology,
    Concept,
    Class,
    Instance,
    Property,
    Relationship,
    Axiom,
    Constraint
};

EngineeringEntity := {
    Requirement,
    CompetencyQuestion,
    OntologyModule,
    DesignPattern,
    Mapping,
    Version,
    ChangeSet,
    Evaluation
};

SemanticEntity := {
    Vocabulary,
    Definition,
    Identifier,
    Namespace,
    Annotation,
    Provenance
};

LifecycleStage := {
    Specification,
    Conceptualisation,
    Formalisation,
    Implementation,
    Evaluation,
    Publication,
    Maintenance,
    Evolution
};

Ontology DEFINES ClassesAndProperties;
Class MAY_SUBCLASS_OF OtherClass;
Instance INSTANCE_OF Class;
Property CONNECTS_OR_DESCRIBES Entity;
Axiom CONSTRAINS OntologyMeaning;
Requirement GUIDES OntologyDesign;
CompetencyQuestion TESTS OntologyCoverage;
Version REPRESENTS OntologyState;
ChangeSet MODIFIES OntologyVersion;

OntologyEngineeringFlow :=
    DomainNeed
    -> GatherRequirements
    -> DefineScope
    -> WriteCompetencyQuestions
    -> IdentifyExistingOntologies
    -> ReuseOrAlignTerms
    -> ConceptualiseDomain
    -> DefineClassesAndRelationships
    -> FormaliseAxiomsAndConstraints
    -> ImplementOntology
    -> ValidateAndReason
    -> EvaluateAgainstRequirements
    -> PublishAndDocument
    -> MaintainAndEvolve;

OntologyRequirement :=
    StatementOfKnowledgeRepresentationNeed;

Requirement MAY_INCLUDE {
    DomainCoverage,
    QuerySupport,
    Interoperability,
    Reasoning,
    DataValidation
};

OntologyScope :=
    DefinedBoundaryOfDomainKnowledgeRepresented;

Scope SHOULD_IDENTIFY {
    IncludedConcepts,
    ExcludedConcepts,
    IntendedUsers,
    IntendedApplications
};

CompetencyQuestion :=
    NaturalLanguageQuestionOntologyShouldEnableSystemToAnswer;

CompetencyQuestions GUIDE {
    Vocabulary,
    Relationships,
    QueryTesting,
    Evaluation
};

Conceptualisation :=
    AbstractModelOfRelevantDomainEntitiesConceptsAndRelationships;

Concept :=
    AbstractMeaningUnitWithinDomainModel;

Concept SHOULD_HAVE {
    PreferredLabel,
    Definition,
    Identifier
};

Class :=
    CategoryOfEntitiesSharingDefinedCharacteristics;

ClassHierarchy :=
    DirectedHierarchyOfSubclassRelationships;

Instance :=
    IndividualEntityBelongingToClass;

Property :=
    SemanticRelationOrAttribute;

Property MAY_BE {
    ObjectProperty,
    DatatypeProperty,
    AnnotationProperty
};

ObjectProperty :=
    RelationshipBetweenSemanticResources;

ObjectProperty MAY_HAVE {
    Domain,
    Range,
    Inverse,
    Cardinality,
    Transitivity
};

DatatypeProperty :=
    RelationshipFromEntityToLiteralValue;

OntologyAxiom :=
    FormalStatementDefiningOrConstrainingMeaning;

Axiom MAY_INCLUDE {
    Subclass,
    Equivalence,
    Disjointness,
    PropertyRestriction,
    Domain,
    Range
};

IF ClassA SUBCLASS_OF ClassB
THEN EveryInstanceOfClassA IS_ALSO InstanceOfClassB;

EquivalentClass(A,B) :=
    AAndBHaveSameClassExtensionUnderFormalSemantics;

DisjointClasses(A,B) :=
    NoValidIndividualMayBelongToBothUnderDefinedSemantics;

PropertyDomain(P,A) MAY_ALLOW:
    IF x P y
    THEN x INSTANCE_OF A;

PropertyRange(P,B) MAY_ALLOW:
    IF x P y
    THEN y INSTANCE_OF B;

CardinalityConstraint MAY_DEFINE {
    MinimumCount,
    MaximumCount,
    ExactCount
};

ClassRestriction :=
    ConditionOnPropertyValuesOrRelationshipsRequiredForClassExpression;

Formalisation :=
    ConceptualModel
    -> LogicalOrMachineInterpretableRepresentation;

Ontology MAY_BE_IMPLEMENTED_USING {
    RDF,
    RDFS,
    OWL,
    OtherFormalKnowledgeRepresentationLanguage
};

RDF :=
    GraphDataModelRepresentingStatementsAsTriples;

RDFS MAY_REPRESENT {
    Class,
    Subclass,
    Property,
    Domain,
    Range
};

OWL MAY_REPRESENT {
    ClassExpressions,
    PropertyCharacteristics,
    Equivalence,
    Disjointness,
    Restrictions
};

DescriptionLogic :=
    FamilyOfFormalKnowledgeRepresentationLogicsUnderlyingManyOntologyLanguages;

OntologyExpressivity :=
    RangeOfSemanticStructuresRepresentableByOntologyLanguageAndModel;

HigherExpressivity MAY_INCREASE ReasoningComplexity;

OntologicalCommitment :=
    AssumptionsAboutEntitiesCategoriesAndRelationshipsAcceptedByOntology;

OntologyVocabulary :=
    SetOfNamedClassesPropertiesIndividualsAndAnnotations;

Term SHOULD_HAVE StableIdentifier;

NamingConvention MAY_DEFINE {
    IdentifierStyle,
    Capitalisation,
    SingularOrPluralPolicy,
    Namespace
};

HumanReadableLabel MAY_DIFFER_FROM MachineIdentifier;

ClassOrProperty SHOULD_HAVE ClearDefinitionWherePractical;

OntologyAnnotation MAY_INCLUDE {
    Label,
    Definition,
    Comment,
    Source,
    Example,
    DeprecatedStatus
};

Namespace :=
    IdentifierScopeForOntologyTerms;

IRI MAY_IDENTIFY OntologyResource;

IdentifierPersistence SUPPORTS LongTermInteroperability;

OntologyReuse :=
    AdoptExistingOntologyTermsOrModulesInsteadOfRedefiningEquivalentConcepts;

Reuse MAY_REDUCE Duplication
BUT ExternalSemantics MUST_MATCH IntendedMeaning;

OntologyImport :=
    IncludeOrReferenceExternalOntology;

OntologyModule :=
    CoherentSubsetOfOntologyFocusedOnSpecificPurposeOrDomainArea;

Modularity MAY_IMPROVE {
    Reuse,
    Maintainability,
    ReasoningPerformance
};

OntologyDesignPattern :=
    ReusableModellingSolutionForRecurringSemanticProblem;

UpperOntology :=
    HighLevelOntologyProvidingGeneralConceptsAcrossDomains;

DomainOntology :=
    OntologyFocusedOnSpecificSubjectArea;

ApplicationOntology :=
    OntologyTailoredToSpecificSystemOrUseCase;

TaskOntology :=
    OntologyRepresentingActivitiesProcessesOrProblemSolvingTasks;

OntologyAlignment :=
    EstablishCorrespondenceBetweenTermsInDifferentOntologies;

Alignment MAY_INCLUDE {
    ExactMatch,
    EquivalentClass,
    BroaderMatch,
    NarrowerMatch,
    RelatedMatch
};

OntologyMapping :=
    SourceTerm
    -> TargetTermOrTransformation;

Mapping SHOULD_HAVE {
    RelationType,
    Confidence,
    Provenance
};

OntologyMerge :=
    CombineMultipleOntologiesIntoIntegratedOntology;

Merge REQUIRES {
    IdentityResolution,
    ConflictHandling,
    NamespaceManagement
};

OntologyConflict MAY_INCLUDE {
    NamingConflict,
    DefinitionConflict,
    HierarchyConflict,
    ConstraintConflict
};

OntologyConsistency :=
    AbsenceOfLogicalContradictionUnderChosenFormalSemantics;

Reasoner MAY_TEST Consistency;

ClassSatisfiability :=
    WhetherClassCanPossiblyHaveInstancesWithoutContradiction;

UnsatisfiableClass MAY_INDICATE ModellingError;

OntologyClassification :=
    ReasonerComputesInferredClassHierarchy;

AssertedHierarchy MAY_DIFFER_FROM InferredHierarchy;

Realisation :=
    DetermineMostSpecificClassesForIndividuals;

OntologyInference :=
    AssertedAxioms
    -> LogicalReasoning
    -> DerivedKnowledge;

OntologyValidation :=
    CheckOntologyAgainstStructuralSemanticOrApplicationConstraints;

Validation MAY_INCLUDE {
    SyntaxValidation,
    LogicalConsistency,
    ShapeValidation,
    NamingChecks
};

OntologyEvaluation :=
    AssessOntologyQualityAgainstRequirementsAndUseCases;

EvaluationDimension MAY_INCLUDE {
    Accuracy,
    Completeness,
    Consistency,
    Conciseness,
    Clarity,
    Reusability
};

ForEach CompetencyQuestion:
    ExecuteRepresentativeQuery
    -> DetermineWhetherOntologyCanRepresentAndRetrieveRequiredKnowledge;

OntologyCoverage :=
    DegreeToWhichRequiredDomainConceptsAndRelationshipsAreRepresented;

Completeness IS_RELATIVE_TO ScopeAndRequirements;

RedundantAxiom :=
    AxiomAlreadyLogicallyImpliedByOtherAxioms;

OntologyQuality SHOULD_BE AssessedFrom {
    FormalCorrectness,
    DomainAccuracy,
    Usability,
    Maintainability
};

OntologyDocumentation SHOULD_INCLUDE {
    Purpose,
    Scope,
    Classes,
    Properties,
    Examples,
    DesignDecisions,
    Version
};

OntologyPublication MAY_INCLUDE {
    MachineReadableFile,
    HumanDocumentation,
    PersistentIRI,
    VersionMetadata
};

OntologyVersion :=
    IdentifiedStateOfOntologyAtPointInEvolution;

OntologyChange MAY_INCLUDE {
    AddClass,
    RemoveClass,
    RenameTerm,
    ChangeDefinition,
    AddProperty,
    ModifyAxiom
};

ChangeSet :=
    CollectionOfOntologyChangesBetweenVersions;

ChangeSet SHOULD_PRESERVE {
    Author,
    Timestamp,
    Rationale
};

DeprecatedTerm :=
    OntologyTermRetainedForCompatibilityButDiscouragedForNewUse;

DeprecatedTerm SHOULD_REFERENCE ReplacementWhereAvailable;

BreakingOntologyChange :=
    ChangeThatMayInvalidateExistingDataQueriesMappingsOrApplications;

BreakingChange SHOULD_BE ExplicitlyVersionedAndDocumented;

OntologyMigration :=
    TransformExistingDataOrMappingsToNewOntologyVersion;

OntologyEvolution :=
    ControlledModificationOfOntologyAsDomainKnowledgeOrRequirementsChange;

OntologyGovernance MAY_DEFINE {
    Maintainer,
    ReviewProcess,
    ReleasePolicy,
    ChangeApproval,
    DeprecationPolicy
};

CollaborativeOntologyEngineering MAY_INCLUDE {
    DomainExpert,
    OntologyEngineer,
    DataEngineer,
    ApplicationDeveloper
};

DomainExpert PROVIDES SubjectMatterKnowledge;

OntologyEngineer TRANSLATES DomainKnowledgeIntoSemanticModel;

OntologyProvenance MAY_INCLUDE {
    Source,
    Author,
    Contributor,
    Version,
    Derivation
};

Requirement SHOULD_BE TraceableTo RelevantOntologyElementsWherePractical;

OntologyChange
    -> IdentifyAffectedClassesPropertiesMappingsQueriesAndData
    -> AssessCompatibility
    -> PlanMigration;

OntologyTestSuite MAY_INCLUDE {
    CompetencyQueries,
    ConsistencyTests,
    ExpectedInferences,
    InvalidDataCases
};

OntologyRegressionTest :=
    VerifyNewVersionPreservesExpectedPreviousBehaviourUnlessChangeIsIntentional;

OntologyEngineeringTool MAY_SUPPORT {
    Editing,
    Reasoning,
    Validation,
    Visualisation,
    Diff,
    Documentation
};

AI MAY_SUPPORT OntologyEngineeringThrough {
    TermExtraction,
    RelationshipSuggestion,
    MappingSuggestion,
    Documentation,
    CompetencyQuestionGeneration
};

AIGeneratedOntologyChange SHOULD_BE ValidatedBeforeAcceptance;

Ontology MAY_SERVE_AS SemanticSchemaForKnowledgeGraph;

KnowledgeGraphInstanceData MAY_REVEAL MissingOrIncorrectOntologyStructures;

SemanticDatabase MAY_USE OntologyFor {
    Schema,
    Validation,
    QueryExpansion,
    Inference
};

SemanticSearch MAY_USE OntologyFor {
    QueryExpansion,
    EntityTyping,
    ConceptMatching,
    Disambiguation
};

OntologyEngineering SUPPORTS SemanticInteroperabilityByCreatingSharedMeaningModels;

OntologyEngineeringSecurity MAY_INCLUDE {
    RepositoryAccess,
    ChangeAuthorisation,
    ReleaseIntegrity,
    DependencyValidation
};

# ---------- SEMANTIC REASONING ----------
IF KnowledgeModelDefinesClassesPropertiesRelationshipsAndAxioms
THEN OntologyClassification := supported;

IF CompetencyQuestionCannotBeAnsweredBecauseRequiredConceptMissing
THEN OntologyCoverage MAY_BE Insufficient;

IF ReasonerFindsContradiction
THEN OntologyConsistency := false;

IF ClassIsUnsatisfiable
THEN ModellingReview SHOULD_BE Triggered;

IF ExternalOntologyTermHasDifferentMeaning
THEN Reuse SHOULD_NOT_BE Forced;

IF BreakingChangeIntroduced
THEN VersionAndMigrationPlan SHOULD_BE Updated;

IF NewAxiomChangesExpectedInference
THEN RegressionTests SHOULD_BE Reexecuted;

# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
    "ontology engineering" ~= "ontology development";
    "ontology design" ~= "ontology modelling" WHEN context == semantic_knowledge_model;
    "ontology alignment" ~= "ontology matching";
    "ontology mapping" ~= "semantic ontology mapping";
    "ontology evolution" ~= "ontology lifecycle evolution";
    "ontology module" ~= "modular ontology component";
    "competency question" ~= "ontology competency question";
    "ontology design pattern" ~= "ODP";
}

# ---------- QUERY FLOW ----------
QUERY(q) ->
    NORMALISE(q) ->
    IDENTIFY_DOMAIN_AND_SCOPE(q) ->
    IDENTIFY_REQUIREMENTS(q) ->
    IDENTIFY_CLASSES_PROPERTIES_AXIOMS(q) ->
    IDENTIFY_REUSE_AND_MAPPINGS(q) ->
    IDENTIFY_CONSISTENCY_AND_VALIDATION(q) ->
    IDENTIFY_VERSION_AND_CHANGE(q) ->
    MAP_TO_ONTOLOGY_ENGINEERING_MODEL(q) ->
    APPLY_REASONING(q) ->
    SCORE_CONFIDENCE(q) ->
    RETURN_RELEVANT_KNOWLEDGE;

# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
    weighted_mean(
        source_reliability,
        formal_semantic_consistency,
        domain_expert_support,
        competency_coverage,
        validation_evidence,
        contextual_relevance
    );

CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;

# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
    primary_entity: OntologyEngineering;
    ontology: OntologyEngineeringOntology;
    parse_entities: true;
    parse_relationships: true;
    preserve_relationship_direction: true;
    resolve_semantic_equivalence: true;
    execute_reasoning_rules: true;
    apply_confidence_weighting: true;
    preserve_provenance: true;
}

# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
    new_requirement:
        validate
        -> classify_scope
        -> create_or_update_competency_question
        -> trace_to_ontology_elements
        -> integrate;

    new_ontology_term:
        validate_identifier
        -> define
        -> place_in_hierarchy
        -> attach_properties
        -> integrate;

    new_axiom:
        validate_syntax
        -> evaluate_semantics
        -> run_reasoner
        -> test_expected_inference
        -> integrate;

    ontology_revision:
        preserve_previous_version
        -> apply_change_set
        -> run_validation
        -> run_regression_tests
        -> update_documentation
        -> recompute_confidence
        -> regenerate_flow_hash;

    conflict:
        preserve_provenance
        -> compare_domain_and_formal_evidence
        -> adjust_confidence
        -> flag_review;
}

# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
    DOMAIN
    + SUBDOMAIN
    + ONTOLOGY
    + OntologyEntity
    + EngineeringEntity
    + SemanticEntity
    + LifecycleStage
    + CompetencyQuestion
    + OntologyEvaluation
    + OntologyEvolution
    + RELATIONSHIPS
    + SEMANTIC_REASONING
    + SEMANTIC_EQUIVALENCE
    + UPDATE_MODEL;

FLOW_HASH :=
    HASH(FLOW_HASH_INPUT);

# ---------- TERMINAL ----------
OntologyEngineeringOntology
    -> DefineDomainNeedAndScope
    -> GatherSemanticRequirements
    -> CreateCompetencyQuestions
    -> ReuseAndAlignExistingKnowledgeModels
    -> ConceptualiseClassesPropertiesAndRelationships
    -> FormaliseAxiomsAndConstraints
    -> ImplementMachineInterpretableOntology
    -> ValidateConsistencyAndSatisfiability
    -> EvaluateCoverageAndQuality
    -> PublishVersionAndDocumentation
    -> TrackChangesAndDependencies
    -> RunRegressionAndMigrationChecks
    -> MaintainControlledOntologyEvolution;

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ