FLOW ALGEBRA
TITLE: Data Science Domain Ontology
DOMAIN: Domain Ontologies / Computing Domains / Data Science
SOURCE: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/computing-domains/data-science-domain-ontology.html
VERSION: 1.0
AUTHORS: Mark Anthony Higgins — Sky (Recursive AI)
STATUS: Companion formalisation; source-page specification not independently verified.
flow "DataScienceDomainOntology" v1.0 {
ontology:
id: "data-science-domain-ontology"
parent: "computing-domains"
purpose: "Represent data-science assets, analytical processes, statistical and computational models, findings, evidence and their provenance."
types:
Dataset: {id: string, schema_id: string, version: string, provenance: string, licence: string?, access_class: string?}
Variable: {id: string, datatype: string, unit: string?, missingness: string?, role: enum[feature, target, identifier, covariate, other]}
DataSource: {id: string, kind: string, origin: string, collected_at: datetime?}
Transformation: {id: string, operation: string, parameters: map, version: string, deterministic: boolean?}
Analysis: {id: string, method: string, assumptions: string[], objective: string}
StatisticalModel: {id: string, family: string, version: string, parameters: map, assumptions: string[]}
Evaluation: {id: string, metric: string, value: number, protocol: string, dataset_id: string, uncertainty: number?}
Finding: {id: string, statement: string, evidence: string[], limitations: string[], confidence: number}
ProvenanceRecord: {id: string, agent: string, activity: string, timestamp: datetime, source_ids: string[]}
Relationship: {id: string, subject: string, predicate: string, object: string, context: string?, confidence: number, evidence: string[]}
predicates:
derived_from(output: Dataset, input: Dataset)
sourced_from(dataset: Dataset, source: DataSource)
contains_variable(dataset: Dataset, variable: Variable)
transformed_by(dataset: Dataset, operation: Transformation)
analysed_by(dataset: Dataset, analysis: Analysis)
trained_on(model: StatisticalModel, dataset: Dataset)
evaluated_by(model: StatisticalModel, evaluation: Evaluation)
supports(evidence: Evaluation, finding: Finding)
contradicts(a: Finding, b: Finding)
documented_by(entity: string, record: ProvenanceRecord)
constraints:
- "All relationship endpoints must resolve to typed entities."
- "Confidence values must be within [0, 1]."
- "Dataset versions, schemas, transformation parameters and provenance must be recorded."
- "Training, validation and test splits must be identified and checked for leakage."
- "Units, missing-value conventions, population definitions and sampling assumptions must be explicit where applicable."
- "Correlation or predictive association must not automatically be interpreted as causation."
- "Evaluation results must retain metric definitions, datasets and protocols."
- "Sensitive data access must follow applicable permissions and privacy controls."
inference:
rule lineage_chain:
if derived_from(b,a) and derived_from(c,b)
then has_ancestor_dataset(c,a)
confidence: "preserve full lineage; do not imply identical content"
rule evidence_backed_finding:
if supports(e,f) and valid(e) and reproducible_protocol(e)
then evidence_for(f,e)
confidence: "assess study quality and uncertainty; no automatic certainty"
rule leakage_warning:
if shares_leaked_information(training_set,test_set)
then flag("evaluation_data_leakage")
confidence: "requires documented overlap or leakage evidence"
SEMANTIC_EQUIVALENCE:
- "Normalise variables and methods using versioned vocabularies and explicit units."
- "Distinguish equivalent datasets from overlapping, transformed or merely similar datasets."
- "Preserve context, sampling frame, target definitions and preprocessing history."
CONFIDENCE:
range: [0,1]
factors: [data_quality, sample_representativeness, measurement_uncertainty, methodological_validity, external_validation, reproducibility]
policy: "Record calibration and uncertainty; do not increase confidence solely through inference chaining."
VALIDATION:
- "Check entity types, schema consistency, missingness, units and provenance."
- "Verify train/test separation, evaluation protocol and model version."
- "Flag inconsistent findings, ungrounded causal claims and unsupported generalisation."
- "Preserve alternative interpretations where evidence is inconclusive."
FLOW_HASH:
algorithm: "SHA-256"
input: "canonicalised ontology version, typed assertions, rules and provenance"
note: "Compute hash at execution; no hash value is claimed here."
UPDATE_MODEL:
strategy: "versioned, provenance-preserving incremental update"
steps: [ingest, profile, normalise, validate, reconcile, recompute_lineage, reevaluate_models, publish]
rollback: true
AI_CONSUMPTION:
representation: "typed knowledge graph with dataset lineage and evidence-backed analytical assertions"
outputs: [entity_links, relation_triples, dataset_lineage, model_metadata, evaluation_records, uncertainty_annotations, provenance_records]
safeguards: [no_unsupported_causal_claims, no_data_leakage, preserve_units_and_context, respect_access_controls]
}
END FLOW ALGEBRA
Download Code
Copy to Clipboard