@prefix : <http://w3id.org/explainability/SoCK#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://w3id.org/explainability/SoCK#> .

<http://w3id.org/explainability/SoCK#> rdf:type owl:Ontology ;
                                        <http://purl.org/dc/terms/contributor> "Fajar J. Ekaputra" ,
                                                                               "Marta Sabou" ;
                                        <http://purl.org/dc/terms/created> "2025-12-01T00:00:00Z" ;
                                        <http://purl.org/dc/terms/creator> "Katrin Ehrenmüller" ,
                                                                           "Lucas Kook" ;
                                        <http://purl.org/dc/terms/license> <http://w3id.org/explainability/1.0> ,
                                                                           <https://creativecommons.org/licenses/by/4.0> ;
                                        <http://purl.org/dc/terms/modified> "2026-03-30T00:00:00Z" ;
                                        <http://purl.org/dc/terms/title> "The SoCK Ontology (Synthesis of Causal Knowledge)" ,
                                                                         """This ontology is created to support the integration and synthesis of causal knowledge from various sources, including causal discovery algorithms, expert knowledge, or other sources of causal discovery. It covers three main focus areas: 

\"Causal Graph and Metrics\" focuses on the representation of a specific causal graph, its edges, and comparison metrics, where discrepancies between two graphs can be represented.

\"Causal Discovery Method\" focuses on the methods applied to derived a causal graph. This could be a causal discovery algorithm, including the hyper parameter settings that were applied in a specific run to create a specific causal graph.

\"Data and Context\" focuses on the data that was investigated to derive a causal graph. This includes the variables of a dataset, which were investigated, as well as assumptions that are posed on a dataset by an algorithm/method.""" ;
                                        <http://purl.org/vocab/vann/preferredNamespacePrefix> "sock" ;
                                        <http://purl.org/vocab/vann/preferredNamespaceUri> <http://w3id.org/explainability/SoCK#> .

#################################################################
#    Annotation properties
#################################################################

###  http://ontologydesignpatterns.org/opla-sd#entityPositionX
<http://ontologydesignpatterns.org/opla-sd#entityPositionX> rdf:type owl:AnnotationProperty .


###  http://ontologydesignpatterns.org/opla-sd#entityPositionY
<http://ontologydesignpatterns.org/opla-sd#entityPositionY> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/contributor
<http://purl.org/dc/terms/contributor> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/created
<http://purl.org/dc/terms/created> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/creator
<http://purl.org/dc/terms/creator> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/description
<http://purl.org/dc/terms/description> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/license
<http://purl.org/dc/terms/license> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/modified
<http://purl.org/dc/terms/modified> rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/terms/title
<http://purl.org/dc/terms/title> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespacePrefix
<http://purl.org/vocab/vann/preferredNamespacePrefix> rdf:type owl:AnnotationProperty .


###  http://purl.org/vocab/vann/preferredNamespaceUri
<http://purl.org/vocab/vann/preferredNamespaceUri> rdf:type owl:AnnotationProperty .


###  http://www.w3.org/2002/07/owl#versionInfo
owl:versionInfo rdf:type owl:AnnotationProperty .


#################################################################
#    Object Properties
#################################################################

###  http://w3id.org/explainability/SoCK#appliesCIT
:appliesCIT rdf:type owl:ObjectProperty ;
            rdfs:domain :CausalDiscoveryAlgorithm ;
            rdfs:range :ConditionalIndependenceTest ;
            rdfs:comment "A causal discovery algorithm applies a set of conditional independence tests." .


###  http://w3id.org/explainability/SoCK#belongsToCausalGraph
:belongsToCausalGraph rdf:type owl:ObjectProperty ;
                      rdfs:domain :CausalEdge ;
                      rdfs:range :CausalGraph ;
                      rdfs:comment "relation from causal edge to the causal graph that is defining this specific edge." .


###  http://w3id.org/explainability/SoCK#compares
:compares rdf:type owl:ObjectProperty ;
          rdfs:domain :GraphComparisonMetric ;
          rdfs:range :CausalGraph ;
          rdfs:comment "relation from a graph comparison metric to the two graph entities that are compared by the causal graph." .


###  http://w3id.org/explainability/SoCK#conditionedOn
:conditionedOn rdf:type owl:ObjectProperty ;
               rdfs:domain :Separation ;
               rdfs:range :CausalNode ;
               rdfs:comment "A relation that defines the set of variables to condition on, to define a separation statement. For (A _||_B |C), the \"conditionedOn\" variable would be C." .


###  http://w3id.org/explainability/SoCK#connectsNode
:connectsNode rdf:type owl:ObjectProperty ;
              rdfs:domain :CausalEdge ;
              rdfs:range :CausalNode ;
              rdfs:comment "a connection relation from a causal edge to the corresponding causal nodes" .


###  http://w3id.org/explainability/SoCK#contains
:contains rdf:type owl:ObjectProperty ;
          owl:inverseOf :isPartOf ;
          rdfs:domain :Datasource ;
          rdfs:range :Variable ;
          rdfs:comment "A relation between a datasource and its variables, to define which variables are contained in a datasource." .


###  http://w3id.org/explainability/SoCK#containsCausalNode
:containsCausalNode rdf:type owl:ObjectProperty ;
                    rdfs:domain :CausalGraph ;
                    rdfs:range :CausalNode ;
                    rdfs:comment "A causal graph contains a set of causal nodes. Even if there is no edge defined that is connected to this causal node, it can still be part of the causal graph, as it was considered in the causal discovery method." .


###  http://w3id.org/explainability/SoCK#fulfillsAssumption
:fulfillsAssumption rdf:type owl:ObjectProperty ;
                    rdfs:domain :Datasource ;
                    rdfs:range :Assumption ;
                    rdfs:comment "A datasource can fulfill a certain assumption that is posed by a causal discovery method." .


###  http://w3id.org/explainability/SoCK#hasCause
:hasCause rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :connectsNode ;
          rdfs:domain :CausalEdge ;
          rdfs:range :CausalNode ;
          owl:propertyDisjointWith :hasEffect ;
          rdfs:comment "A connection from a causal edge to a causal node, which signified a \"cause\" relation. For an Edge A -> B, a causal edge would be connected to node A via a \"hasCause\" relation, and it would be connected to node B via a \"hasEffect\" relation." .


###  http://w3id.org/explainability/SoCK#hasCauseOrEffect
:hasCauseOrEffect rdf:type owl:ObjectProperty ;
                  rdfs:subPropertyOf :connectsNode ;
                  rdfs:domain :CausalEdge ;
                  rdfs:range :CausalNode ;
                  rdfs:comment "A connection from a causal edge to a causal node, which signified an ambiguous causal relation. This means, that for all Markov-equivalent causal graph, there are some causal relations A->B, and some causal relations A <- B.   For an Edge A°-°B, a causal edge would be connected to both nodes (A, B) via a \"hasCauseOrEffect\" relation." .


###  http://w3id.org/explainability/SoCK#hasEffect
:hasEffect rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf :connectsNode ;
           rdfs:domain :CausalEdge ;
           rdfs:range :CausalNode ;
           rdfs:comment "A connection from a causal edge to a causal node, which signified an \"effect\" relation. For an Edge A <-> B, a causal edge would be connected to both nodes A and B via a \"hasEffect\" relation." .


###  http://w3id.org/explainability/SoCK#hasIndependentVariable
:hasIndependentVariable rdf:type owl:ObjectProperty ;
                        rdfs:domain :Separation ;
                        rdfs:range :CausalNode ;
                        rdfs:comment "A relation that defines the set of independent variables define in a separation statement. For (A _||_B |C), the \"hasIndependentVariable\" variable would be A." .


###  http://w3id.org/explainability/SoCK#impliesConditionalIndependence
:impliesConditionalIndependence rdf:type owl:ObjectProperty ;
                                rdfs:domain :ImpliedSeparation ;
                                rdfs:range :ConditionalIndependenceTest ;
                                rdfs:comment "Relation between an implied separation, defined by a causal graph, and a conditional independence test, which is performed on data by a causal discovery algorithm. Ideally, these two should imply the same separations." .


###  http://w3id.org/explainability/SoCK#impliesSeparation
:impliesSeparation rdf:type owl:ObjectProperty ;
                   rdfs:domain :CausalGraph ;
                   rdfs:range :ImpliedSeparation ;
                   rdfs:comment "A causal graph implies a set of implied separations. which represent a separation of two variables, when conditioned on a set of variables." .


###  http://w3id.org/explainability/SoCK#independentOf
:independentOf rdf:type owl:ObjectProperty ;
               rdfs:domain :Separation ;
               rdfs:range :CausalNode ;
               rdfs:comment "A relation that defines the set of variables the independent variable is independent of, as defined in a separation statement. For (A _||_B |C), the \"independentOf\" variable would be B." .


###  http://w3id.org/explainability/SoCK#isInverseMarginalizedFrom
:isInverseMarginalizedFrom rdf:type owl:ObjectProperty ;
                           owl:inverseOf :isMarginalizedFrom ;
                           rdfs:domain :CausalGraph ;
                           rdfs:range :CausalGraph ;
                           rdfs:comment "A marginalized graph can be reverted to a bigger graph, based on the encoded knowledge. However, this does not always revert the causal graph to its original graph, as some information was lost via the initial marginalization." .


###  http://w3id.org/explainability/SoCK#isMarginalizedFrom
:isMarginalizedFrom rdf:type owl:ObjectProperty ,
                             owl:TransitiveProperty ;
                    rdfs:domain :CausalGraph ;
                    rdfs:range :CausalGraph ;
                    rdfs:comment "A causal graph can be marginalized from a bigger causal graph, by excluding some causal nodes in the consideration of causal edges. This is not necessarily a subgraph of the original causal graph." .


###  http://w3id.org/explainability/SoCK#isPartOf
:isPartOf rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf owl:topObjectProperty ;
          rdfs:domain :Variable ;
          rdfs:range :Datasource ;
          rdfs:comment "A variable is part of a dataset." .


###  http://w3id.org/explainability/SoCK#outputsCausalGraph
:outputsCausalGraph rdf:type owl:ObjectProperty ;
                    rdfs:domain :CausalDiscoveryMethod ;
                    rdfs:range :CausalGraph ;
                    rdfs:comment "A relation to connect a causal discovery method to the causal graph is produces." .


###  http://w3id.org/explainability/SoCK#representsSeparation
:representsSeparation rdf:type owl:ObjectProperty ;
                      rdfs:domain :ImpliedSeparation ;
                      rdfs:range :Separation ;
                      rdfs:comment "An implied separation represents a separation of two variables, which are conditioned on a set of variables. The exact variables in a separation are defined by Separation, while ImpliedSeparation only refers to the Separation it implies." .


###  http://w3id.org/explainability/SoCK#summarizes
:summarizes rdf:type owl:ObjectProperty ;
            rdfs:domain :GraphSummaryMetric ;
            rdfs:range :CausalGraph ;
            rdfs:comment "A relation between a graphSummaryMetric and its corresponding causal graph, which summarizes its global features." .


###  http://w3id.org/explainability/SoCK#testsImpliedSeparation
:testsImpliedSeparation rdf:type owl:ObjectProperty ;
                        rdfs:domain :ConditionalIndependenceTest ;
                        rdfs:range :Separation ;
                        rdfs:comment "A relation between a conditional independence test, and the implied separation that is tested by it." .


###  http://w3id.org/explainability/SoCK#testsSeparation
:testsSeparation rdf:type owl:ObjectProperty ;
                 rdfs:domain :ConditionalIndependenceTest ;
                 rdfs:range :Separation ;
                 rdfs:comment "A conditional indepdence test test a separation of two variables, when conditioned on a set of other variables. this setup is defined by the class :Separation." .


###  http://w3id.org/explainability/SoCK#usesDatasource
:usesDatasource rdf:type owl:ObjectProperty ;
                rdfs:domain :CausalDiscoveryMethod ;
                rdfs:range :Datasource ;
                rdfs:comment "A relation between a causal discovery method and the data source the method investigates." .


###  http://w3id.org/explainability/SoCK#worksUnderAssumption
:worksUnderAssumption rdf:type owl:ObjectProperty ;
                      rdfs:domain [ rdf:type owl:Class ;
                                    owl:unionOf ( :CausalDiscoveryMethod
                                                  :ConditionalIndependenceTest
                                                )
                                  ] ;
                      rdfs:range :Assumption ;
                      rdfs:comment "Each causal discovery method works under a set of assumptions. This is predefined by the specific method and how it operates, and cannot be adapted for each run of an algorithm." .


#################################################################
#    Data properties
#################################################################

###  http://w3id.org/explainability/SoCK#alpha
:alpha rdf:type owl:DatatypeProperty ;
       rdfs:domain [ rdf:type owl:Class ;
                     owl:unionOf ( :FCI
                                   :PC
                                 )
                   ] ;
       rdfs:range xsd:float ;
       rdfs:comment "Level of Test" .


###  http://w3id.org/explainability/SoCK#distanceValueAbsolute
:distanceValueAbsolute rdf:type owl:DatatypeProperty ;
                       rdfs:subPropertyOf owl:topDataProperty ;
                       rdfs:domain :GraphComparisonMetric ;
                       rdfs:range xsd:integer ;
                       owl:propertyDisjointWith :distanceValueRelative ;
                       rdfs:comment "The absolute distance value between two graphs. This is the amount of differences in total." .


###  http://w3id.org/explainability/SoCK#distanceValueRelative
:distanceValueRelative rdf:type owl:DatatypeProperty ;
                       rdfs:subPropertyOf owl:topDataProperty ;
                       rdfs:domain :GraphComparisonMetric ;
                       rdfs:range xsd:float ;
                       rdfs:comment "The relative distance value between two graphs. This is the amount of differences in total divided by the total amount of possible relations." .


###  http://w3id.org/explainability/SoCK#functionCall
:functionCall rdf:type owl:DatatypeProperty ;
              rdfs:domain :CausalDiscoveryAlgorithm ;
              rdfs:range xsd:string ;
              rdfs:comment "The function call of a specific package that implements a causal discovery algorithm, specifying all of its parameters." .


###  http://w3id.org/explainability/SoCK#hasDataType
:hasDataType rdf:type owl:DatatypeProperty ;
             rdfs:domain :Variable ;
             rdfs:range xsd:string ;
             rdfs:comment "Defines the Datatype of a variable (boolean, continuous, nominal)" .


###  http://w3id.org/explainability/SoCK#hasPValue
:hasPValue rdf:type owl:DatatypeProperty ;
           rdfs:domain :ConditionalIndependenceTest ;
           rdfs:range xsd:float ;
           rdfs:comment "The p value of the conditional independence test. This is represents the significance of a tested separation." .


###  http://w3id.org/explainability/SoCK#implementationLanguage
:implementationLanguage rdf:type owl:DatatypeProperty ;
                        rdfs:domain :CausalDiscoveryAlgorithm ;
                        rdfs:range xsd:string ;
                        rdfs:comment "The programming language, in which the method was run." .


###  http://w3id.org/explainability/SoCK#lambda
:lambda rdf:type owl:DatatypeProperty ;
        rdfs:domain :AlgorithmForIID ;
        rdfs:range xsd:float ;
        rdfs:comment "regularization strength" .


###  http://w3id.org/explainability/SoCK#usesPackage
:usesPackage rdf:type owl:DatatypeProperty ;
             rdfs:domain :CausalDiscoveryAlgorithm ;
             rdfs:range xsd:string ;
             rdfs:comment "The package or library, referring to a concrete implementation of the method, that was used to run a certain algorithm" .


#################################################################
#    Classes
#################################################################

###  http://w3id.org/explainability/SoCK#ADMG
:ADMG rdf:type owl:Class ;
      rdfs:subClassOf :DMG ;
      rdfs:comment "An ADMG is a more complex graph used when we suspect there are unmeasured (latent) variables. It contains two types of edges: directed arrows ($\\to$) and bidirected arrows ($\\leftrightarrow$)." ;
      rdfs:label "Acyclic Directed Mixed Graph (ADMG)" .


###  http://w3id.org/explainability/SoCK#AIModel
:AIModel rdf:type owl:Class ;
         rdfs:subClassOf :CausalDiscoveryMethod ;
         owl:disjointWith :Human ;
         rdfs:comment "A subclass of a causal discovery method, which uses some kind of AI model to produce a causal graph." .


###  http://w3id.org/explainability/SoCK#AlgorithmForIID
:AlgorithmForIID rdf:type owl:Class ;
                 rdfs:subClassOf :CausalDiscoveryAlgorithm ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :usesDatasource ;
                                   owl:allValuesFrom :IIDDatasource
                                 ] ;
                 rdfs:comment "A causal discovery algorithm that can work on IID (Independent and Identically Distributed) data." .


###  http://w3id.org/explainability/SoCK#Assumption
:Assumption rdf:type owl:Class ;
            rdfs:comment "An assumption that is taken by a causal discovery method. This assumption must be fulfilled for a method to produce valid results." .


###  http://w3id.org/explainability/SoCK#CPDAG
:CPDAG rdf:type owl:Class ;
       rdfs:subClassOf :CausalGraph ;
       rdfs:comment "Completed Partially Directed Acyclic Graph (CPDAG)" .


###  http://w3id.org/explainability/SoCK#CausalDiscoveryAlgorithm
:CausalDiscoveryAlgorithm rdf:type owl:Class ;
                          rdfs:subClassOf :AIModel ;
                          owl:disjointWith :LLM ;
                          rdfs:comment "A causal discovery algorithm that uses some kind of statistical methods to derive a causal graph." .


###  http://w3id.org/explainability/SoCK#CausalDiscoveryMethod
:CausalDiscoveryMethod rdf:type owl:Class ;
                       rdfs:comment "A Method for causal discovery, which produces a causal graph, usually based on a datasource, but not necessarily." .


###  http://w3id.org/explainability/SoCK#CausalEdge
:CausalEdge rdf:type owl:Class ;
            rdfs:subClassOf [ rdf:type owl:Restriction ;
                              owl:onProperty :connectsNode ;
                              owl:qualifiedCardinality "2"^^xsd:nonNegativeInteger ;
                              owl:onClass :CausalNode
                            ] ;
            rdfs:comment "An edge between two causal nodes, which defines some kind of causal relation between the two nodes." .


###  http://w3id.org/explainability/SoCK#CausalGraph
:CausalGraph rdf:type owl:Class ;
             rdfs:comment "A graph showing causal relations between a set of nodes, which was produced by some causal discovery algorithm." .


###  http://w3id.org/explainability/SoCK#CausalNode
:CausalNode rdf:type owl:Class ;
            rdfs:comment "A node in a causal graph." .


###  http://w3id.org/explainability/SoCK#CausalSufficiency
:CausalSufficiency rdf:type owl:Class ;
                   rdfs:subClassOf :Assumption ;
                   rdfs:comment "Causal Sufficiency states that all confounders of the observed variables have been measured and are included in the data." .


###  http://w3id.org/explainability/SoCK#ConditionalIndependenceTest
:ConditionalIndependenceTest rdf:type owl:Class ;
                             rdfs:comment "Conditional Independence refers to the situation where a variable (A) is independent of another set of variables (B) given (conditional on) a specific set of variables (C). This means that knowing one set of variables (B) provides no additional information about the variable in question (A) when the other set is already known (C)." .


###  http://w3id.org/explainability/SoCK#DAG
:DAG rdf:type owl:Class ;
     rdfs:subClassOf :ADMG ,
                     :DG ,
                     :EssentialGraph ;
     rdfs:comment "A DAG consists of nodes and directed edges (arrows) where no path exists that starts and ends at the same node." ;
     rdfs:label "Directed Acyclic Graph (DAG)" .


###  http://w3id.org/explainability/SoCK#DG
:DG rdf:type owl:Class ;
    rdfs:subClassOf :DMG ;
    rdfs:comment "A DG(directed graph)  is  a set of nodes connected by directed edges." ;
    rdfs:label "Directed Graph (DG)" .


###  http://w3id.org/explainability/SoCK#DMG
:DMG rdf:type owl:Class ;
     rdfs:subClassOf :CausalGraph ;
     rdfs:comment "Directed Mixed Graph (DMG)" .


###  http://w3id.org/explainability/SoCK#DSeparation
:DSeparation rdf:type owl:Class ;
             rdfs:subClassOf :ImpliedSeparation ;
             rdfs:comment "An Implied Separation for IID data." .


###  http://w3id.org/explainability/SoCK#Datasource
:Datasource rdf:type owl:Class ;
            rdfs:comment "A unique identifier for a dataset that is used for causal discovery." .


###  http://w3id.org/explainability/SoCK#EssentialGraph
:EssentialGraph rdf:type owl:Class ;
                rdfs:subClassOf :CPDAG ;
                rdfs:comment "a single graph that represents an entire Markov equivalence class, using directed edges for relationships where the causality is logically certain and undirected edges for those where the direction remains statistically indistinguishable." .


###  http://w3id.org/explainability/SoCK#FCI
:FCI rdf:type owl:Class ;
     rdfs:subClassOf :AlgorithmForIID ,
                     [ rdf:type owl:Restriction ;
                       owl:onProperty :outputsCausalGraph ;
                       owl:someValuesFrom :PAG
                     ] ,
                     [ rdf:type owl:Restriction ;
                       owl:onProperty :worksUnderAssumption ;
                       owl:someValuesFrom :Faithfulness
                     ] ;
     rdfs:comment "Fast Causal Inference (FCI)" .


###  http://w3id.org/explainability/SoCK#Faithfulness
:Faithfulness rdf:type owl:Class ;
              rdfs:subClassOf :Assumption ;
              rdfs:comment "The faithfulness assumption in causal inference states that all statistical independencies observed in data truly reflect conditional independencies (d-separations) in the underlying causal graph, meaning no effects perfectly cancel out due to specific parameter settings." .


###  http://w3id.org/explainability/SoCK#GraphComparisonMetric
:GraphComparisonMetric rdf:type owl:Class ;
                       rdfs:subClassOf [ rdf:type owl:Restriction ;
                                         owl:onProperty :compares ;
                                         owl:qualifiedCardinality "2"^^xsd:nonNegativeInteger ;
                                         owl:onClass :CausalGraph
                                       ] ;
                       rdfs:comment "A metric to compare two causal graphs." .


###  http://w3id.org/explainability/SoCK#GraphSummaryMetric
:GraphSummaryMetric rdf:type owl:Class ;
                    rdfs:subClassOf [ rdf:type owl:Restriction ;
                                      owl:onProperty :summarizes ;
                                      owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                      owl:onClass :CausalGraph
                                    ] ;
                    rdfs:comment "A metric that analyses graph properties, summarizing their structure." .


###  http://w3id.org/explainability/SoCK#HammingDistance
:HammingDistance rdf:type owl:Class ;
                 rdfs:subClassOf :GraphComparisonMetric ;
                 owl:disjointWith :SeparationDistance ;
                 rdfs:comment "Hamming distance for graphs measures structural difference, typically by comparing their binary adjacency matrices." .


###  http://w3id.org/explainability/SoCK#Human
:Human rdf:type owl:Class ;
       rdfs:subClassOf :CausalDiscoveryMethod ;
       rdfs:comment "A human (expert), whose expertise is used to produce a causal graph." .


###  http://w3id.org/explainability/SoCK#IIDDatasource
:IIDDatasource rdf:type owl:Class ;
               rdfs:subClassOf :Datasource ;
               owl:disjointWith :TimeseriesDatasource ;
               rdfs:comment "An independent and identically distributed datasource." .


###  http://w3id.org/explainability/SoCK#ImpliedSeparation
:ImpliedSeparation rdf:type owl:Class ;
                   rdfs:comment "An implied separation determines if two sets of variables are statistically independent based on the paths and arrowheads connecting them in a causal graph (which implies this separation)." .


###  http://w3id.org/explainability/SoCK#LLM
:LLM rdf:type owl:Class ;
     rdfs:subClassOf :AIModel ;
     rdfs:comment "An LLM, which was used to produce a causal graph." .


###  http://w3id.org/explainability/SoCK#LatentVariable
:LatentVariable rdf:type owl:Class ;
                rdfs:subClassOf :CausalNode ;
                rdfs:comment "A node in a causal graph, which contains unobserved variables." .


###  http://w3id.org/explainability/SoCK#Linearity
:Linearity rdf:type owl:Class ;
           rdfs:subClassOf :Assumption ;
           rdfs:comment "linearity assumption means the treatment's effect on the outcome is a constant, straight-line change." .


###  http://w3id.org/explainability/SoCK#MuSeparation
:MuSeparation rdf:type owl:Class ;
              rdfs:subClassOf :ImpliedSeparation ;
              rdfs:comment "An implied Separation for timeseries data." .


###  http://w3id.org/explainability/SoCK#NOTEARS
:NOTEARS rdf:type owl:Class ;
         rdfs:subClassOf :AlgorithmForIID ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :outputsCausalGraph ;
                           owl:someValuesFrom :DAG
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :worksUnderAssumption ;
                           owl:someValuesFrom :CausalSufficiency
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :worksUnderAssumption ;
                           owl:someValuesFrom :Faithfulness
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :worksUnderAssumption ;
                           owl:someValuesFrom :Linearity
                         ] ;
         rdfs:comment "NOTEARS (Non-combinatorial Optimization for Learning Interpretable Acyclic Graphs) is a causal discovery algorithm, which treats the causal discovery problem as a continuous optimization problem." .


###  http://w3id.org/explainability/SoCK#PAG
:PAG rdf:type owl:Class ;
     rdfs:subClassOf :CausalGraph ;
     rdfs:comment "Partial Ancestral Graph (PAG)" .


###  http://w3id.org/explainability/SoCK#PC
:PC rdf:type owl:Class ;
    rdfs:subClassOf :AlgorithmForIID ,
                    [ rdf:type owl:Restriction ;
                      owl:onProperty :outputsCausalGraph ;
                      owl:someValuesFrom :CPDAG
                    ] ,
                    [ rdf:type owl:Restriction ;
                      owl:onProperty :worksUnderAssumption ;
                      owl:someValuesFrom :CausalSufficiency
                    ] ,
                    [ rdf:type owl:Restriction ;
                      owl:onProperty :worksUnderAssumption ;
                      owl:someValuesFrom :Faithfulness
                    ] ;
    rdfs:comment "Peter-Clark (PC)" .


###  http://w3id.org/explainability/SoCK#R2SORT
:R2SORT rdf:type owl:Class ;
        rdfs:subClassOf :AlgorithmForIID ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :outputsCausalGraph ;
                          owl:someValuesFrom :DAG
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :worksUnderAssumption ;
                          owl:someValuesFrom :CausalSufficiency
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :worksUnderAssumption ;
                          owl:someValuesFrom :Faithfulness
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :worksUnderAssumption ;
                          owl:someValuesFrom :Linearity
                        ] ;
        rdfs:comment "A causal discovery algorithm to identify the topological ordering of variables in a Directed Acyclic Graph (DAG) by leveraging the statistical properties of the coefficient of determination (R2)." .


###  http://w3id.org/explainability/SoCK#Separation
:Separation rdf:type owl:Class ;
            rdfs:subClassOf [ rdf:type owl:Restriction ;
                              owl:onProperty :conditionedOn ;
                              owl:someValuesFrom :CausalNode
                            ] ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :hasIndependentVariable ;
                              owl:someValuesFrom :CausalNode
                            ] ,
                            [ rdf:type owl:Restriction ;
                              owl:onProperty :independentOf ;
                              owl:someValuesFrom :CausalNode
                            ] ;
            rdfs:comment "A superclass, which encompasses Independence Separations, such as Conditional Independence and Implied Separations." .


###  http://w3id.org/explainability/SoCK#SeparationDistance
:SeparationDistance rdf:type owl:Class ;
                    rdfs:subClassOf :GraphComparisonMetric ;
                    rdfs:comment "Separation distance measures how different two causal graphs are by focusing on their conditional independence (separation) properties." .


###  http://w3id.org/explainability/SoCK#TemporalConditionalIndependence
:TemporalConditionalIndependence rdf:type owl:Class ;
                                 rdfs:subClassOf :ConditionalIndependenceTest ;
                                 rdfs:comment "Conditional Indepdendence of Temporal Variables are slightly different to Conditional Independence of IID Variables, as this is not a symmetric relation anymore, given time. Thus, temporal conditional independence always requires a direction." .


###  http://w3id.org/explainability/SoCK#TimeseriesDatasource
:TimeseriesDatasource rdf:type owl:Class ;
                      rdfs:subClassOf :Datasource ;
                      rdfs:comment "A timeseries datasource, meaning that measurements are associated with timestamps. The present of a variable is dependent on its past observations." .


###  http://w3id.org/explainability/SoCK#Variable
:Variable rdf:type owl:Class ;
          rdfs:comment "A Variable, defined as part of a data set." .


_:genid27 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "84.07475598992332"^^xsd:double ;
          <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "283.77211890929726"^^xsd:double ;
          rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid28 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "48.43081593143603"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "172.93312906269063"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid29 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "75.29316433092994"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "221.57756745151747"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid30 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "140.5968539164047"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "299.10683478854116"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid31 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "193.5453451690675"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "54.784602407831926"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid32 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "212.2299974409006"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "185.28573689667058"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid33 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "137.75180807367553"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "223.24682939876828"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid34 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "286.0661568740652"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "187.51323184255375"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid35 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "55.894874715998924"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "192.21191975303879"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid36 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "489.7195395268974"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "250.44649334453283"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid37 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "40.81401494785077"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "111.0501753883382"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid38 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "297.5262125331388"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "254.05948813266755"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

_:genid39 <http://ontologydesignpatterns.org/opla-sd#entityPositionX> "1.842414933921568"^^xsd:double ;
           <http://ontologydesignpatterns.org/opla-sd#entityPositionY> "178.9329457608321"^^xsd:double ;
           rdfs:comment "This is an entity positioning annotation generated by CoModIDE (https://comodide.com/). Removing this annotation will break rendering the CoModIDE schema diagram view."@en .

#################################################################
#    General axioms
#################################################################

[ rdf:type owl:AllDisjointClasses ;
   owl:members ( :FCI
                 :PC
                 :R2SORT
               )
 ] .


###  Generated by the OWL API (version 5.1.18) https://github.com/owlcs/owlapi/
