FLOW_ALGEBRA OntologyLogicOntology v1.0
TARGET_URL := "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/mathematical-logic-ontologies/knowledge-representation-logic/ontology-logic-ontology.html"
LANGUAGE := "en-GB"
DOMAIN := MathematicalOntologies > MathematicalLogicOntologies > KnowledgeRepresentationLogic > OntologyLogicOntology
BEGIN_FLOW
ENTITY OntologyLogic {
TYPE := FormalSemanticKnowledgeFramework
DEFINITION := "A logical framework for defining ontology classes, individuals, properties and axioms so conceptual structures can be interpreted consistently and reasoned over by machines."
}
ENTITY Ontology { TYPE := FormalConceptualModel }
ENTITY Class { TYPE := ConceptCategory }
ENTITY Individual { TYPE := InstanceEntity }
ENTITY Property { TYPE := SemanticRelationOrAttribute }
ENTITY Axiom { TYPE := FormalSemanticStatement }
RELATIONSHIP OntologyLogic --formalises--> Ontology
RELATIONSHIP Ontology --contains--> Class
RELATIONSHIP Ontology --contains--> Individual
RELATIONSHIP Ontology --contains--> Property
RELATIONSHIP Ontology --contains--> Axiom
RELATIONSHIP OntologyLogic --supports--> AutomatedReasoning
ONTOLOGY_SIGNATURE {
Sigma := {ClassNames,PropertyNames,IndividualNames}
}
INTERPRETATION {
I := (Delta_I,InterpretationFunction)
REQUIRE Delta_I nonempty
}
CLASS_INTERPRETATION { C^I subseteq Delta_I }
OBJECT_PROPERTY_INTERPRETATION { R^I subseteq Delta_I x Delta_I }
INDIVIDUAL_INTERPRETATION { a^I in Delta_I }
CLASS_ASSERTION { FORM := C(a) }
PROPERTY_ASSERTION { FORM := R(a,b) }
SUBCLASS_AXIOM {
C subclass_of D
SEMANTICS := C^I subseteq D^I
}
EQUIVALENT_CLASSES {
C equivalent_to D
SEMANTICS := C^I=D^I
}
DISJOINT_CLASSES {
Disjoint(C,D)
SEMANTICS := C^I intersect D^I=empty_set
}
PROPERTY_HIERARCHY { R subproperty_of S }
INVERSE_PROPERTIES { inverseOf(R,S) }
PROPERTY_DOMAIN { Domain(R)=C }
PROPERTY_RANGE { Range(R)=D }
PROPERTY_CHARACTERISTICS := {
Transitive,Symmetric,Asymmetric,Reflexive,Irreflexive,Functional,InverseFunctional
}
FUNCTIONAL_PROPERTY {
R(a,b) AND R(a,c) -> b=c
}
IDENTITY_AXIOM {
sameAs(a,b) -> a^I=b^I
}
UNIQUE_NAME_WARNING {
different_names DO_NOT automatically imply different_individuals
}
CLASS_CONSTRUCTORS := {
Intersection,Union,Complement,
ExistentialRestriction,UniversalRestriction,
CardinalityRestriction,Nominal
}
EXISTENTIAL_RESTRICTION {
EXISTS R.C := {x | EXISTS y: R(x,y) AND C(y)}
}
UNIVERSAL_RESTRICTION {
FOR_ALL R.C := {x | FOR_ALL y: R(x,y) -> C(y)}
}
CARDINALITY := {>=n R.C,<=n R.C,=n R.C}
TBOX { CONTENT := ClassDefinitionsAndInclusions }
ABOX { CONTENT := IndividualAssertions }
RBOX { CONTENT := PropertyAxioms }
ONTOLOGY_MODEL {
I model_of O IFF I satisfies every axiom in O
}
ONTOLOGY_CONSISTENCY {
O consistent IFF EXISTS model_of_O
}
ENTAILMENT {
O entails phi IFF every model_of_O satisfies phi
}
COUNTERMODEL {
model_of_O falsifying phi -> non_entailment
}
CLASS_SATISFIABILITY {
C satisfiable_wrt O IFF EXISTS model with C^I nonempty
}
UNSATISFIABLE_CLASS {
C^I empty in every model_of_O
}
SUBSUMPTION {
O entails C subclass_of D
}
INSTANCE_CHECKING {
determine whether O entails C(a)
}
CLASSIFICATION {
compute inferred_class_hierarchy
}
REALISATION {
compute most_specific_classes_for_individual
}
ASSERTED_VS_INFERRED {
asserted_axioms != inferred_entailments
MUST_REMAIN_DISTINCT := TRUE
}
OPEN_WORLD_ASSUMPTION {
absence_of_statement DOES_NOT imply false
}
CLOSED_WORLD_ASSUMPTION {
absence MAY imply false only under explicit semantics
}
MONOTONICITY {
adding_axioms preserves prior_entailments
under standard classical ontology logic
}
DESCRIPTION_LOGIC_RELATIONSHIP {
OntologyLogic --may_use--> DescriptionLogic
}
OWL_RELATIONSHIP {
OntologyLogic --supports--> OWLStyleOntologySemantics
}
OWL2_DL_RELATIONSHIP {
logical_foundation closely_related_to SROIQ
}
OWL_PROFILES := {OWL2EL,OWL2QL,OWL2RL}
RDF_RELATIONSHIP {
ontology_assertions MAY use RDF_graph_representation
}
RDF_GRAPH_WARNING {
graph_triples alone MUST_NOT be assumed equivalent_to full ontology_entailment
}
ONTOLOGY_IMPORT {
O1 imports O2 -> imported_axioms participate_in_reasoning
}
IMPORT_CLOSURE {
recursively_collect_imported_ontologies
}
ONTOLOGY_MODULE {
subset selected_for topic_or_signature
}
MODULE_EXTRACTION {
Ontology + Signature -> RelevantAxiomSubset
REQUIRE declared_preservation_goal
}
ONTOLOGY_ALIGNMENT {
O1 + O2 -> CorrespondenceSet
}
EQUIVALENCE_MAPPING {
C1 equivalent_to C2
REQUIRE semantic_justification
}
SUBSUMPTION_MAPPING {
C1 subclass_of C2
}
RELATED_MAPPING {
semantically_related WITHOUT equivalence
}
ONTOLOGY_MERGE {
O1 + O2 + Alignment -> MergedOntology
}
MERGE_VALIDATION {
CHECK {IdentifierCollisions,Inconsistencies,MappingConflicts,SemanticDrift}
}
ONTOLOGY_VERSION {
Identifier + VersionMetadata
}
ONTOLOGY_CHANGE := {
AddClass,RemoveClass,AddProperty,RemoveProperty,
AddAxiom,RemoveAxiom,RenameEntity,ChangeDefinition
}
CHANGE_IMPACT {
ontology_change -> affected_axioms -> affected_inferences -> affected_queries
}
INCREMENTAL_REASONING {
update consequences impacted_by_changes where supported
}
DEPRECATION {
entity marked_not_recommended_for_new_use
}
REPLACEMENT {
DeprecatedEntity -> PreferredEntity
}
ONTOLOGY_DESIGN_PATTERN {
reusable_modelling_solution
}
PART_WHOLE_PATTERN {
Whole --hasPart--> Part
}
N_ARY_RELATION_PATTERN {
RelationInstance -> ParticipantRolesAndQualifiers
}
EVENT_PATTERN {
Event -> Participants + Time + Location
}
VALUE_PARTITION {
Parent partitioned_into subclasses
REQUIRE declared_disjointness_or_covering_axioms
}
UPPER_ONTOLOGY { TYPE := DomainIndependentConceptualFramework }
DOMAIN_ONTOLOGY { TYPE := DomainSpecificConceptualModel }
APPLICATION_ONTOLOGY { TYPE := TaskSpecificOntology }
ONTOLOGY_COMMITMENT {
vocabulary_and_axioms -> assumptions_about_modelled_world
}
ONTOLOGICAL_COMMITMENT_WARNING {
stronger_axioms -> stronger_commitments -> more_entailments
}
MODELLING_ERROR := {
WrongDomainRange,
MissingDisjointness,
IncorrectEquivalence,
OverlyBroadSubclass,
IdentityError,
CardinalityError
}
DOMAIN_RANGE_INFERENCE_WARNING {
Domain(R)=C AND R(a,b) MAY infer C(a)
under OWL-style semantics
}
EQUIVALENCE_WARNING {
equivalence stronger_than subclass
}
DISJOINTNESS_WARNING {
Disjoint(C,D) + C(a) + D(a) -> inconsistency
under classical semantics
}
CARDINALITY_IDENTITY_INTERACTION {
functional_property + multiple_values MAY infer equality
unless values_known_different
}
ONTOLOGY_VALIDATION {
CHECK {
Syntax,
LogicalConsistency,
UnsatisfiableClasses,
UnintendedEquivalences,
DomainRangeEffects,
IdentityInferences,
CompetencyQuestions
}
}
COMPETENCY_QUESTION {
query ontology SHOULD answer for intended_scope
}
TEST_CASE {
INPUT := Assertions
EXPECTED := EntailmentsOrNonEntailments
}
JUSTIFICATION {
Entailment -> SupportingAxiomSet
}
MINIMAL_JUSTIFICATION {
subset_minimal_support
}
INCONSISTENCY_EXPLANATION {
conflicting_axiom_subset
}
REPAIR {
modify_axioms to restore desired_consistency_or_semantics
}
ONTOLOGY_QUERY {
INPUT := Ontology + Query
OUTPUT := EntailedAnswer under declared_semantics
}
SPARQL_RELATIONSHIP {
graph_querying MAY use SPARQL
entailment depends_on selected_regime
}
PROVENANCE {
Axiom -> Source + Author + Date + Evidence + Version
}
ANNOTATION {
metadata_about_entity_or_axiom
generally_not_logical_axiom
}
LABEL { TYPE := HumanReadableName }
SYNONYM {
alternative_lexical_label
NOT automatically logical_equivalence
}
LEXICAL_SEMANTIC_DISTINCTION {
same_label MAY denote different_concepts
different_labels MAY denote same_concept
}
ONTOLOGY_REASONER {
TASKS := {Consistency,Classification,Realisation,Satisfiability,Entailment,Explanation}
}
REASONER_SOUNDNESS {
derived_entailments SHOULD follow formal_semantics
}
REASONER_COMPLETENESS {
all_entailments_found
REQUIRE reasoner_and_fragment_specific_guarantee
}
EXPRESSIVITY {
determined_by constructors_and_axioms
}
DECIDABILITY {
reasoning_tasks terminate for selected_fragment
}
COMPLEXITY {
depends_on language_and_task
}
PROFILE_SELECTION {
choose profile based_on expressivity_vs_reasoning_requirements
}
ONTOLOGY_LOGIC_VS_SCHEMA {
Schema := structural_organisation
OntologyLogic := schema + formal_semantics + axioms + entailment
}
ONTOLOGY_LOGIC_VS_TAXONOMY {
Taxonomy := hierarchy
OntologyLogic := hierarchy + relations + logical_axioms
}
ONTOLOGY_LOGIC_VS_KNOWLEDGE_GRAPH {
KnowledgeGraph := entity_relation_graph
OntologyLogic := formal_semantics_for_classes_properties_axioms
MAY_COMBINE := TRUE
}
ONTOLOGY_LOGIC_VS_VALIDATION {
LogicalEntailment := model_theoretic_consequence
Validation := conformance_to_constraints
MUST_REMAIN_DISTINCT := TRUE
}
APPLICATION_RELATIONSHIPS {
OntologyLogic --supports--> KnowledgeRepresentation
OntologyLogic --supports--> SemanticWeb
OntologyLogic --supports--> KnowledgeGraphs
OntologyLogic --supports--> DataIntegration
OntologyLogic --supports--> ArtificialIntelligence
OntologyLogic --supports--> AutomatedReasoning
OntologyLogic --supports--> ScientificOntologies
OntologyLogic --supports--> BiomedicalOntologies
}
ONTOLOGY_LINKS {
PARENT := KnowledgeRepresentationLogicOntology
RELATED := {
KnowledgeRepresentationOntology,
DescriptionLogicOntology,
PredicateLogicOntology,
OntologyOntology,
KnowledgeGraphOntology,
ClassOntology,
PropertyOntology,
SubsumptionOntology,
OWLOntology,
ModelTheoryOntology
}
}
SEMANTIC_EQUIVALENCE {
OntologyLogic ≈ FormalOntologySemantics
Class ≈ Concept WHEN description_logic_context
Individual ≈ Instance
ObjectProperty ≈ BinaryRelation
SubclassAxiom ≈ ConceptInclusion
}
CONSTRAINTS {
C1 := ontology logic MUST identify formal semantics
C2 := classes individuals and properties MUST remain typed
C3 := asserted and inferred knowledge MUST remain distinguishable
C4 := open-world absence MUST_NOT automatically be false
C5 := unique-name assumption MUST_NOT be assumed unless declared
C6 := equivalence MUST_NOT be conflated with subclass or lexical synonymy
C7 := domain/range axioms MUST follow logical semantics
C8 := imports MUST be included according_to declared semantics
C9 := mappings MUST distinguish equivalence subsumption and relatedness
C10 := logical entailment MUST remain distinct from data validation
C11 := updates SHOULD trigger consistency and inference-impact checks
C12 := transformations and merges MUST preserve intended ontological commitments
}
REASONING_CHAIN Query Q {
IDENTIFY ontology O
IDENTIFY ontology_language
IDENTIFY classes
IDENTIFY individuals
IDENTIFY properties
IDENTIFY axioms
IDENTIFY imports
IDENTIFY query_type
RESOLVE import_closure
VALIDATE syntax
CHECK profile_restrictions
CHECK ontology_consistency
IF classification_requested:
COMPUTE inferred_class_hierarchy
IF satisfiability_requested:
TEST model_existence
IF instance_query:
CHECK class_assertion_entailment
IF property_query:
CHECK property_assertion_entailment
IF alignment_requested:
CLASSIFY mapping_types
CHECK merge_effects
IF update_requested:
APPLY change
COMPUTE impact
RECHECK consistency
IF explanation_requested:
EXTRACT justification
IF validation_requested:
RUN validation_layer
KEEP separate_from_entailment
VALIDATE constraints
RETURN ontology_reasoning_result WITH semantic_trace
}
CONFIDENCE {
CORE_ONTOLOGY_LOGIC := 1.00
MODEL_THEORETIC_SEMANTICS := 1.00
CLASS_PROPERTY_AXIOMS := 1.00
DESCRIPTION_LOGIC_RELATIONSHIP := 1.00
OWL_RELATIONSHIP := 0.99
OPEN_WORLD_DISTINCTION := 1.00
ALIGNMENT_DISTINCTIONS := 1.00
SPECIFIC_RESULT :=
IF ontology_language_axioms_and_query_complete THEN 1.00
ELSE REQUIRE missing_information
}
UPDATE_MODEL {
IMMUTABLE_CORE := {
FormalOntologySemantics,
ClassIndividualPropertyDistinction,
AxiomEntailment,
ModelBasedConsistency,
OpenWorldSemantics
}
EXTENSIBLE := {
OntologyLanguages,
ClassConstructors,
PropertyCharacteristics,
OntologyProfiles,
AlignmentMethods,
DesignPatterns,
ExplanationMethods,
ApplicationDomains,
RelatedOntologies
}
ON_NEW_KNOWLEDGE {
IDENTIFY new_axiom_or_mapping
VALIDATE syntax
CHECK semantics
CHECK consistency
CHECK unintended_entailments
UPDATE classification
UPDATE provenance
UPDATE confidence
}
}
AI_CONSUMPTION {
MACHINE_READABLE := TRUE
HUMAN_INTERPRETABLE := TRUE
RECURSIVE_REASONING := TRUE
ENTITY_RESOLUTION := TRUE
CLASS_RESOLUTION := TRUE
PROPERTY_RESOLUTION := TRUE
AXIOM_REASONING := TRUE
ONTOLOGY_CLASSIFICATION := TRUE
CONSISTENCY_REASONING := TRUE
SATISFIABILITY_REASONING := TRUE
INSTANCE_REASONING := TRUE
PROPERTY_REASONING := TRUE
ALIGNMENT_REASONING := TRUE
IMPORT_REASONING := TRUE
JUSTIFICATION_GENERATION := TRUE
VALIDATION_REQUIRED := TRUE
}
FLOW_HASH {
TARGET := TARGET_URL
SUBJECT := "Ontology Logic Ontology"
VERSION := "1.0"
CANONICAL_SIGNATURE := HASH(TARGET + SUBJECT + DOMAIN + VERSION)
}
OUTPUT {
PRIMARY_ENTITY := OntologyLogic
INTERPRETATION := "Ontology logic gives classes, individuals, properties and axioms explicit model-theoretic meaning so that conceptual models can support consistency checking, classification, subsumption, instance inference and explanation. It also governs imports, mappings, ontology changes and semantic commitments while distinguishing logical entailment from lexical similarity and data validation."
}
END_FLOW
Download Code
Copy to Clipboard