@prefix : <https://purl.org/packagegraph/ontology/core#> .
@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 <https://purl.org/packagegraph/ontology/core#> .

<https://purl.org/packagegraph/ontology/core#> rdf:type owl:Ontology ;
                                                owl:imports <https://purl.org/packagegraph/ontology/core#> ;
                                                <http://purl.org/dc/terms/abstract> "Models Flatpak's sandboxed application distribution including application IDs, runtimes, SDK extensions, finish-args (sandbox permissions), and Flathub remotes. Captures the application-level packaging model distinct from system-level package managers." ;
                                                <http://purl.org/dc/terms/created> "2026-04-14"^^xsd:date ;
                                                <http://purl.org/dc/terms/license> <https://creativecommons.org/publicdomain/zero/1.0/> ;
                                                <http://purl.org/dc/terms/modified> "2026-04-21"^^xsd:date ;
                                                rdfs:comment "Ontology for representing Flatpak applications, runtimes, and remotes"@en ;
                                                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                rdfs:label "Flatpak Application Ontology"@en ;
                                                rdfs:seeAlso <https://purl.org/packagegraph/ontology/flatpak/shapes> ;
                                                owl:priorVersion <https://purl.org/packagegraph/ontology/flatpak/0.6.0> ;
                                                owl:versionInfo "0.7.0" .

#################################################################
#    Annotation properties
#################################################################

###  http://purl.obolibrary.org/obo/IAO_0000115
<http://purl.obolibrary.org/obo/IAO_0000115> rdf:type owl:AnnotationProperty ;
                                             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> .


###  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 ;
                                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> .


###  http://purl.org/dc/terms/description
<http://purl.org/dc/terms/description> rdf:type owl:AnnotationProperty ;
                                       rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> .


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


###  http://purl.org/dc/terms/title
<http://purl.org/dc/terms/title> rdf:type owl:AnnotationProperty ;
                                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> .


#################################################################
#    Datatypes
#################################################################

###  http://www.w3.org/2001/XMLSchema#date
xsd:date rdf:type rdfs:Datatype .


###  http://www.w3.org/2001/XMLSchema#duration
xsd:duration rdf:type rdfs:Datatype .


#################################################################
#    Object Properties
#################################################################

###  https://purl.org/packagegraph/ontology/core#applicableArchitecture
:applicableArchitecture rdf:type owl:ObjectProperty ;
                        rdfs:domain :Dependency ;
                        rdfs:range :Architecture ;
                        <http://purl.obolibrary.org/obo/IAO_0000115> "Specifies the architecture(s) for which this dependency applies. Many package ecosystems support architecture-conditional dependencies: RPM allows architecture qualifiers in Requires directives (e.g., glibc is required on x86_64 but not wasm), Debian allows architecture restrictions in Build-Depends fields (e.g., [amd64] [arm64]). When omitted, the dependency applies to all architectures."@en ;
                        rdfs:comment "The architecture(s) for which this dependency applies (architecture-conditional dependencies)"@en ;
                        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                        rdfs:label "applicable architecture"@en .


###  https://purl.org/packagegraph/ontology/core#buildDependsOn
:buildDependsOn rdf:type owl:ObjectProperty ;
                rdfs:subPropertyOf :dependsOn ;
                rdfs:domain :SourcePackage ;
                rdfs:range :Package ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship indicating that one package is required to compile or build a source package from its source code, but is not required for the resulting binary packages to function."@en ;
                rdfs:comment "Indicates a build-time dependency that is required to build the source package but not needed at runtime."@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "build depends on"@en .


###  https://purl.org/packagegraph/ontology/core#builtFromSource
:builtFromSource rdf:type owl:ObjectProperty ;
                 rdfs:subPropertyOf <http://www.w3.org/ns/prov#wasDerivedFrom> ;
                 owl:inverseOf :producedBinary ;
                 rdf:type owl:AsymmetricProperty ;
                 rdfs:domain :BinaryPackage ;
                 rdfs:range :SourcePackage ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a binary package with the source package from which it was compiled, enabling grouping of related binary outputs."@en ;
                 rdfs:comment "Links a binary package to the source package it was built from"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "built from source"@en .


###  https://purl.org/packagegraph/ontology/core#checkRequires
:checkRequires rdf:type owl:ObjectProperty ;
               rdfs:subPropertyOf :dependsOn ;
               rdfs:domain :SourcePackage ;
               rdfs:range :Package ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "A test-time dependency required to run a source package's test suite but not needed for building or runtime. Used in RPM BuildRequires with check context."@en ;
               rdfs:comment "Indicates a test-time dependency for running the package's test suite"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "check requires"@en .


###  https://purl.org/packagegraph/ontology/core#conflicts
:conflicts rdf:type owl:ObjectProperty ,
                    owl:SymmetricProperty ,
                    owl:IrreflexiveProperty ;
           rdfs:domain :Package ;
           rdfs:range :Package ;
           <http://purl.obolibrary.org/obo/IAO_0000115> "A symmetric relationship indicating that two packages cannot be installed simultaneously on the same system due to incompatibilities or resource conflicts. If package A conflicts with package B, then B conflicts with A."@en ;
           rdfs:comment "Indicates that a package cannot be installed alongside another package (symmetric relationship)"@en ;
           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
           rdfs:label "conflicts"@en .


###  https://purl.org/packagegraph/ontology/core#containedIn
:containedIn rdf:type owl:ObjectProperty ;
             owl:inverseOf :contains ;
             rdfs:domain :Package ;
             rdfs:range :Repository ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship that associates a software package with the repository where it is stored and made available for distribution."@en ;
             rdfs:comment "Links a package to the repository that contains it"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "contained in"@en .


###  https://purl.org/packagegraph/ontology/core#contains
:contains rdf:type owl:ObjectProperty ;
          rdfs:domain :Repository ;
          rdfs:range :Package ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship that associates a repository with the packages it hosts and makes available for distribution."@en ;
          rdfs:comment "Links a repository to the packages it contains"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "contains"@en .


###  https://purl.org/packagegraph/ontology/core#contributesTo
:contributesTo rdf:type owl:ObjectProperty ;
               rdfs:domain :Contributor ;
               rdfs:range :Repository ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a contributor role with repositories it contributes to, enabling analysis of contributor activity across repositories."@en ;
               rdfs:comment "Links a contributor role to repositories it contributes to. Conceptually related to hasContributor (Repository→Agent convenience shortcut), but not formally inverse to avoid OntoClean role/identity collapse."@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "contributes to"@en .


###  https://purl.org/packagegraph/ontology/core#contributorOrganization
:contributorOrganization rdf:type owl:ObjectProperty ;
                         rdfs:domain :Contributor ;
                         rdfs:range <http://xmlns.com/foaf/0.1/Organization> ;
                         <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a contributor with the organization they are affiliated with, enabling analysis of contributor diversity and organizational representation in package maintenance."@en ;
                         rdfs:comment "Links a contributor to their affiliated organization"@en ;
                         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                         rdfs:label "contributor organization"@en .


###  https://purl.org/packagegraph/ontology/core#crossDistributionAlternative
:crossDistributionAlternative rdf:type owl:ObjectProperty ,
                                       owl:SymmetricProperty ;
                              rdfs:domain :Package ;
                              rdfs:range :Package ;
                              <http://purl.obolibrary.org/obo/IAO_0000115> "Associates packages from different distributions that provide similar functionality or serve analogous purposes. This is a correspondence assertion, not formal equivalence — it is symmetric but intentionally NOT transitive, as cross-distribution package equivalence is context-dependent (e.g., Debian libssl-dev corresponds to Fedora openssl-devel, but Alpine equivalents may differ in ABI or capabilities)."@en ;
                              rdfs:comment "Links packages that serve similar functions across distributions. Intentionally non-transitive: A~B and B~C does not imply A~C."@en ;
                              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                              rdfs:label "cross-distribution alternative"@en .


###  https://purl.org/packagegraph/ontology/core#dependencyTarget
:dependencyTarget rdf:type owl:ObjectProperty ;
                  rdfs:domain :Dependency ;
                  rdfs:range :Package ;
                  <http://purl.obolibrary.org/obo/IAO_0000115> "Identifies the specific package that satisfies a dependency, linking the reified Dependency to its target Package."@en ;
                  rdfs:comment "The package that a dependency relationship targets"@en ;
                  rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                  rdfs:label "dependency target"@en .


###  https://purl.org/packagegraph/ontology/core#dependencyType
:dependencyType rdf:type owl:ObjectProperty ;
                rdfs:domain :Dependency ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "Classifies the nature of a dependency relationship by linking the reified Dependency node directly to the formal property predicate that defines its semantics. Values are property URIs (pkg:dependsOn, pkg:buildDependsOn, pkg:recommends, etc.) using OWL 2 punning. This harmonizes the dual-model: the reified node references the exact shortcut predicate it represents, unifying what was previously a disconnected magic string with the traversable property hierarchy."@en ;
                rdfs:comment "The type of dependency relationship, represented by the URI of the corresponding shortcut property"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "dependency type"@en .


###  https://purl.org/packagegraph/ontology/core#dependsOn
:dependsOn rdf:type owl:ObjectProperty ;
           owl:inverseOf :isDependencyOf ;
           rdfs:domain :Package ;
           rdfs:range :Package ;
           <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship indicating that one package requires another package to be present and functional in order to operate correctly."@en ;
           rdfs:comment "Indicates that a package requires another package to function"@en ;
           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
           rdfs:label "depends on"@en .


###  https://purl.org/packagegraph/ontology/core#derivedFrom
:derivedFrom rdf:type owl:ObjectProperty ;
             rdfs:domain :Distribution ;
             rdfs:range :Distribution ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "Specifies that one distribution is based on or derived from another distribution's codebase and package set."@en ;
             rdfs:comment "Indicates that one distribution is derived from another"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "derived from"@en .


###  https://purl.org/packagegraph/ontology/core#derivedFromCommit
:derivedFromCommit rdf:type owl:ObjectProperty ;
                   rdfs:subPropertyOf <http://www.w3.org/ns/prov#wasDerivedFrom> ;
                   rdfs:domain :Package ;
                   rdfs:range <https://purl.org/packagegraph/ontology/vcs#Commit> ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with the specific VCS commit from which it was built, enabling precise source-to-binary traceability and build reproducibility verification."@en ;
                   rdfs:comment "Links a package to the VCS commit it was built from"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "derived from commit"@en .


###  https://purl.org/packagegraph/ontology/core#derivedFromDistribution
:derivedFromDistribution rdf:type owl:ObjectProperty ;
                         rdfs:domain :Distribution ;
                         rdfs:range :Distribution ;
                         <http://purl.obolibrary.org/obo/IAO_0000115> "Indicates that one distribution is derived from another (e.g., Ubuntu from Debian, CentOS from RHEL), establishing distribution lineage for package tracking."@en ;
                         rdfs:comment "Indicates that one distribution is derived from another"@en ;
                         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                         rdfs:label "derived from distribution"@en .


###  https://purl.org/packagegraph/ontology/core#directlyConflictsWith
:directlyConflictsWith rdf:type owl:ObjectProperty ;
                       rdfs:subPropertyOf :conflicts ;
                       rdf:type owl:SymmetricProperty ;
                       rdfs:domain :Package ;
                       rdfs:range :Package ;
                       <http://purl.obolibrary.org/obo/IAO_0000115> "A direct conflict relationship between packages, providing an efficient query path for identifying incompatible packages."@en ;
                       rdfs:comment "Direct conflict relationship between packages for efficient querying"@en ;
                       rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                       rdfs:label "directly conflicts with"@en .


###  https://purl.org/packagegraph/ontology/core#directlyDependsOn
:directlyDependsOn rdf:type owl:ObjectProperty ;
                   rdfs:subPropertyOf :dependsOn ;
                   owl:inverseOf :isDirectDependencyOf ;
                   rdfs:domain :Package ;
                   rdfs:range :Package ;
                   owl:propertyChainAxiom ( :hasDependency
                                            :dependencyTarget
                                          ) ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "A direct dependency relationship between packages, providing an efficient query path that bypasses the detailed dependency metadata structure. This property is a materialized convenience shortcut semantically grounded by the property chain axiom: if X hasDependency D and D dependencyTarget Y, then X directlyDependsOn Y. For version constraint details, traverse the Dependency reification."@en ;
                   rdfs:comment "Materialized convenience shortcut of the hasDependency → dependencyTarget chain. For version constraint details, traverse the Dependency reification. NOTE: owl:propertyChainAxiom requires OWL 2 reasoning to materialize — Fuseki without OWL reasoning will not auto-derive this property from hasDependency chains."@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "directly depends on"@en .


###  https://purl.org/packagegraph/ontology/core#directlyProvides
:directlyProvides rdf:type owl:ObjectProperty ;
                  rdfs:subPropertyOf :provides ;
                  rdfs:domain :Package ;
                  rdfs:range :Package ;
                  <http://purl.obolibrary.org/obo/IAO_0000115> "A direct provision relationship indicating that one package provides the functionality of another, optimized for efficient dependency resolution queries."@en ;
                  rdfs:comment "Direct provision relationship between packages for efficient querying"@en ;
                  rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                  rdfs:label "directly provides"@en .


###  https://purl.org/packagegraph/ontology/core#ecosystemPackage
:ecosystemPackage rdf:type owl:ObjectProperty ;
                  rdfs:domain :UpstreamProject ;
                  rdfs:range :PackageIdentity ;
                  <http://purl.obolibrary.org/obo/IAO_0000115> "Links an upstream project to package identities in various ecosystems (PyPI, npm, Cargo, etc.). Enables queries like 'what packages from different ecosystems come from the same project'."@en ;
                  rdfs:comment "Links an upstream project to a package identity in a specific ecosystem"@en ;
                  rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                  rdfs:label "ecosystem package"@en .


###  https://purl.org/packagegraph/ontology/core#enhances
:enhances rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :dependsOn ;
          rdfs:domain :Package ;
          rdfs:range :Package ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "A reverse-direction weak dependency indicating that installing this package enhances the functionality of the target package. Used in Debian Enhances tag. If package A enhances package B, installing A provides additional features to B."@en ;
          rdfs:comment "Indicates that this package enhances another package's functionality"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "enhances"@en .


###  https://purl.org/packagegraph/ontology/core#excludedArchitecture
:excludedArchitecture rdf:type owl:ObjectProperty ;
                      rdfs:domain :PackageIdentity ;
                      rdfs:range :Architecture ;
                      <http://purl.obolibrary.org/obo/IAO_0000115> "Indicates an architecture on which this package is known to be unavailable due to architectural constraints or hardware requirements, not build failures. Used to distinguish missing packages from architecturally impossible ones."@en ;
                      rdfs:comment "Indicates an architecture on which this package is known to be unavailable due to architectural constraints"@en ;
                      rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                      rdfs:label "excluded architecture"@en .


###  https://purl.org/packagegraph/ontology/core#hasABI
:hasABI rdf:type owl:ObjectProperty ;
        rdfs:domain :Package ;
        rdfs:range :ABI ;
        <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with the application binary interface it conforms to."@en ;
        rdfs:comment "Links a package to its application binary interface"@en ;
        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
        rdfs:label "has ABI"@en .


###  https://purl.org/packagegraph/ontology/core#hasAccount
:hasAccount rdf:type owl:ObjectProperty ;
            rdfs:domain :Person ;
            rdfs:range :ContributorAccount ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a person with a ContributorAccount representing their identity on a specific platform (e.g., GitHub username, Fedora Account System login, Debian maintainer email)."@en ;
            rdfs:comment "Links a person to their platform account identifier"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "has account"@en .


###  https://purl.org/packagegraph/ontology/core#hasChecksum
:hasChecksum rdf:type owl:ObjectProperty ;
             rdfs:domain :Package ;
             rdfs:range :Checksum ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with a Checksum instance containing a hash value and algorithm."@en ;
             rdfs:comment "Links a package to one of its checksums"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "has checksum"@en .


###  https://purl.org/packagegraph/ontology/core#hasContributor
:hasContributor rdf:type owl:ObjectProperty ;
                rdfs:domain :Repository ;
                rdfs:range <http://www.w3.org/ns/prov#Agent> ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "Convenience property linking a repository directly to the agents (Person or SoftwareAgent) contributing to it. For detailed role information, traverse via contribution role assignments."@en ;
                rdfs:comment "Links a repository directly to contributing agents (persons or software agents). Conceptually related to contributesTo (Contributor→Repository), but not formally inverse to avoid OntoClean role/identity collapse."@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "has contributor"@en .


###  https://purl.org/packagegraph/ontology/core#hasDependency
:hasDependency rdf:type owl:ObjectProperty ;
               rdfs:domain :Package ;
               rdfs:range :Dependency ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with a structured dependency that captures the target package, version constraints, and dependency type. Detailed dependency with type and version constraint. The directlyDependsOn shortcut provides a simpler graph traversal path for queries that don't need constraint details."@en ;
               rdfs:comment "Links a package to a reified dependency relationship with version constraints. The directlyDependsOn property provides a materialized shortcut (via owl:propertyChainAxiom) for simpler traversal."@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "has dependency"@en .


###  https://purl.org/packagegraph/ontology/core#hasISA
:hasISA rdf:type owl:ObjectProperty ;
        rdfs:domain :Package ;
        rdfs:range :InstructionSetArchitecture ;
        <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a binary package with the specific instruction set architecture it was compiled for."@en ;
        rdfs:comment "Links a package to its instruction set architecture"@en ;
        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
        rdfs:label "has instruction set architecture"@en .


###  https://purl.org/packagegraph/ontology/core#hasLicense
:hasLicense rdf:type owl:ObjectProperty ;
            rdfs:domain :Package ;
            rdfs:range :License ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship that associates a software package with the legal license under which it is distributed and may be used."@en ;
            rdfs:comment "Links a package to its license"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "has license"@en .


###  https://purl.org/packagegraph/ontology/core#hasMaintainerRole
:hasMaintainerRole rdf:type owl:ObjectProperty ;
                   rdfs:domain :Maintainer ;
                   rdfs:range :MaintainerRole ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a maintainer with their specific role and responsibilities for packages."@en ;
                   rdfs:comment "Links a maintainer to their specific role"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "has maintainer role"@en .


###  https://purl.org/packagegraph/ontology/core#hasMaintenanceRole
:hasMaintenanceRole rdf:type owl:ObjectProperty ;
                    rdfs:domain :Package ;
                    rdfs:range :Maintainer ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with a Maintainer role assignment, providing access to role type (via hasMaintainerRole), start date (via maintainerSince), and the agent holding the role (via heldBy)."@en ;
                    rdfs:comment "Links a package to a maintenance role assignment providing detailed role metadata"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "has maintenance role"@en .


###  https://purl.org/packagegraph/ontology/core#hasPackage
:hasPackage rdf:type owl:ObjectProperty ;
            rdfs:domain :PackageIdentity ;
            rdfs:range :BinaryPackage ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "The inverse relationship of isVersionOf, linking a package identity to all versioned binary packages that belong to it. Enables efficient 'list all versions of package X' queries from the identity node."@en ;
            rdfs:comment "Links a package identity to its versioned binary package instances."@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "has package"@en .


###  https://purl.org/packagegraph/ontology/core#hasRelease
:hasRelease rdf:type owl:ObjectProperty ;
            rdfs:domain :Distribution ;
            rdfs:range :DistributionRelease ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a distribution with a specific versioned release, such as Debian 12 or Fedora 41."@en ;
            rdfs:comment "Links a distribution to one of its releases"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "has release"@en .


###  https://purl.org/packagegraph/ontology/core#hasUpstreamProject
:hasUpstreamProject rdf:type owl:ObjectProperty ;
                    rdfs:domain :SourcePackage ;
                    rdfs:range :UpstreamProject ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a source package with the upstream open source project that it packages for distribution."@en ;
                    rdfs:comment "Links a source package to the upstream project it packages"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "has upstream project"@en .


###  https://purl.org/packagegraph/ontology/core#hasVersion
:hasVersion rdf:type owl:ObjectProperty ;
            owl:inverseOf :versionOf ;
            rdfs:domain :Package ;
            rdfs:range :Version ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship that associates a software package with a specific version or release of that package."@en ;
            rdfs:comment "Links a package to one of its versions"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "has version"@en .


###  https://purl.org/packagegraph/ontology/core#hasVersionConstraint
:hasVersionConstraint rdf:type owl:ObjectProperty ;
                      rdfs:domain :Dependency ;
                      rdfs:range :VersionConstraint ;
                      <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a dependency with a structured version constraint that specifies acceptable version ranges."@en ;
                      rdfs:comment "Links a dependency to a structured version constraint"@en ;
                      rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                      rdfs:label "has version constraint"@en .


###  https://purl.org/packagegraph/ontology/core#heldBy
:heldBy rdf:type owl:ObjectProperty ;
        owl:inverseOf :holdsRole ;
        rdfs:domain :Contributor ;
        rdfs:range <http://www.w3.org/ns/prov#Agent> ;
        <http://purl.obolibrary.org/obo/IAO_0000115> "The inverse of holdsRole — links a role assignment to the agent (Person or SoftwareAgent) holding it, enabling representation of both human maintainers and automated bot contributors."@en ;
        rdfs:comment "Links a role assignment back to the agent (person or software agent) who holds it"@en ;
        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
        rdfs:label "held by"@en .


###  https://purl.org/packagegraph/ontology/core#holdsRole
:holdsRole rdf:type owl:ObjectProperty ;
           rdfs:domain <http://www.w3.org/ns/prov#Agent> ;
           rdfs:range :Contributor ;
           <http://purl.obolibrary.org/obo/IAO_0000115> "Associates an agent (Person or SoftwareAgent) with a contribution or maintenance role assignment."@en ;
           rdfs:comment "Links an agent (person or software agent) to a contributor or maintainer role they hold"@en ;
           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
           rdfs:label "holds role"@en .


###  https://purl.org/packagegraph/ontology/core#installsFile
:installsFile rdf:type owl:ObjectProperty ;
              rdfs:domain :BinaryPackage ;
              rdfs:range :InstalledFile ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a binary package with a file it installs on the target filesystem."@en ;
              rdfs:comment "Links a binary package to a file it installs on the system"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "installs file"@en .


###  https://purl.org/packagegraph/ontology/core#isDependencyOf
:isDependencyOf rdf:type owl:ObjectProperty ;
                rdfs:domain :Package ;
                rdfs:range :Package ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "The inverse relationship of dependsOn, indicating that this package is required by another package."@en ;
                rdfs:comment "Indicates that this package is a dependency of another package"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "is dependency of"@en .


###  https://purl.org/packagegraph/ontology/core#isDirectDependencyOf
:isDirectDependencyOf rdf:type owl:ObjectProperty ;
                      rdfs:subPropertyOf :isDependencyOf ;
                      rdfs:domain :Package ;
                      rdfs:range :Package ;
                      <http://purl.obolibrary.org/obo/IAO_0000115> "The inverse relationship of directlyDependsOn, indicating that this package is a direct dependency of another package. Critical for blast radius analysis - enables efficient queries for 'what directly depends on this package'."@en ;
                      rdfs:comment "Indicates that this package is a direct dependency of another package"@en ;
                      rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                      rdfs:label "is direct dependency of"@en .


###  https://purl.org/packagegraph/ontology/core#isProvidedBy
:isProvidedBy rdf:type owl:ObjectProperty ;
              owl:inverseOf :provides ;
              rdfs:domain :Package ;
              rdfs:range :Package ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "The inverse relationship of provides, indicating that this package's functionality is offered by another package."@en ;
              rdfs:comment "Indicates that this package's functionality is provided by another package"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "is provided by"@en .


###  https://purl.org/packagegraph/ontology/core#isReplacedBy
:isReplacedBy rdf:type owl:ObjectProperty ;
              owl:inverseOf :replaces ;
              rdfs:domain :Package ;
              rdfs:range :Package ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "The inverse relationship of replaces, indicating that this package is superseded by another package."@en ;
              rdfs:comment "Indicates that this package is replaced by another package"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "is replaced by"@en .


###  https://purl.org/packagegraph/ontology/core#isVersionOf
:isVersionOf rdf:type owl:ObjectProperty ;
             owl:inverseOf :hasPackage ;
             rdfs:domain :BinaryPackage ;
             rdfs:range :PackageIdentity ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a specific versioned binary package with the canonical package identity it belongs to. Enables queries that traverse from a versioned instance to all other versions of the same package."@en ;
             rdfs:comment "Links a versioned binary package to its version-agnostic package identity."@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "is version of"@en .


###  https://purl.org/packagegraph/ontology/core#maintainedBy
:maintainedBy rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf <http://www.w3.org/ns/prov#wasAttributedTo> ;
              owl:inverseOf :maintains ;
              rdfs:domain :Package ;
              rdfs:range <http://www.w3.org/ns/prov#Agent> ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "Convenience property linking a package directly to the agent (Person or SoftwareAgent) maintaining it. For detailed role metadata (role type, start date), use hasMaintenanceRole."@en ;
              rdfs:comment "Links a package directly to the agent (person or software agent) maintaining it"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "maintained by"@en .


###  https://purl.org/packagegraph/ontology/core#maintains
:maintains rdf:type owl:ObjectProperty ;
           rdfs:domain <http://www.w3.org/ns/prov#Agent> ;
           rdfs:range :Package ;
           <http://purl.obolibrary.org/obo/IAO_0000115> "The inverse of maintainedBy, linking an agent (Person or SoftwareAgent) to the packages they maintain."@en ;
           rdfs:comment "Links an agent (person or software agent) to the packages they maintain"@en ;
           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
           rdfs:label "maintains"@en .


###  https://purl.org/packagegraph/ontology/core#managedBy
:managedBy rdf:type owl:ObjectProperty ;
           owl:inverseOf :manages ;
           rdfs:domain :Repository ;
           rdfs:range :PackageManager ;
           <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship that associates a package repository with the package management system that controls and provides access to it."@en ;
           rdfs:comment "Links a repository to the package manager that manages it"@en ;
           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
           rdfs:label "managed by"@en .


###  https://purl.org/packagegraph/ontology/core#manages
:manages rdf:type owl:ObjectProperty ;
         rdfs:domain :PackageManager ;
         rdfs:range :Repository ;
         <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship that associates a package manager with the repositories it controls and provides access to."@en ;
         rdfs:comment "Links a package manager to the repositories it manages"@en ;
         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
         rdfs:label "manages"@en .


###  https://purl.org/packagegraph/ontology/core#memberOfPackageSet
:memberOfPackageSet rdf:type owl:ObjectProperty ;
                    rdfs:domain :Package ;
                    rdfs:range :PackageSet ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with a named package set that it belongs to, enabling classification of packages into product-specific or distribution-specific groupings."@en ;
                    rdfs:comment "Links a package to a package set it belongs to"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "member of package set"@en .


###  https://purl.org/packagegraph/ontology/core#packagingRepository
:packagingRepository rdf:type owl:ObjectProperty ;
                     rdfs:domain :PackageIdentity ;
                     rdfs:range <https://purl.org/packagegraph/ontology/vcs#Repository> ;
                     <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package identity with the distribution-specific repository that contains the packaging metadata (debian/ directory, spec files, patches). Distinct from the upstream repository — packaging repos are distro-specific while upstream repos are universal."@en ;
                     rdfs:comment "The distribution-specific packaging repository (e.g., Debian Salsa, Fedora dist-git). Contains packaging rules, patches, and build configuration."@en ;
                     rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                     rdfs:label "packaging repository"@en .


###  https://purl.org/packagegraph/ontology/core#partOfDistribution
:partOfDistribution rdf:type owl:ObjectProperty ;
                    rdfs:range :Distribution ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Associates packages, repositories, or other components with their parent distribution."@en ;
                    rdfs:comment "Links packages or repositories to their parent distribution"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "part of distribution"@en .


###  https://purl.org/packagegraph/ontology/core#partOfEcosystem
:partOfEcosystem rdf:type owl:ObjectProperty ;
                 rdfs:domain :Distribution ;
                 rdfs:range :Ecosystem ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a distribution with the broader package ecosystem it belongs to."@en ;
                 rdfs:comment "Links a distribution to its broader ecosystem"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "part of ecosystem"@en .


###  https://purl.org/packagegraph/ontology/core#partOfRelease
:partOfRelease rdf:type owl:ObjectProperty ;
               rdfs:range :DistributionRelease ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "Associates packages, repositories, or other components with a specific versioned release of a distribution."@en ;
               rdfs:comment "Links packages or repositories to a specific distribution release"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "part of release"@en .


###  https://purl.org/packagegraph/ontology/core#performedBy
:performedBy rdf:type owl:ObjectProperty ;
             rdfs:subPropertyOf <http://www.w3.org/ns/prov#wasAssociatedWith> ;
             rdfs:domain :PackagingActivity ;
             rdfs:range <http://www.w3.org/ns/prov#Agent> ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a packaging activity with the agent (person, organization, or automated system) that performed it."@en ;
             rdfs:comment "Links a packaging activity to the agent that performed it"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "performed by"@en .


###  https://purl.org/packagegraph/ontology/core#preDepends
:preDepends rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :dependsOn ;
            rdfs:domain :Package ;
            rdfs:range :Package ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A strict dependency that must be fully installed and configured before this package can even be unpacked. Stronger than regular depends. Used in Debian Pre-Depends tag for critical system dependencies."@en ;
            rdfs:comment "Indicates a pre-installation dependency (stronger than regular depends)"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "pre-depends"@en .


###  https://purl.org/packagegraph/ontology/core#producedBinary
:producedBinary rdf:type owl:ObjectProperty ;
                rdfs:domain :SourcePackage ;
                rdfs:range :BinaryPackage ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a source package with the binary packages produced by building it."@en ;
                rdfs:comment "Links a source package to binary packages it produces"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "produced binary"@en .


###  https://purl.org/packagegraph/ontology/core#projectRepository
:projectRepository rdf:type owl:ObjectProperty ;
                   rdfs:domain :UpstreamProject ;
                   rdfs:range <https://purl.org/packagegraph/ontology/vcs#Repository> ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "Links an upstream project to its primary source code repository. Makes UpstreamProject the central hub for cross-ecosystem identity - connect all ecosystem packages to the project, then to the shared repository."@en ;
                   rdfs:comment "Links an upstream project to its VCS repository"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "project repository"@en .


###  https://purl.org/packagegraph/ontology/core#provides
:provides rdf:type owl:ObjectProperty ;
          rdfs:domain :Package ;
          rdfs:range :Package ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship indicating that one package offers the same functionality or interface as another package, potentially serving as a substitute or alternative implementation."@en ;
          rdfs:comment "Indicates that a package provides the functionality of another package"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "provides"@en .


###  https://purl.org/packagegraph/ontology/core#providesCapability
:providesCapability rdf:type owl:ObjectProperty ;
                    rdfs:domain :Package ;
                    rdfs:range :Capability ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with a capability it provides, such as a shared library (libssl.so.3), virtual package name, or other functionality. Critical for shared library dependency resolution - enables 'what provides this .so' queries."@en ;
                    rdfs:comment "Links a package to a capability it provides"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "provides capability"@en .


###  https://purl.org/packagegraph/ontology/core#recommends
:recommends rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf :dependsOn ;
            rdfs:domain :Package ;
            rdfs:range :Package ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A weak dependency relationship suggesting that installing the target package enhances functionality but is not required. Used in Debian Recommends and RPM Recommends tags. If package A recommends package B, A works without B but gains features when B is present."@en ;
            rdfs:comment "Suggests installing another package for enhanced functionality"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "recommends"@en .


###  https://purl.org/packagegraph/ontology/core#releaseContains
:releaseContains rdf:type owl:ObjectProperty ;
                 owl:inverseOf :partOfRelease ;
                 rdfs:domain :DistributionRelease ;
                 rdfs:range :Package ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "Links a distribution release to packages it contains, enabling efficient 'what packages are in this release' queries."@en ;
                 rdfs:comment "Links a distribution release to packages it contains"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "release contains"@en .


###  https://purl.org/packagegraph/ontology/core#replaces
:replaces rdf:type owl:ObjectProperty ,
                   owl:AsymmetricProperty ,
                   owl:IrreflexiveProperty ;
          rdfs:domain :Package ;
          rdfs:range :Package ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "An asymmetric relationship indicating that one package is intended to supersede and replace another package, typically during system upgrades or package transitions. If package A replaces package B, then package B does not replace package A."@en ;
          rdfs:comment "Indicates that a package replaces another package (asymmetric relationship)"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "replaces"@en .


###  https://purl.org/packagegraph/ontology/core#requiresCapability
:requiresCapability rdf:type owl:ObjectProperty ;
                    rdfs:domain :Package ;
                    rdfs:range :Capability ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with a capability it requires, such as a shared library (libssl.so.3), virtual package name, or other functionality. Critical for shared library dependency resolution - enables 'what requires this .so' queries and CVE blast radius analysis."@en ;
                    rdfs:comment "Links a package to a capability it requires"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "requires capability"@en .


###  https://purl.org/packagegraph/ontology/core#satisfiesCapability
:satisfiesCapability rdf:type owl:ObjectProperty ;
                     rdfs:domain :InstalledFile ;
                     rdfs:range :Capability ;
                     <http://purl.obolibrary.org/obo/IAO_0000115> "Links an installed file (typically a shared library .so artifact) to the abstract capability it satisfies, closing the loop between filesystem artifacts and package dependency requirements. This shortcut enables efficient queries for shared library resolution analysis: which specific file provides libssl.so.3?"@en ;
                     rdfs:comment "The abstract capability that this installed file satisfies (typically for shared libraries)"@en ;
                     rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                     rdfs:label "satisfies capability"@en .


###  https://purl.org/packagegraph/ontology/core#suggests
:suggests rdf:type owl:ObjectProperty ;
          rdfs:subPropertyOf :dependsOn ;
          rdfs:domain :Package ;
          rdfs:range :Package ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "An even weaker dependency relationship than recommends, indicating that the target package may be useful in certain contexts but is not typically needed. Used in Debian Suggests and RPM Suggests tags."@en ;
          rdfs:comment "Suggests another package that may be useful in some scenarios"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "suggests"@en .


###  https://purl.org/packagegraph/ontology/core#supersededBy
:supersededBy rdf:type owl:ObjectProperty ;
              rdfs:domain :Package ;
              rdfs:range :Package ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "Indicates that this package's functionality has been absorbed into another package due to subpackage reorganization across architectures or builds. Used to track packages that exist on some arches but are merged into others on different arches."@en ;
              rdfs:comment "Indicates that this package's functionality has been absorbed into another package (subpackage reorganization)"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "superseded by"@en .


###  https://purl.org/packagegraph/ontology/core#supersedes
:supersedes rdf:type owl:ObjectProperty ;
            owl:inverseOf :supersededBy ;
            rdfs:domain :Package ;
            rdfs:range :Package ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "Indicates that this package absorbs the functionality of another package, typically due to subpackage consolidation or reorganization across architectures."@en ;
            rdfs:comment "Indicates that this package absorbs the functionality of another package"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "supersedes"@en .


###  https://purl.org/packagegraph/ontology/core#supplements
:supplements rdf:type owl:ObjectProperty ;
             rdfs:subPropertyOf :dependsOn ;
             rdfs:domain :Package ;
             rdfs:range :Package ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "Indicates that this package supplements the functionality of another package, working in tandem with it. Used in some Debian-derived distributions."@en ;
             rdfs:comment "Indicates that this package supplements another package"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "supplements"@en .


###  https://purl.org/packagegraph/ontology/core#supportedArchitecture
:supportedArchitecture rdf:type owl:ObjectProperty ;
                       rdfs:domain :SourcePackage ;
                       rdfs:range :Architecture ;
                       <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a source package with an architecture it declares support for building, as declared in the source package control file."@en ;
                       rdfs:comment "An architecture that the source package can be built for"@en ;
                       rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                       rdfs:label "supported architecture"@en .


###  https://purl.org/packagegraph/ontology/core#targetArchitecture
:targetArchitecture rdf:type owl:ObjectProperty ;
                    rdfs:domain :Package ;
                    rdfs:range :Architecture ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "A relationship that associates a software package with the specific hardware or system architecture for which it has been compiled or designed."@en ;
                    rdfs:comment "Links a package to the architecture it targets"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "target architecture"@en .


###  https://purl.org/packagegraph/ontology/core#upstreamEcosystem
:upstreamEcosystem rdf:type owl:ObjectProperty ;
                   rdfs:domain :Package ;
                   rdfs:range :Ecosystem ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "Links a package to the upstream software ecosystem it originates from, enabling ecosystem-level cross-referencing and analysis. The Ecosystem entity allows traversal to all packages from that ecosystem rather than matching string literals."@en ;
                   rdfs:comment "The upstream package ecosystem entity (cargo, pypi, npm, gomod, etc.)"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "upstream ecosystem"@en .


###  https://purl.org/packagegraph/ontology/core#upstreamEquivalent
:upstreamEquivalent rdf:type owl:ObjectProperty ,
                             owl:SymmetricProperty ;
                    rdfs:domain :PackageIdentity ;
                    rdfs:range :PackageIdentity ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Symmetric relationship between package identities from different ecosystems that represent the same software (e.g., Debian python3-requests ↔ PyPI requests). Enables bidirectional cross-ecosystem identity queries."@en ;
                    rdfs:comment "This package identity is equivalent to another package identity from a different ecosystem"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "upstream equivalent"@en .


###  https://purl.org/packagegraph/ontology/core#upstreamPackageIdentity
:upstreamPackageIdentity rdf:type owl:ObjectProperty ;
                         rdfs:domain :PackageIdentity ;
                         rdfs:range :PackageIdentity ;
                         <http://purl.obolibrary.org/obo/IAO_0000115> "Links a distribution package identity to the upstream package identity in the native ecosystem (e.g., Debian python3-requests → PyPI requests). Replaces dead-end upstreamPackageName literal with a traversable object property - critical for supply chain analysis."@en ;
                         rdfs:comment "Links to the upstream package identity in its native ecosystem"@en ;
                         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                         rdfs:label "upstream package identity"@en .


###  https://purl.org/packagegraph/ontology/core#upstreamRepository
:upstreamRepository rdf:type owl:ObjectProperty ;
                    owl:inverseOf <https://purl.org/packagegraph/ontology/vcs#hasPackage> ;
                    rdfs:domain :PackageIdentity ;
                    rdfs:range <https://purl.org/packagegraph/ontology/vcs#Repository> ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package identity with the canonical upstream source code repository. This is the primary cross-distribution identity anchor — packages from different distros that share the same upstream repository are the same software, regardless of package name."@en ;
                    rdfs:comment "The upstream VCS repository this package is built from. Derived from Homepage/URL when it points to a known forge, or from dist-git spec files."@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "upstream repository"@en .


###  https://purl.org/packagegraph/ontology/core#usedDependency
:usedDependency rdf:type owl:ObjectProperty ;
                rdfs:subPropertyOf <http://www.w3.org/ns/prov#used> ;
                rdfs:domain :BuildActivity ;
                rdfs:range :Package ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a build activity with the packages or dependencies it required during the build process."@en ;
                rdfs:comment "Links a build activity to dependencies it required"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "used dependency"@en .


###  https://purl.org/packagegraph/ontology/core#usedSource
:usedSource rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf <http://www.w3.org/ns/prov#used> ;
            rdfs:domain :PackagingActivity ;
            rdfs:range <http://www.w3.org/ns/prov#Entity> ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a packaging activity with the source code, files, or other materials it used as input."@en ;
            rdfs:comment "Links a packaging activity to source materials it used"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "used source"@en .


###  https://purl.org/packagegraph/ontology/core#versionOf
:versionOf rdf:type owl:ObjectProperty ;
           rdfs:domain :Version ;
           rdfs:range :Package ;
           <http://purl.obolibrary.org/obo/IAO_0000115> "The inverse relationship of hasVersion, linking a version back to the package it belongs to. Critical for security queries that start from an affected version and need to find the package."@en ;
           rdfs:comment "Links a version to the package it belongs to"@en ;
           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
           rdfs:label "version of"@en .


###  https://purl.org/packagegraph/ontology/core#wasBuiltBy
:wasBuiltBy rdf:type owl:ObjectProperty ;
            rdfs:subPropertyOf <http://www.w3.org/ns/prov#wasGeneratedBy> ;
            rdfs:domain :Package ;
            rdfs:range :BuildActivity ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "Associates a package with the specific build activity that compiled and created it from source materials."@en ;
            rdfs:comment "Links a package to the build activity that created it"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "was built by"@en .


###  https://purl.org/packagegraph/ontology/flatpak#hasExtension
<https://purl.org/packagegraph/ontology/flatpak#hasExtension> rdf:type owl:ObjectProperty ;
                                                              rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                              rdfs:range <https://purl.org/packagegraph/ontology/flatpak#Extension> ;
                                                              <http://purl.obolibrary.org/obo/IAO_0000115> "Associates an application or runtime with an extension."@en ;
                                                              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                              rdfs:label "has extension"@en .


###  https://purl.org/packagegraph/ontology/flatpak#hasPermission
<https://purl.org/packagegraph/ontology/flatpak#hasPermission> rdf:type owl:ObjectProperty ;
                                                               rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                               rdfs:range <https://purl.org/packagegraph/ontology/flatpak#Permission> ;
                                                               <http://purl.obolibrary.org/obo/IAO_0000115> "Associates an application with a sandbox permission."@en ;
                                                               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                               rdfs:label "has permission"@en .


###  https://purl.org/packagegraph/ontology/flatpak#publishedOn
<https://purl.org/packagegraph/ontology/flatpak#publishedOn> rdf:type owl:ObjectProperty ;
                                                             rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                             rdfs:range <https://purl.org/packagegraph/ontology/flatpak#Remote> ;
                                                             <http://purl.obolibrary.org/obo/IAO_0000115> "Associates an application with the remote it is distributed through."@en ;
                                                             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                             rdfs:label "published on"@en .


###  https://purl.org/packagegraph/ontology/flatpak#usesRuntime
<https://purl.org/packagegraph/ontology/flatpak#usesRuntime> rdf:type owl:ObjectProperty ;
                                                             rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                             rdfs:range <https://purl.org/packagegraph/ontology/flatpak#Runtime> ;
                                                             <http://purl.obolibrary.org/obo/IAO_0000115> "Associates an application with the runtime it requires."@en ;
                                                             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                             rdfs:label "uses runtime"@en .


###  https://purl.org/packagegraph/ontology/flatpak#usesSdk
<https://purl.org/packagegraph/ontology/flatpak#usesSdk> rdf:type owl:ObjectProperty ;
                                                         rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                         rdfs:range <https://purl.org/packagegraph/ontology/flatpak#Runtime> ;
                                                         <http://purl.obolibrary.org/obo/IAO_0000115> "Associates an application with the SDK used to build it."@en ;
                                                         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                         rdfs:label "uses SDK"@en .


#################################################################
#    Data properties
#################################################################

###  https://purl.org/packagegraph/ontology/core#accountPlatform
:accountPlatform rdf:type owl:DatatypeProperty ;
                 rdfs:domain :ContributorAccount ;
                 rdfs:range xsd:string ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "Identifies the platform or service where a contributor account is registered, such as GitHub, Debian, Fedora, or GitLab."@en ;
                 rdfs:comment "The platform or service where the account exists"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "account platform"@en .


###  https://purl.org/packagegraph/ontology/core#accountUrl
:accountUrl rdf:type owl:DatatypeProperty ;
            rdfs:domain :ContributorAccount ;
            rdfs:range xsd:anyURI ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "The web URL of a contributor's profile page on a specific platform."@en ;
            rdfs:comment "The URL of the contributor's profile on the platform"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "account URL"@en .


###  https://purl.org/packagegraph/ontology/core#accountUsername
:accountUsername rdf:type owl:DatatypeProperty ;
                 rdfs:domain :ContributorAccount ;
                 rdfs:range xsd:string ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "The username, login, or unique identifier of a contributor on a specific platform."@en ;
                 rdfs:comment "The username or identifier on the platform"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "account username"@en .


###  https://purl.org/packagegraph/ontology/core#activeContributor
:activeContributor rdf:type owl:DatatypeProperty ;
                   rdfs:domain :Contributor ;
                   rdfs:range xsd:boolean ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "Indicates whether a contributor is currently active in package development or maintenance."@en ;
                   rdfs:comment "Whether the contributor is currently active"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "active contributor"@en .


###  https://purl.org/packagegraph/ontology/core#activityDuration
:activityDuration rdf:type owl:DatatypeProperty ;
                  rdfs:domain <http://www.w3.org/ns/prov#Activity> ;
                  rdfs:range xsd:duration ;
                  <http://purl.obolibrary.org/obo/IAO_0000115> "The total time duration required to complete a packaging-related activity."@en ;
                  rdfs:comment "How long a packaging activity took to complete"@en ;
                  rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                  rdfs:label "activity duration"@en .


###  https://purl.org/packagegraph/ontology/core#activityEndTime
:activityEndTime rdf:type owl:DatatypeProperty ;
                 rdfs:subPropertyOf <http://www.w3.org/ns/prov#endedAtTime> ;
                 rdfs:domain <http://www.w3.org/ns/prov#Activity> ;
                 rdfs:range xsd:dateTime ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "Records the date and time when a packaging-related activity was completed."@en ;
                 rdfs:comment "When a packaging activity completed"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "activity end time"@en .


###  https://purl.org/packagegraph/ontology/core#activityLogOutput
:activityLogOutput rdf:type owl:DatatypeProperty ;
                   rdfs:domain <http://www.w3.org/ns/prov#Activity> ;
                   rdfs:range xsd:string ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "The textual log output generated during the execution of a packaging activity, useful for debugging and auditing."@en ;
                   rdfs:comment "Log output generated during a packaging activity"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "activity log output"@en .


###  https://purl.org/packagegraph/ontology/core#activityStartTime
:activityStartTime rdf:type owl:DatatypeProperty ;
                   rdfs:subPropertyOf <http://www.w3.org/ns/prov#startedAtTime> ;
                   rdfs:domain <http://www.w3.org/ns/prov#Activity> ;
                   rdfs:range xsd:dateTime ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "Records the date and time when a packaging-related activity was initiated."@en ;
                   rdfs:comment "When a packaging activity began"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "activity start time"@en .


###  https://purl.org/packagegraph/ontology/core#capabilityName
:capabilityName rdf:type owl:DatatypeProperty ;
                rdfs:domain :Capability ;
                rdfs:range xsd:string ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "The identifier for a capability, such as a shared library name (libssl.so.3), virtual package name, or other capability identifier."@en ;
                rdfs:comment "The name or identifier of a capability"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "capability name"@en .


###  https://purl.org/packagegraph/ontology/core#checksumAlgorithm
:checksumAlgorithm rdf:type owl:DatatypeProperty ,
                            owl:FunctionalProperty ;
                   rdfs:domain :Checksum ;
                   rdfs:range xsd:string ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "The name of the cryptographic hash algorithm used to compute this checksum value."@en ;
                   rdfs:comment "The hash algorithm (e.g., SHA-256, MD5, SHA-1)"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "checksum algorithm"@en .


###  https://purl.org/packagegraph/ontology/core#checksumValue
:checksumValue rdf:type owl:DatatypeProperty ,
                        owl:FunctionalProperty ;
               rdfs:domain :Checksum ;
               rdfs:range xsd:string ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "The actual cryptographic hash value as a hexadecimal string."@en ;
               rdfs:comment "The hexadecimal hash string"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "checksum value"@en .


###  https://purl.org/packagegraph/ontology/core#dependencyWeight
:dependencyWeight rdf:type owl:DatatypeProperty ;
                  rdfs:domain :Dependency ;
                  rdfs:range xsd:float ;
                  <http://purl.obolibrary.org/obo/IAO_0000115> "Provides a numeric weight indicating the relative importance or strength of a dependency relationship."@en ;
                  rdfs:comment "Relative weight or importance of a dependency"@en ;
                  rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                  rdfs:label "dependency weight"@en .


###  https://purl.org/packagegraph/ontology/core#description
:description rdf:type owl:DatatypeProperty ;
             rdfs:domain :Package ;
             rdfs:range xsd:string ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "A textual explanation of the package's purpose, functionality, and features, intended to help users understand what the package provides."@en ;
             rdfs:comment "A human-readable description of what the package does"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "description"@en .


###  https://purl.org/packagegraph/ontology/core#downloadURL
:downloadURL rdf:type owl:DatatypeProperty ;
             rdfs:domain :Package ;
             rdfs:range xsd:anyURI ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "The web address from which the package file or archive can be directly downloaded or accessed."@en ;
             rdfs:comment "The URL from which the package can be downloaded"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "download URL"@en .


###  https://purl.org/packagegraph/ontology/core#endOfLifeDate
:endOfLifeDate rdf:type owl:DatatypeProperty ;
               rdfs:domain :DistributionRelease ;
               rdfs:range xsd:date ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "The date when a distribution release ceases to receive security updates and support."@en ;
               rdfs:comment "The date when the distribution release reaches end of life"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "end of life date"@en .


###  https://purl.org/packagegraph/ontology/core#epoch
:epoch rdf:type owl:DatatypeProperty ;
       rdfs:domain :Version ;
       rdfs:range xsd:integer ;
       <http://purl.obolibrary.org/obo/IAO_0000115> "A version component used to differentiate between incompatible versioning schemes or to correct mistakes in version ordering."@en ;
       rdfs:comment "The epoch of the version, used in some systems to manage version comparison across different numbering schemes."@en ;
       rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
       rdfs:label "epoch"@en .


###  https://purl.org/packagegraph/ontology/core#exitCode
:exitCode rdf:type owl:DatatypeProperty ;
          rdfs:domain <http://www.w3.org/ns/prov#Activity> ;
          rdfs:range xsd:int ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "The numeric exit code returned by a packaging activity, indicating success (typically 0) or failure (non-zero)."@en ;
          rdfs:comment "The exit code returned by a packaging activity"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "exit code"@en .


###  https://purl.org/packagegraph/ontology/core#homepage
:homepage rdf:type owl:DatatypeProperty ;
          rdfs:domain :Package ;
          rdfs:range xsd:anyURI ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "The web address of the main website or homepage associated with the software package or its development project."@en ;
          rdfs:comment "The homepage URL of the package or project"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "homepage"@en .


###  https://purl.org/packagegraph/ontology/core#identityName
:identityName rdf:type owl:DatatypeProperty ,
                       owl:FunctionalProperty ;
              rdfs:domain :PackageIdentity ;
              rdfs:range xsd:string ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "The package name as used for the version-agnostic identity within a distribution and architecture context. This provides a lexical anchor for PackageIdentity instances, distinct from the versioned packageName on Package instances."@en ;
              rdfs:comment "The name of the package identity"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "identity name"@en .


###  https://purl.org/packagegraph/ontology/core#installSize
:installSize rdf:type owl:DatatypeProperty ;
             rdfs:domain :Package ;
             rdfs:range xsd:long ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "The amount of disk space, measured in bytes, that the package will occupy after being fully installed on the target system."@en ;
             rdfs:comment "The disk space required when the package is installed"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "install size"@en .


###  https://purl.org/packagegraph/ontology/core#installedFilePath
:installedFilePath rdf:type owl:DatatypeProperty ;
                   rdfs:domain :InstalledFile ;
                   rdfs:range xsd:string ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "The absolute filesystem path where a file is installed on the target system, such as /usr/bin/gcc or /usr/lib/libssl.so.3."@en ;
                   rdfs:comment "The filesystem path where the file is installed"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "installed file path"@en .


###  https://purl.org/packagegraph/ontology/core#isCurrent
:isCurrent rdf:type owl:DatatypeProperty ,
                    owl:FunctionalProperty ;
           rdfs:domain :DataSnapshot ;
           rdfs:range xsd:boolean ;
           <http://purl.obolibrary.org/obo/IAO_0000115> "A boolean flag indicating whether this snapshot is the most recent for its data source. Used for tiered storage lifecycle management."@en ;
           rdfs:comment "Whether this snapshot represents the current active data for its source."@en ;
           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
           rdfs:label "is current"@en .


###  https://purl.org/packagegraph/ontology/core#isVendorOriginated
:isVendorOriginated rdf:type owl:DatatypeProperty ;
                    rdfs:domain :Package ;
                    rdfs:range xsd:boolean ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "Indicates whether the upstream project was originated by the same organization that packages and distributes it, as opposed to being an independent community project."@en ;
                    rdfs:comment "Whether the upstream project was created by the packaging vendor"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "is vendor originated"@en .


###  https://purl.org/packagegraph/ontology/core#isaSpecificCode
:isaSpecificCode rdf:type owl:DatatypeProperty ;
                 rdfs:domain :Package ;
                 rdfs:range xsd:boolean ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "Indicates whether the package contains processor-specific optimizations or machine code that is optimized for a particular instruction set architecture."@en ;
                 rdfs:comment "Indicates whether the package contains ISA-specific optimizations"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "ISA-specific code"@en .


###  https://purl.org/packagegraph/ontology/core#lastCommitDate
:lastCommitDate rdf:type owl:DatatypeProperty ;
                rdfs:domain :PackageIdentity ;
                rdfs:range xsd:date ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "The date of the most recent commit to the upstream repository, indicating active development status."@en ;
                rdfs:comment "The date of the most recent commit to the upstream repository"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "last commit date"@en .


###  https://purl.org/packagegraph/ontology/core#lastReleaseDate
:lastReleaseDate rdf:type owl:DatatypeProperty ;
                 rdfs:domain :PackageIdentity ;
                 rdfs:range xsd:date ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "The date of the most recent release or version of the package, enabling recency analysis and stale package detection."@en ;
                 rdfs:comment "The date of the most recent release or version"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "last release date"@en .


###  https://purl.org/packagegraph/ontology/core#licenseName
:licenseName rdf:type owl:DatatypeProperty ;
             rdfs:domain :Package ;
             rdfs:range xsd:string ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "DEPRECATED: A string representation of the package's license. Use hasLicense to link to a License entity instead. The spdxId of the License entity linked via hasLicense is the canonical representation. This property is retained for backward compatibility with existing data but should not be used in new collectors."@en ;
             rdfs:comment "DEPRECATED in favor of hasLicense. The SPDX license expression or license name string for the package"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "license name"@en ;
             owl:deprecated "true"^^xsd:boolean .


###  https://purl.org/packagegraph/ontology/core#maintainerSince
:maintainerSince rdf:type owl:DatatypeProperty ;
                 rdfs:domain :Maintainer ;
                 rdfs:range xsd:dateTime ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "Records when a maintainer began their maintenance responsibilities for a package."@en ;
                 rdfs:comment "Date when the maintainer started maintaining the package"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "maintainer since"@en .


###  https://purl.org/packagegraph/ontology/core#packageName
:packageName rdf:type owl:DatatypeProperty ,
                      owl:FunctionalProperty ;
             rdfs:domain :Package ;
             rdfs:range xsd:string ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "The unique identifier or name by which a software package is known within a package management system."@en ;
             rdfs:comment "The name of a package"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "package name"@en .


###  https://purl.org/packagegraph/ontology/core#packageSize
:packageSize rdf:type owl:DatatypeProperty ;
             rdfs:domain :Package ;
             rdfs:range xsd:long ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "The size of the package file or archive, measured in bytes, before installation or extraction."@en ;
             rdfs:comment "The size of the package file"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "package size"@en .


###  https://purl.org/packagegraph/ontology/core#projectName
:projectName rdf:type owl:DatatypeProperty ;
             rdfs:domain :UpstreamProject ;
             rdfs:range xsd:string ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "The canonical or commonly used name of an upstream open source project, such as 'openssl' or 'gcc'."@en ;
             rdfs:comment "The canonical name of the upstream project"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "project name"@en .


###  https://purl.org/packagegraph/ontology/core#projectUrl
:projectUrl rdf:type owl:DatatypeProperty ;
            rdfs:domain :UpstreamProject ;
            rdfs:range xsd:anyURI ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "The primary website or homepage URL for an upstream open source project."@en ;
            rdfs:comment "The primary URL for the upstream project"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "project URL"@en .


###  https://purl.org/packagegraph/ontology/core#purl
:purl rdf:type owl:DatatypeProperty ;
      rdfs:domain :PackageIdentity ;
      rdfs:range xsd:anyURI ;
      <http://purl.obolibrary.org/obo/IAO_0000115> "Package URL (PURL) - a standardized, universal identifier for software packages across ecosystems (e.g., pkg:npm/lodash@4.17.21, pkg:pypi/requests@2.28.0). Enables cross-tool interoperability and SBOM generation."@en ;
      rdfs:comment "Package URL (PURL) - standardized package identifier"@en ;
      rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
      rdfs:label "purl"@en .


###  https://purl.org/packagegraph/ontology/core#release
:release rdf:type owl:DatatypeProperty ;
         rdfs:domain :Version ;
         rdfs:range xsd:string ;
         <http://purl.obolibrary.org/obo/IAO_0000115> "An identifier for the packaging release of a specific version of the upstream software."@en ;
         rdfs:comment "The release number of the package, often indicating a packaging-specific update."@en ;
         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
         rdfs:label "release"@en .


###  https://purl.org/packagegraph/ontology/core#releaseCodename
:releaseCodename rdf:type owl:DatatypeProperty ;
                 rdfs:domain :DistributionRelease ;
                 rdfs:range xsd:string ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "The informal name or codename of a distribution release, such as 'bookworm' for Debian 12 or 'noble' for Ubuntu 24.04."@en ;
                 rdfs:comment "The codename of the distribution release"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "release codename"@en .


###  https://purl.org/packagegraph/ontology/core#releaseDate
:releaseDate rdf:type owl:DatatypeProperty ;
             rdfs:domain :DistributionRelease ;
             rdfs:range xsd:date ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "The date when a distribution release was officially published or made available."@en ;
             rdfs:comment "The date the distribution release was published"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "release date"@en .


###  https://purl.org/packagegraph/ontology/core#releaseVersion
:releaseVersion rdf:type owl:DatatypeProperty ;
                rdfs:domain :DistributionRelease ;
                rdfs:range xsd:string ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "The version identifier of a distribution release, such as '12' for Debian 12 or '41' for Fedora 41."@en ;
                rdfs:comment "The version number of the distribution release"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "release version"@en .


###  https://purl.org/packagegraph/ontology/core#repoSourceURL
:repoSourceURL rdf:type owl:DatatypeProperty ;
               rdfs:domain :DistributionRelease ;
               rdfs:range xsd:anyURI ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "The HTTP/HTTPS URL of the package repository metadata that was used as the data source for collection. Enables traceability and re-collection."@en ;
               rdfs:comment "The URL from which this repository data was collected"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "repository source URL"@en .


###  https://purl.org/packagegraph/ontology/core#repoType
:repoType rdf:type owl:DatatypeProperty ;
          rdfs:domain :DistributionRelease ;
          rdfs:range xsd:string ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "Classifies the repository source type to enable proper comparison semantics. Release repos are composed for end-user installation. Build repos are Koji build targets. Updates are post-release patches."@en ;
          rdfs:comment "The type of package repository (release, development, build, updates, updates-testing)"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "repository type"@en .


###  https://purl.org/packagegraph/ontology/core#revision
:revision rdf:type owl:DatatypeProperty ;
          rdfs:domain :Version ;
          rdfs:range xsd:string ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "A version component that specifies a minor update or packaging-specific revision."@en ;
          rdfs:comment "The revision of the package, often indicating a minor packaging update or a source control revision."@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "revision"@en .


###  https://purl.org/packagegraph/ontology/core#snapshotGraph
:snapshotGraph rdf:type owl:DatatypeProperty ;
               rdfs:domain :DataSnapshot ;
               rdfs:range xsd:anyURI ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "The URI of the named graph in Fuseki that contains this snapshot's data."@en ;
               rdfs:comment "The named graph URI this snapshot was loaded into."@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "snapshot graph"@en .


###  https://purl.org/packagegraph/ontology/core#snapshotSource
:snapshotSource rdf:type owl:DatatypeProperty ;
                rdfs:domain :DataSnapshot ;
                rdfs:range xsd:string ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "A string identifying the tool and data source that produced this snapshot."@en ;
                rdfs:comment "Identifier of the data source that produced this snapshot (e.g., 'pg-collect debian', 'enricher-osv')."@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "snapshot source"@en .


###  https://purl.org/packagegraph/ontology/core#snapshotTimestamp
:snapshotTimestamp rdf:type owl:DatatypeProperty ;
                   rdfs:domain :DataSnapshot ;
                   rdfs:range xsd:dateTime ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "The date and time when the data collection or enrichment run completed."@en ;
                   rdfs:comment "When this data snapshot was created."@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "snapshot timestamp"@en .


###  https://purl.org/packagegraph/ontology/core#spdxId
:spdxId rdf:type owl:DatatypeProperty ,
                 owl:FunctionalProperty ;
        rdfs:domain :License ;
        rdfs:range xsd:string ;
        <http://purl.obolibrary.org/obo/IAO_0000115> "The SPDX License List identifier for this license (e.g., 'GPL-2.0-only', 'MIT', 'Apache-2.0'), enabling mechanically queryable license classification and compatibility analysis."@en ;
        rdfs:comment "The SPDX license identifier"@en ;
        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
        rdfs:label "SPDX identifier"@en .


###  https://purl.org/packagegraph/ontology/core#upstreamPackageName
:upstreamPackageName rdf:type owl:DatatypeProperty ;
                     rdfs:domain :Package ;
                     rdfs:range xsd:string ;
                     <http://purl.obolibrary.org/obo/IAO_0000115> "The canonical name of the upstream software in its native package ecosystem, extracted from RPM provides entries like crate(foo) or python3dist(bar). Enables cross-ecosystem identity linking. Retained for backward compatibility - prefer upstreamPackageIdentity for new data."@en ;
                     rdfs:comment "The name of the package in its upstream ecosystem (e.g., crate name, PyPI name)"@en ;
                     rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                     rdfs:label "upstream package name"@en .


###  https://purl.org/packagegraph/ontology/core#versionConstraintOperator
:versionConstraintOperator rdf:type owl:DatatypeProperty ;
                           rdfs:domain :VersionConstraint ;
                           rdfs:range xsd:string ;
                           <http://purl.obolibrary.org/obo/IAO_0000115> "The comparison operator that defines how the version constraint should be evaluated, such as greater than, equal to, or less than."@en ;
                           rdfs:comment "The comparison operator used in a version constraint (e.g., '>=', '=', '<=')"@en ;
                           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                           rdfs:label "version constraint operator"@en .


###  https://purl.org/packagegraph/ontology/core#versionConstraintValue
:versionConstraintValue rdf:type owl:DatatypeProperty ;
                        rdfs:domain :VersionConstraint ;
                        rdfs:range xsd:string ;
                        <http://purl.obolibrary.org/obo/IAO_0000115> "The specific version string that the constraint is compared against using the constraint operator."@en ;
                        rdfs:comment "The version value used in a version constraint"@en ;
                        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                        rdfs:label "version constraint value"@en .


###  https://purl.org/packagegraph/ontology/core#versionString
:versionString rdf:type owl:DatatypeProperty ,
                        owl:FunctionalProperty ;
               rdfs:domain :Version ;
               rdfs:range xsd:string ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "A textual representation of a package version, typically following semantic versioning or other versioning schemes to indicate the release sequence and compatibility."@en ;
               rdfs:comment "The version identifier of a package"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "version string"@en .


###  https://purl.org/packagegraph/ontology/flatpak#appId
<https://purl.org/packagegraph/ontology/flatpak#appId> rdf:type owl:DatatypeProperty ,
                                                                owl:FunctionalProperty ;
                                                       rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                       rdfs:range xsd:string ;
                                                       <http://purl.obolibrary.org/obo/IAO_0000115> "Reverse-DNS application identifier (e.g., 'org.mozilla.Firefox')."@en ;
                                                       rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                       rdfs:label "application ID"@en .


###  https://purl.org/packagegraph/ontology/flatpak#branch
<https://purl.org/packagegraph/ontology/flatpak#branch> rdf:type owl:DatatypeProperty ;
                                                        rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                        rdfs:range xsd:string ;
                                                        <http://purl.obolibrary.org/obo/IAO_0000115> "The Flatpak branch (typically 'stable', 'beta', or a version like '23.08')."@en ;
                                                        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                        rdfs:label "branch"@en .


###  https://purl.org/packagegraph/ontology/flatpak#command
<https://purl.org/packagegraph/ontology/flatpak#command> rdf:type owl:DatatypeProperty ;
                                                         rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                         rdfs:range xsd:string ;
                                                         <http://purl.obolibrary.org/obo/IAO_0000115> "The main executable command run when the application is launched."@en ;
                                                         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                         rdfs:label "command"@en .


###  https://purl.org/packagegraph/ontology/flatpak#commitHash
<https://purl.org/packagegraph/ontology/flatpak#commitHash> rdf:type owl:DatatypeProperty ;
                                                            rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                            rdfs:range xsd:string ;
                                                            <http://purl.obolibrary.org/obo/IAO_0000115> "The OSTree commit hash identifying the exact installed version of the application."@en ;
                                                            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                            rdfs:label "commit hash"@en .


###  https://purl.org/packagegraph/ontology/flatpak#finishArg
<https://purl.org/packagegraph/ontology/flatpak#finishArg> rdf:type owl:DatatypeProperty ;
                                                           rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#Permission> ;
                                                           rdfs:range xsd:string ;
                                                           <http://purl.obolibrary.org/obo/IAO_0000115> "A --finish-args flag specifying a sandbox permission (e.g., '--share=network', '--filesystem=home', '--socket=wayland')."@en ;
                                                           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                           rdfs:label "finish arg"@en .


###  https://purl.org/packagegraph/ontology/flatpak#installedSize
<https://purl.org/packagegraph/ontology/flatpak#installedSize> rdf:type owl:DatatypeProperty ;
                                                               rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                               rdfs:range xsd:integer ;
                                                               <http://purl.obolibrary.org/obo/IAO_0000115> "The installed size of the application in bytes."@en ;
                                                               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                               rdfs:label "installed size"@en .


###  https://purl.org/packagegraph/ontology/flatpak#runtimeVersion
<https://purl.org/packagegraph/ontology/flatpak#runtimeVersion> rdf:type owl:DatatypeProperty ;
                                                                rdfs:domain <https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> ;
                                                                rdfs:range xsd:string ;
                                                                <http://purl.obolibrary.org/obo/IAO_0000115> "The version of the runtime required by the application (e.g., '46' for GNOME 46)."@en ;
                                                                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                                rdfs:label "runtime version"@en .


#################################################################
#    Classes
#################################################################

###  http://xmlns.com/foaf/0.1/Person
<http://xmlns.com/foaf/0.1/Person> owl:equivalentClass :Person .


###  https://purl.org/packagegraph/ontology/core#ABI
:ABI rdf:type owl:Class ;
     rdfs:subClassOf owl:Thing ;
     <http://purl.obolibrary.org/obo/IAO_0000115> "The low-level binary interface that defines calling conventions, data layouts, and system call interfaces for a specific platform."@en ;
     rdfs:comment "The binary interface specification for a platform"@en ;
     rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
     rdfs:label "Application Binary Interface"@en .


###  https://purl.org/packagegraph/ontology/core#Architecture
:Architecture rdf:type owl:Class ;
              rdfs:subClassOf owl:Thing ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "The specific hardware platform, instruction set, or system architecture for which a software package has been compiled or designed to run."@en ;
              rdfs:comment "The hardware or software architecture for which a package is built"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "Architecture"@en .


###  https://purl.org/packagegraph/ontology/core#BinaryPackage
:BinaryPackage rdf:type owl:Class ;
               rdfs:subClassOf :Package ;
               owl:disjointWith :SourcePackage ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "A binary package containing compiled executables, libraries, or architecture-independent files, ready for installation on a target system."@en ;
               rdfs:comment "A compiled, installable package produced from a source package"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "Binary Package"@en .


###  https://purl.org/packagegraph/ontology/core#BuildActivity
:BuildActivity rdf:type owl:Class ;
               rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ,
                               :PackagingActivity ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "An activity that compiles source code and creates executable binaries or libraries as part of the packaging process. Aligned with PROV-O Activity concept — builds are time-bounded activities with agents (builders) and entities (source/binary artifacts)."@en ;
               rdfs:comment "The process of compiling and building software from source"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "Build Activity"@en .


###  https://purl.org/packagegraph/ontology/core#Capability
:Capability rdf:type owl:Class ;
            rdfs:subClassOf owl:Thing ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A functional capability provided by or required by a package, such as a shared library (e.g., libssl.so.3), virtual package name, or other abstract functionality. Critical for shared library dependency resolution - enables blast radius analysis via .so linking."@en ;
            rdfs:comment "A capability provided or required by packages (shared library, virtual package, etc.)"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "Capability"@en .


###  https://purl.org/packagegraph/ontology/core#Checksum
:Checksum rdf:type owl:Class ;
          rdfs:subClassOf owl:Thing ;
          <http://purl.obolibrary.org/obo/IAO_0000115> "A reified checksum associating a cryptographic hash value with the algorithm used to compute it, enabling packages to carry multiple checksums of different types (e.g., SHA-256 and MD5 simultaneously)."@en ;
          rdfs:comment "A cryptographic hash of a package file, pairing the hash value with its algorithm"@en ;
          rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
          rdfs:label "Checksum"@en .


###  https://purl.org/packagegraph/ontology/core#ContributionType
:ContributionType rdf:type owl:Class ;
                  rdfs:subClassOf owl:Thing ;
                  <http://purl.obolibrary.org/obo/IAO_0000115> "Categorizes the nature of contributions made to a package, such as code, documentation, packaging, or security updates."@en ;
                  rdfs:comment "The type of contribution made to a package"@en ;
                  rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                  rdfs:label "Contribution Type"@en .


###  https://purl.org/packagegraph/ontology/core#Contributor
:Contributor rdf:type owl:Class ;
             rdfs:subClassOf owl:Thing ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "A role assignment representing a person's contribution to a package or repository. This is an anti-rigid concept — a person can start or stop holding this role without ceasing to exist."@en ;
             rdfs:comment "A contribution role assignment linking a person to a package or repository"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "Contributor"@en .


###  https://purl.org/packagegraph/ontology/core#ContributorAccount
:ContributorAccount rdf:type owl:Class ;
                    rdfs:subClassOf owl:Thing ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "A platform-specific identity for a contributor, such as a GitHub username, Debian maintainer email, or Fedora Account System login, enabling cross-platform contributor identification."@en ;
                    rdfs:comment "An identity or account for a contributor on a specific platform"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "Contributor Account"@en .


###  https://purl.org/packagegraph/ontology/core#DataSnapshot
:DataSnapshot rdf:type owl:Class ;
              rdfs:subClassOf <http://www.w3.org/ns/prov#Entity> ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "A record of a data collection or enrichment run, tracking the named graph URI, source identifier, timestamp, and currency status for graph lifecycle management."@en ;
              rdfs:comment "Metadata about a named graph — when it was collected, from what source, whether it is current."@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "Data Snapshot"@en .


###  https://purl.org/packagegraph/ontology/core#Dependency
:Dependency rdf:type owl:Class ;
            rdfs:subClassOf owl:Thing ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A requirement relationship between software packages where one package needs another package to be present and functional in order to operate correctly."@en ;
            rdfs:comment "A relationship indicating that one package requires another package to function properly"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "Dependency"@en .


###  https://purl.org/packagegraph/ontology/core#Distribution
:Distribution rdf:type owl:Class ;
              rdfs:subClassOf owl:Thing ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "A complete operating system distribution that packages and distributes software using specific package management systems."@en ;
              rdfs:comment "A specific Linux/Unix distribution"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "Distribution"@en .


###  https://purl.org/packagegraph/ontology/core#DistributionRelease
:DistributionRelease rdf:type owl:Class ;
                     rdfs:subClassOf owl:Thing ;
                     <http://purl.obolibrary.org/obo/IAO_0000115> "A specific versioned release of a Linux distribution, such as Debian 12 (bookworm) or Fedora 41, containing a defined set of packages."@en ;
                     rdfs:comment "A specific versioned release of a distribution"@en ;
                     rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                     rdfs:label "Distribution Release"@en .


###  https://purl.org/packagegraph/ontology/core#Ecosystem
:Ecosystem rdf:type owl:Class ;
           rdfs:subClassOf owl:Thing ;
           <http://purl.obolibrary.org/obo/IAO_0000115> "A comprehensive package management ecosystem that may span multiple distributions, formats, and repositories, such as the Debian ecosystem including Ubuntu derivatives."@en ;
           rdfs:comment "A broader ecosystem encompassing multiple distributions and package formats"@en ;
           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
           rdfs:label "Package Ecosystem"@en .


###  https://purl.org/packagegraph/ontology/core#InstallationActivity
:InstallationActivity rdf:type owl:Class ;
                      rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
                      <http://purl.obolibrary.org/obo/IAO_0000115> "An activity that deploys a package and its dependencies onto a target system, making the software available for use."@en ;
                      rdfs:comment "The process of installing a package on a system"@en ;
                      rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                      rdfs:label "Installation Activity"@en .


###  https://purl.org/packagegraph/ontology/core#InstalledFile
:InstalledFile rdf:type owl:Class ;
               rdfs:subClassOf owl:Thing ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "A file that is installed on the target filesystem when a binary package is installed, including executables, libraries, configuration files, and documentation."@en ;
               rdfs:comment "A file installed on the system by a binary package"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "Installed File"@en .


###  https://purl.org/packagegraph/ontology/core#InstructionSetArchitecture
:InstructionSetArchitecture rdf:type owl:Class ;
                            rdfs:subClassOf :Architecture ;
                            <http://purl.obolibrary.org/obo/IAO_0000115> "The processor instruction set architecture that defines the machine code interface, such as x86_64, ARM64, or RISC-V."@en ;
                            rdfs:comment "The specific instruction set architecture (ISA) for binary packages"@en ;
                            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                            rdfs:label "Instruction Set Architecture"@en .


###  https://purl.org/packagegraph/ontology/core#License
:License rdf:type owl:Class ;
         rdfs:subClassOf owl:Thing ;
         <http://purl.obolibrary.org/obo/IAO_0000115> "A legal document or agreement that specifies the terms and conditions under which a software package may be used, modified, and distributed."@en ;
         rdfs:comment "The legal license under which a package is distributed"@en ;
         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
         rdfs:label "License"@en .


###  https://purl.org/packagegraph/ontology/core#Maintainer
:Maintainer rdf:type owl:Class ;
            rdfs:subClassOf :Contributor ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A maintenance role assignment linking a person to a package they maintain. This is an anti-rigid concept — a maintenance role assignment can begin or end without the person ceasing to exist."@en ;
            rdfs:comment "A maintenance role assignment linking a person to a package"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "Maintainer"@en .


###  https://purl.org/packagegraph/ontology/core#MaintainerRole
:MaintainerRole rdf:type owl:Class ;
                rdfs:subClassOf owl:Thing ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "Defines the specific responsibilities and authority level of a maintainer for a package, such as primary maintainer, co-maintainer, or sponsor."@en ;
                rdfs:comment "The specific role a maintainer plays for a package"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "Maintainer Role"@en .


###  https://purl.org/packagegraph/ontology/core#MetaPackage
:MetaPackage rdf:type owl:Class ;
             rdfs:subClassOf :Package ;
             <http://purl.obolibrary.org/obo/IAO_0000115> "A package that contains minimal or no files itself but serves to group related packages together through dependencies, commonly used for task-based installations."@en ;
             rdfs:comment "A package that exists primarily to depend on other packages"@en ;
             rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
             rdfs:label "Meta Package"@en .


###  https://purl.org/packagegraph/ontology/core#Package
:Package rdf:type owl:Class ;
         rdfs:subClassOf owl:Thing ,
                         <http://www.w3.org/ns/prov#Entity> ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :packageName ;
                           owl:cardinality "1"^^xsd:nonNegativeInteger
                         ] ;
         <http://purl.obolibrary.org/obo/IAO_0000115> "A discrete unit of software represented in package repository metadata, typically containing executable code, configuration files, documentation, and metadata. Most packages can be installed, updated, or removed by a package management system, though some entries (such as phantom packages) exist only as metadata references."@en ;
         rdfs:comment "A software package that can be installed, maintained, or distributed through a package management system"@en ;
         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
         rdfs:label "Package"@en .


###  https://purl.org/packagegraph/ontology/core#PackageIdentity
:PackageIdentity rdf:type owl:Class ;
                 rdfs:subClassOf owl:Thing ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "A stable, version-independent identifier for a package name within a specific distribution, release, and architecture. BinaryPackage instances link to their identity via isVersionOf. Dependencies point to the identity, enabling direct name-based joins without URI parsing."@en ;
                 rdfs:comment "The version-agnostic identity of a package within a distribution and architecture. Dependency targets point to this instead of versioned instances."@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "Package Identity"@en .


###  https://purl.org/packagegraph/ontology/core#PackageManager
:PackageManager rdf:type owl:Class ;
                rdfs:subClassOf owl:Thing ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "A software application or system that automates the process of installing, upgrading, configuring, and removing software packages, including dependency resolution and conflict management."@en ;
                rdfs:comment "A software tool that manages the installation, updating, and removal of packages"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "Package Manager"@en .


###  https://purl.org/packagegraph/ontology/core#PackageSet
:PackageSet rdf:type owl:Class ;
            rdfs:subClassOf owl:Thing ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A named collection of packages within a distribution or product, used to define subsets such as base systems, application streams, or product-specific package sets."@en ;
            rdfs:comment "A named subset of packages within a distribution or product"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "Package Set"@en .


###  https://purl.org/packagegraph/ontology/core#PackagingActivity
:PackagingActivity rdf:type owl:Class ;
                   rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "An activity that transforms source code, configuration files, and other materials into a distributable package format."@en ;
                   rdfs:comment "The process of creating a package from source materials"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "Packaging Activity"@en .


###  https://purl.org/packagegraph/ontology/core#Person
:Person rdf:type owl:Class ;
        rdfs:subClassOf <http://www.w3.org/ns/prov#Agent> ;
        owl:disjointWith :SoftwareAgent ;
        <http://purl.obolibrary.org/obo/IAO_0000115> "A rigid identity representing a human individual. Persons hold roles (Contributor, Maintainer) which are time-dependent and context-dependent. The same Person can maintain packages in multiple distributions and hold different roles over time."@en ;
        rdfs:comment "A human individual who can hold contributor or maintainer roles across packages and distributions"@en ;
        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
        rdfs:label "Person"@en .


###  https://purl.org/packagegraph/ontology/core#PhantomPackage
:PhantomPackage rdf:type owl:Class ;
                rdfs:subClassOf :Package ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "A package that exists in repository primary metadata (e.g., primary.xml for RPM) but has no corresponding files in the file list metadata. Common for TeX Live virtual subpackages and auto-generated meta-entries. Structurally different from a regular Package because it cannot be installed."@en ;
                rdfs:comment "A package entry in repository metadata that has no installable files"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "Phantom Package"@en .


###  https://purl.org/packagegraph/ontology/core#PublishingActivity
:PublishingActivity rdf:type owl:Class ;
                    rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
                    <http://purl.obolibrary.org/obo/IAO_0000115> "An activity that uploads and makes a package available for distribution through a package repository."@en ;
                    rdfs:comment "The process of making a package available in a repository"@en ;
                    rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                    rdfs:label "Publishing Activity"@en .


###  https://purl.org/packagegraph/ontology/core#Repository
:Repository rdf:type owl:Class ;
            rdfs:subClassOf owl:Thing ,
                            <http://www.w3.org/ns/prov#Entity> ;
            <http://purl.obolibrary.org/obo/IAO_0000115> "A centralized storage location where software packages are hosted and made available for distribution, typically accessible via network protocols and managed by package management systems."@en ;
            rdfs:comment "A storage location for packages, accessible through a package management system"@en ;
            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
            rdfs:label "Repository"@en .


###  https://purl.org/packagegraph/ontology/core#SoftwareAgent
:SoftwareAgent rdf:type owl:Class ;
               rdfs:subClassOf <http://www.w3.org/ns/prov#SoftwareAgent> ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "An automated software system that performs package maintenance tasks, such as dependency update bots (Renovate, Dependabot), CI/CD pipelines, or automated security patchers. Distinguished from Person to preserve OntoClean rigidity — a bot is not a foaf:Person."@en ;
               rdfs:comment "An automated software agent performing package maintenance tasks"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "Software Agent"@en .


###  https://purl.org/packagegraph/ontology/core#SourcePackage
:SourcePackage rdf:type owl:Class ;
               rdfs:subClassOf :Package ;
               <http://purl.obolibrary.org/obo/IAO_0000115> "A source package containing the original source code, build scripts, and packaging metadata required to produce one or more binary packages for distribution."@en ;
               rdfs:comment "A package containing source code that can be built into one or more binary packages"@en ;
               rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
               rdfs:label "Source Package"@en .


###  https://purl.org/packagegraph/ontology/core#TestActivity
:TestActivity rdf:type owl:Class ;
              rdfs:subClassOf <http://www.w3.org/ns/prov#Activity> ;
              <http://purl.obolibrary.org/obo/IAO_0000115> "An activity that executes test suites to verify the functionality and quality of a software package."@en ;
              rdfs:comment "The process of running tests on a package"@en ;
              rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
              rdfs:label "Test Activity"@en .


###  https://purl.org/packagegraph/ontology/core#UpstreamProject
:UpstreamProject rdf:type owl:Class ;
                 rdfs:subClassOf <http://usefulinc.com/ns/doap#Project> ,
                                 owl:Thing ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :projectName ;
                                   owl:cardinality "1"^^xsd:nonNegativeInteger
                                 ] ;
                 <http://purl.obolibrary.org/obo/IAO_0000115> "An upstream software project that serves as the origin for packages across multiple distributions, enabling cross-distribution analysis through a shared identity. Aligned with DOAP (Description of a Project) vocabulary — upstream projects are software projects with maintainers, repositories, and releases."@en ;
                 rdfs:comment "An upstream open source project that is packaged by one or more distributions"@en ;
                 rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                 rdfs:label "Upstream Project"@en .


###  https://purl.org/packagegraph/ontology/core#Version
:Version rdf:type owl:Class ;
         rdfs:subClassOf owl:Thing ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :versionString ;
                           owl:cardinality "1"^^xsd:nonNegativeInteger
                         ] ;
         <http://purl.obolibrary.org/obo/IAO_0000115> "A specific release or iteration of a software package, identified by a version string and representing a particular state of the package's development."@en ;
         rdfs:comment "A specific version or release of a package"@en ;
         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
         rdfs:label "Version"@en .


###  https://purl.org/packagegraph/ontology/core#VersionConstraint
:VersionConstraint rdf:type owl:Class ;
                   rdfs:subClassOf owl:Thing ;
                   <http://purl.obolibrary.org/obo/IAO_0000115> "A structured specification that defines acceptable version ranges for package dependencies, including operators and target versions."@en ;
                   rdfs:comment "A structured representation of version constraints for dependencies"@en ;
                   rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                   rdfs:label "Version Constraint"@en .


###  https://purl.org/packagegraph/ontology/core#VirtualPackage
:VirtualPackage rdf:type owl:Class ;
                rdfs:subClassOf :Capability ;
                <http://purl.obolibrary.org/obo/IAO_0000115> "An abstract functional promise that can be satisfied by one or more concrete packages. Virtual packages have no artifact (no size, no checksum, no installable files) — they represent a capability that multiple packages can provide."@en ;
                rdfs:comment "An abstract functional promise that can be satisfied by one or more concrete packages"@en ;
                rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> ;
                rdfs:label "Virtual Package"@en .


###  https://purl.org/packagegraph/ontology/flatpak#Extension
<https://purl.org/packagegraph/ontology/flatpak#Extension> rdf:type owl:Class ;
                                                           <http://purl.obolibrary.org/obo/IAO_0000115> "An add-on that extends a runtime or application with additional functionality (e.g., GL drivers, codecs, language packs)."@en ;
                                                           rdfs:comment "A Flatpak extension adding capabilities to a runtime or app"@en ;
                                                           rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                           rdfs:label "Extension"@en .


###  https://purl.org/packagegraph/ontology/flatpak#FlatpakApp
<https://purl.org/packagegraph/ontology/flatpak#FlatpakApp> rdf:type owl:Class ;
                                                            rdfs:subClassOf :BinaryPackage ;
                                                            <http://purl.obolibrary.org/obo/IAO_0000115> "A desktop application packaged in Flatpak format, identified by a reverse-DNS application ID (e.g., org.mozilla.Firefox), running in a Bubblewrap sandbox."@en ;
                                                            rdfs:comment "A sandboxed application distributed via Flatpak"@en ;
                                                            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                            rdfs:label "Flatpak Application"@en .


###  https://purl.org/packagegraph/ontology/flatpak#Permission
<https://purl.org/packagegraph/ontology/flatpak#Permission> rdf:type owl:Class ;
                                                            <http://purl.obolibrary.org/obo/IAO_0000115> "A sandbox permission granted to the application via --finish-args, controlling access to devices, filesystems, D-Bus services, and network."@en ;
                                                            rdfs:comment "A sandbox permission (finish-arg)"@en ;
                                                            rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                            rdfs:label "Permission"@en .


###  https://purl.org/packagegraph/ontology/flatpak#Remote
<https://purl.org/packagegraph/ontology/flatpak#Remote> rdf:type owl:Class ;
                                                        rdfs:subClassOf :Repository ;
                                                        <http://purl.obolibrary.org/obo/IAO_0000115> "An OSTree-based repository serving Flatpak applications and runtimes, such as Flathub or a self-hosted remote."@en ;
                                                        rdfs:comment "A Flatpak remote repository (e.g., Flathub)"@en ;
                                                        rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                        rdfs:label "Remote"@en .


###  https://purl.org/packagegraph/ontology/flatpak#Runtime
<https://purl.org/packagegraph/ontology/flatpak#Runtime> rdf:type owl:Class ;
                                                         <http://purl.obolibrary.org/obo/IAO_0000115> "A base platform providing shared libraries, frameworks, and a filesystem root for Flatpak applications (e.g., org.gnome.Platform, org.kde.Platform)."@en ;
                                                         rdfs:comment "A Flatpak runtime providing shared libraries"@en ;
                                                         rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/flatpak#> ;
                                                         rdfs:label "Runtime"@en .


#################################################################
#    Individuals
#################################################################

###  https://packagegraph.github.io/
<https://packagegraph.github.io/> rdf:type <http://xmlns.com/foaf/0.1/Organization> ;
                                  <http://xmlns.com/foaf/0.1/homepage> <https://github.com/packagegraph> ;
                                  <http://xmlns.com/foaf/0.1/name> "PackageGraph Project" .


#################################################################
#    Annotations
#################################################################

<http://purl.org/dc/terms/created> rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> .


<http://purl.org/dc/terms/license> rdfs:isDefinedBy <https://purl.org/packagegraph/ontology/core#> .


#################################################################
#    General axioms
#################################################################

[ rdf:type owl:AllDisjointClasses ;
  owl:members ( :Architecture
                :Capability
                :Distribution
                :License
                :Package
                :Repository
              )
] .


[ rdf:type owl:AllDisjointClasses ;
  owl:members ( :Dependency
                :Package
                :Version
              )
] .


[ rdf:type owl:AllDisjointClasses ;
  owl:members ( :Distribution
                :Package
                :Person
                :Repository
              )
] .


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