@prefix IAO: <http://purl.obolibrary.org/obo/IAO_> .
@prefix bsdpkg: <https://purl.org/packagegraph/ontology/bsdpkg#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pkg: <https://purl.org/packagegraph/ontology/core#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

bsdpkg:FreeBSDPort a owl:Class ;
    rdfs:label "FreeBSD Port"@en ;
    IAO:0000115 "A software package in the FreeBSD ports collection that provides build instructions and metadata for compiling software from source on FreeBSD systems."@en ;
    rdfs:comment "A port in the FreeBSD ports system"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf bsdpkg:Port .

bsdpkg:NetBSDPort a owl:Class ;
    rdfs:label "NetBSD Port"@en ;
    IAO:0000115 "A software package in the NetBSD pkgsrc collection that provides build instructions and metadata for compiling software from source on NetBSD and other supported systems."@en ;
    rdfs:comment "A port in the NetBSD pkgsrc system"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf bsdpkg:Port .

bsdpkg:OpenBSDPort a owl:Class ;
    rdfs:label "OpenBSD Port"@en ;
    IAO:0000115 "A software package in the OpenBSD ports collection that provides build instructions and metadata for compiling software from source on OpenBSD systems."@en ;
    rdfs:comment "A port in the OpenBSD ports system"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf bsdpkg:Port .

bsdpkg:PortSkeleton a owl:Class ;
    rdfs:label "Port Skeleton"@en ;
    IAO:0000115 "The complete directory structure and files that define a BSD port, including Makefile, patches, description files, and other metadata."@en ;
    rdfs:comment "The complete set of files that define a port"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:PortsTree a owl:Class ;
    rdfs:label "Ports Tree"@en ;
    IAO:0000115 "A hierarchical directory structure containing all available ports organized by category, providing the complete collection of software that can be built from source."@en ;
    rdfs:comment "A collection of ports organized in a directory structure"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf pkg:Repository .

bsdpkg:brokenOn a owl:DatatypeProperty ;
    rdfs:label "broken on"@en ;
    IAO:0000115 "Specifies platforms, architectures, or system versions where this port is known to have build or runtime issues."@en ;
    rdfs:comment "Platforms where this port is known to be broken"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:buildDepends a owl:ObjectProperty ;
    rdfs:label "build depends"@en ;
    IAO:0000115 "Specifies ports that must be installed to provide tools, libraries, or other resources needed during the build process."@en ;
    rdfs:comment "Build-time dependency"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Port ;
    rdfs:subPropertyOf pkg:buildDependsOn .

bsdpkg:checksumMd5 a owl:DatatypeProperty ;
    rdfs:label "MD5 checksum"@en ;
    IAO:0000115 "The MD5 cryptographic hash of distribution files used to verify file integrity during download."@en ;
    rdfs:comment "MD5 checksum of distribution files"@en ;
    rdfs:domain bsdpkg:Distinfo ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:checksumSha256 a owl:DatatypeProperty ;
    rdfs:label "SHA256 checksum"@en ;
    IAO:0000115 "The SHA256 cryptographic hash of distribution files used to verify file integrity during download."@en ;
    rdfs:comment "SHA256 checksum of distribution files"@en ;
    rdfs:domain bsdpkg:Distinfo ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:checksumSize a owl:DatatypeProperty ;
    rdfs:label "checksum size"@en ;
    IAO:0000115 "The size in bytes of distribution files, used to verify complete download and file integrity."@en ;
    rdfs:comment "Size of distribution files"@en ;
    rdfs:domain bsdpkg:Distinfo ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:long .

bsdpkg:comment a owl:DatatypeProperty ;
    rdfs:label "comment"@en ;
    IAO:0000115 "A brief one-line description of the port's purpose and functionality, displayed in package listings and searches."@en ;
    rdfs:comment "One-line description of the port"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf pkg:description .

bsdpkg:devel a bsdpkg:Category ;
    rdfs:label "devel"@en ;
    rdfs:comment "Development tools and libraries"@en .

bsdpkg:distfiles a owl:DatatypeProperty ;
    rdfs:label "distribution files"@en ;
    IAO:0000115 "Specifies the names of source archive files that need to be downloaded to build this port."@en ;
    rdfs:comment "The distribution files to download"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:distname a owl:DatatypeProperty ;
    rdfs:label "distribution name"@en ;
    IAO:0000115 "The base name of the main source distribution archive, typically without file extension."@en ;
    rdfs:comment "The base name of the distribution file"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:extractDepends a owl:ObjectProperty ;
    rdfs:label "extract depends"@en ;
    IAO:0000115 "Specifies ports that provide tools needed to extract or decompress the source distribution files."@en ;
    rdfs:comment "Dependency needed for extracting sources"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Port .

bsdpkg:extractSufx a owl:DatatypeProperty ;
    rdfs:label "extract suffix"@en ;
    IAO:0000115 "The file extension of the main distribution archive, used to determine the appropriate extraction method."@en ;
    rdfs:comment "The file extension for the main distribution file"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:fetchDepends a owl:ObjectProperty ;
    rdfs:label "fetch depends"@en ;
    IAO:0000115 "Specifies ports that provide tools or protocols needed to download the source distribution files."@en ;
    rdfs:comment "Dependency needed for fetching sources"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Port .

bsdpkg:forbidden a owl:DatatypeProperty ;
    rdfs:label "forbidden"@en ;
    IAO:0000115 "Explains why this port is forbidden from being built or distributed, typically due to legal or security concerns."@en ;
    rdfs:comment "Reason why the port is forbidden"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:games a bsdpkg:Category ;
    rdfs:label "games"@en ;
    rdfs:comment "Games and entertainment software"@en .

bsdpkg:hasDistinfo a owl:ObjectProperty ;
    rdfs:label "has distinfo"@en ;
    IAO:0000115 "Associates a port with its distinfo file containing checksums and metadata for distribution files."@en ;
    rdfs:comment "Links a port to its distinfo file"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Distinfo .

bsdpkg:hasFlavor a owl:ObjectProperty ;
    rdfs:label "has flavor"@en ;
    IAO:0000115 "Associates a port with its available build variants or flavors that provide different feature sets."@en ;
    rdfs:comment "Links a port to its flavors"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Flavor .

bsdpkg:hasMakefile a owl:ObjectProperty ;
    rdfs:label "has Makefile"@en ;
    IAO:0000115 "Associates a port with its Makefile containing build instructions and configuration variables."@en ;
    rdfs:comment "Links a port to its Makefile"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Makefile .

bsdpkg:hasOption a owl:ObjectProperty ;
    rdfs:label "has option"@en ;
    IAO:0000115 "Associates a port with its configurable build options that can be enabled or disabled by users."@en ;
    rdfs:comment "Links a port to its build options"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Option .

bsdpkg:hasPatch a owl:ObjectProperty ;
    rdfs:label "has patch"@en ;
    IAO:0000115 "Associates a port with patch files that modify the original source code during the build process."@en ;
    rdfs:comment "Links a port to its patches"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Patch .

bsdpkg:hasPkgDescr a owl:ObjectProperty ;
    rdfs:label "has pkg-descr"@en ;
    IAO:0000115 "Associates a port with its detailed description file explaining the software's purpose and features."@en ;
    rdfs:comment "Links a port to its package description"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:PkgDescr .

bsdpkg:hasPkgMessage a owl:ObjectProperty ;
    rdfs:label "has pkg-message"@en ;
    IAO:0000115 "Associates a port with its message file containing important information displayed during installation."@en ;
    rdfs:comment "Links a port to its package message"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:PkgMessage .

bsdpkg:hasPkgPlist a owl:ObjectProperty ;
    rdfs:label "has pkg-plist"@en ;
    IAO:0000115 "Associates a port with its packing list file that specifies all files and directories to be installed."@en ;
    rdfs:comment "Links a port to its package plist"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:PkgPlist .

bsdpkg:inCategory a owl:ObjectProperty ;
    rdfs:label "in category"@en ;
    IAO:0000115 "Lists the functional categories that classify this port, with the first category determining its location in the ports tree."@en ;
    rdfs:comment "The categories this port belongs to"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Category .

bsdpkg:libDepends a owl:ObjectProperty ;
    rdfs:label "library depends"@en ;
    IAO:0000115 "Specifies ports that provide shared libraries required by this port at both build and runtime."@en ;
    rdfs:comment "Shared library dependency"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Port .

bsdpkg:maintainer a owl:ObjectProperty ;
    rdfs:label "maintainer"@en ;
    IAO:0000115 "The person or entity responsible for maintaining and updating this port."@en ;
    rdfs:comment "The person or entity who maintains the port"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range pkg:Maintainer ;
    rdfs:subPropertyOf pkg:maintainedBy .

bsdpkg:masterPort a owl:DatatypeProperty ;
    rdfs:label "master port"@en ;
    IAO:0000115 "Identifies the master port that this slave port derives its configuration and build instructions from."@en ;
    rdfs:comment "The master port for slave ports"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:masterSites a owl:DatatypeProperty ;
    rdfs:label "master sites"@en ;
    IAO:0000115 "Specifies the primary download locations where the source distribution files can be obtained."@en ;
    rdfs:comment "Primary download sites for distribution files"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:anyURI .

bsdpkg:net a bsdpkg:Category ;
    rdfs:label "net"@en ;
    rdfs:comment "Networking software"@en .

bsdpkg:noArch a owl:DatatypeProperty ;
    rdfs:label "no arch"@en ;
    IAO:0000115 "Indicates that this port produces architecture-independent packages that can be used on any supported platform."@en ;
    rdfs:comment "Whether the port is architecture-independent"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:boolean .

bsdpkg:noPackage a owl:DatatypeProperty ;
    rdfs:label "no package"@en ;
    IAO:0000115 "Explains why binary packages are not created for this port, requiring users to build from source."@en ;
    rdfs:comment "Reason why binary packages are not built"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:notForArchs a owl:DatatypeProperty ;
    rdfs:label "not for archs"@en ;
    IAO:0000115 "Lists architectures or platforms where this port cannot be built due to incompatibilities or limitations."@en ;
    rdfs:comment "Architectures this port cannot be built on"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:onlyForArchs a owl:DatatypeProperty ;
    rdfs:label "only for archs"@en ;
    IAO:0000115 "Restricts this port to only be built on the specified architectures or platforms."@en ;
    rdfs:comment "Architectures this port can be built on"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:patchDepends a owl:ObjectProperty ;
    rdfs:label "patch depends"@en ;
    IAO:0000115 "Specifies ports that provide tools needed to apply patches to the source code during the build process."@en ;
    rdfs:comment "Dependency needed for patching"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Port .

bsdpkg:pkgnamePrefix a owl:DatatypeProperty ;
    rdfs:label "package name prefix"@en ;
    IAO:0000115 "A string prepended to the package name to distinguish variants or provide additional identification."@en ;
    rdfs:comment "Prefix added to the package name"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:pkgnameSuffix a owl:DatatypeProperty ;
    rdfs:label "package name suffix"@en ;
    IAO:0000115 "A string appended to the package name to distinguish variants or provide additional identification."@en ;
    rdfs:comment "Suffix added to the package name"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:portepoch a owl:DatatypeProperty ;
    rdfs:label "port epoch"@en ;
    IAO:0000115 "An integer used to override normal version comparison when the version numbering scheme changes significantly."@en ;
    rdfs:comment "The port epoch for version ordering"@en ;
    rdfs:domain pkg:Version ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:int ;
    rdfs:subPropertyOf pkg:epoch .

bsdpkg:portname a owl:DatatypeProperty ;
    rdfs:label "port name"@en ;
    IAO:0000115 "The unique name identifier of the port within its category in the ports tree."@en ;
    rdfs:comment "The name of the port"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:portrevision a owl:DatatypeProperty ;
    rdfs:label "port revision"@en ;
    IAO:0000115 "An integer incremented when the port is updated without changing the upstream software version."@en ;
    rdfs:comment "The port revision number"@en ;
    rdfs:domain pkg:Version ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:int ;
    rdfs:subPropertyOf pkg:revision .

bsdpkg:portversion a owl:DatatypeProperty ;
    rdfs:label "port version"@en ;
    IAO:0000115 "The version string of the upstream software that this port packages."@en ;
    rdfs:comment "The version of the port"@en ;
    rdfs:domain pkg:Version ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string ;
    rdfs:subPropertyOf pkg:versionString .

bsdpkg:restricted a owl:DatatypeProperty ;
    rdfs:label "restricted"@en ;
    IAO:0000115 "Explains why this port has restrictions on redistribution, typically due to licensing constraints."@en ;
    rdfs:comment "Reason why the port has distribution restrictions"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:runDepends a owl:ObjectProperty ;
    rdfs:label "run depends"@en ;
    IAO:0000115 "Specifies ports that must be installed for this port to function properly at runtime."@en ;
    rdfs:comment "Runtime dependency"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range bsdpkg:Port ;
    rdfs:subPropertyOf pkg:dependsOn .

bsdpkg:security a bsdpkg:Category ;
    rdfs:label "security"@en ;
    rdfs:comment "Security tools and libraries"@en .

bsdpkg:sysutils a bsdpkg:Category ;
    rdfs:label "sysutils"@en ;
    rdfs:comment "System utilities"@en .

bsdpkg:textproc a bsdpkg:Category ;
    rdfs:label "textproc"@en ;
    rdfs:comment "Text processing utilities"@en .

bsdpkg:usesAutotools a owl:DatatypeProperty ;
    rdfs:label "uses autotools"@en ;
    IAO:0000115 "Indicates that this port uses GNU autotools (autoconf, automake, libtool) for its build system configuration."@en ;
    rdfs:comment "Whether the port uses GNU autotools"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:boolean .

bsdpkg:usesGmake a owl:DatatypeProperty ;
    rdfs:label "uses gmake"@en ;
    IAO:0000115 "Indicates that this port requires GNU make instead of the system's default make implementation."@en ;
    rdfs:comment "Whether the port requires GNU make"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:boolean .

bsdpkg:usesLibc a owl:DatatypeProperty ;
    rdfs:label "uses libc"@en ;
    IAO:0000115 "Specifies the C library implementation or version required by this port."@en ;
    rdfs:comment "The C library dependency"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:usesPerl a owl:DatatypeProperty ;
    rdfs:label "uses perl"@en ;
    IAO:0000115 "Specifies the Perl interpreter version or modules required by this port for building or runtime."@en ;
    rdfs:comment "The Perl dependency requirement"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:usesPython a owl:DatatypeProperty ;
    rdfs:label "uses python"@en ;
    IAO:0000115 "Specifies the Python interpreter version or modules required by this port for building or runtime."@en ;
    rdfs:comment "The Python dependency requirement"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:worksrc a owl:DatatypeProperty ;
    rdfs:label "work source"@en ;
    IAO:0000115 "Specifies the subdirectory within the work directory where the source code is extracted and compilation occurs."@en ;
    rdfs:comment "The directory where sources are extracted and built"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:string .

bsdpkg:www a bsdpkg:Category ;
    rdfs:label "www"@en ;
    rdfs:comment "World Wide Web related ports"@en .

bsdpkg:wwwSite a owl:DatatypeProperty ;
    rdfs:label "WWW site"@en ;
    IAO:0000115 "The official website URL of the upstream software project that this port packages."@en ;
    rdfs:comment "The upstream website URL"@en ;
    rdfs:domain bsdpkg:Port ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:range xsd:anyURI ;
    rdfs:subPropertyOf pkg:homepage .

bsdpkg:x11 a bsdpkg:Category ;
    rdfs:label "x11"@en ;
    rdfs:comment "X Window System related software"@en .

bsdpkg:Flavor a owl:Class ;
    rdfs:label "Port Flavor"@en ;
    IAO:0000115 "A build-time variant of a BSD port that provides different features, dependencies, or configurations while sharing the same base source code."@en ;
    rdfs:comment "A variant of a port with different build options or dependencies"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:Makefile a owl:Class ;
    rdfs:label "Port Makefile"@en ;
    IAO:0000115 "A BSD make-compatible file that defines variables, dependencies, and build instructions for compiling and installing a port."@en ;
    rdfs:comment "A Makefile containing port build instructions and metadata"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:Option a owl:Class ;
    rdfs:label "Port Option"@en ;
    IAO:0000115 "A configurable build-time option that allows users to enable or disable specific features, dependencies, or functionality when building a BSD port."@en ;
    rdfs:comment "A build option that can be enabled or disabled for a port"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:Patch a owl:Class ;
    rdfs:label "Patch"@en ;
    IAO:0000115 "A file containing modifications to the original source code that are applied during the build process to fix bugs, add features, or adapt the software for BSD systems."@en ;
    rdfs:comment "A patch file applied during port building"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:PkgDescr a owl:Class ;
    rdfs:label "Package Description"@en ;
    IAO:0000115 "A text file containing a detailed description of the port's functionality, purpose, and features, used for documentation and package management."@en ;
    rdfs:comment "File containing detailed description of the port"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:PkgMessage a owl:Class ;
    rdfs:label "Package Message"@en ;
    IAO:0000115 "A text file containing important information, configuration instructions, or warnings that are displayed to users during package installation or removal."@en ;
    rdfs:comment "File containing messages displayed during installation"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:PkgPlist a owl:Class ;
    rdfs:label "Package Plist"@en ;
    IAO:0000115 "A manifest file listing all files, directories, and other items that will be installed by the port, used for package creation and removal."@en ;
    rdfs:comment "Packing list containing files installed by the port"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:Distinfo a owl:Class ;
    rdfs:label "Distinfo"@en ;
    IAO:0000115 "A file containing cryptographic checksums and size information for distribution files, used to verify the integrity of downloaded source archives."@en ;
    rdfs:comment "File containing checksums and metadata for distribution files"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:Category a owl:Class ;
    rdfs:label "Port Category"@en ;
    IAO:0000115 "A hierarchical classification system for organizing BSD ports by functionality or purpose, such as www for web-related software or devel for development tools."@en ;
    rdfs:comment "A category in the ports tree (e.g., www, devel, games)"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf owl:Thing .

bsdpkg:Port a owl:Class ;
    rdfs:label "Port"@en ;
    IAO:0000115 "A collection of files and metadata that provides instructions for downloading, compiling, and installing software from source code on BSD systems."@en ;
    rdfs:comment "A port in the BSD ports system"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:subClassOf pkg:SourcePackage .

bsdpkg: a owl:Ontology ;
    rdfs:label "BSD Ports Package Ontology"@en ;
    dcterms:abstract "The BSD extension models the FreeBSD, OpenBSD, and NetBSD ports systems. It captures ports tree structure, Makefile build configuration, distinfo checksums, build options, flavors, and categories. Port dependencies, master sites, and patch metadata are represented to support cross-BSD and BSD-to-Linux package comparisons." ;
    dcterms:created "2025-09-05"^^xsd:date ;
    dcterms:creator <https://packagegraph.github.io/> ;
    dcterms:description "A comprehensive ontology for modeling BSD packages, ports systems, package databases, and BSD-specific metadata including origins, flavors, and port dependencies." ;
    dcterms:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
    dcterms:modified "2026-04-21"^^xsd:date ;
    dcterms:title "BSD Package Ontology" ;
    rdfs:comment "Ontology for representing BSD ports system packages (FreeBSD, OpenBSD, NetBSD)"@en ;
    rdfs:isDefinedBy bsdpkg: ;
    rdfs:seeAlso <https://purl.org/packagegraph/ontology/bsdpkg/shapes> ;
    owl:imports pkg: ;
    owl:priorVersion <https://purl.org/packagegraph/ontology/bsdpkg/0.6.0> ;
    owl:versionIRI <https://purl.org/packagegraph/ontology/bsdpkg/0.7.0> ;
    owl:versionInfo "0.7.0" .

