-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbead-software.ttl
More file actions
98 lines (78 loc) · 3.7 KB
/
Copy pathbead-software.ttl
File metadata and controls
98 lines (78 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# BEAD Software Ontology (bead-software.ttl)
# Version: 0.1.0
# Description: A module for BEAD that provides a detailed model for software, repositories, and packages.
@prefix : <https://purl.org/bead/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix schema: <http://schema.org/> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
# ------------------------------------------------------
# Ontology Header & Import
# ------------------------------------------------------
<https://purl.org/bead/software> rdf:type owl:Ontology ;
dcterms:title "BEAD Software Ontology"@en ;
dcterms:description "A module for BEAD that provides a detailed model for software, repositories, and packages."@en ;
owl:versionInfo "0.1.0" ;
owl:versionIRI <https://purl.org/bead/0.1.0/software> ;
dcterms:creator "ben carrillo" ;
dcterms:license <https://creativecommons.org/licenses/by-sa/4.0/> ;
dcterms:created "2025"^^xsd:gYear ;
# Import the core ontology to build upon it.
owl:imports <https://purl.org/bead/core> .
# ------------------------------------------------------
# External Class Declarations
# ------------------------------------------------------
schema:SoftwareApplication rdf:type owl:Class .
doap:Project rdf:type owl:Class .
# ------------------------------------------------------
# Software-Specific Classes
# ------------------------------------------------------
# We use schema:SoftwareApplication for the general concept of software
schema:SoftwareApplication rdfs:subClassOf :ComputationalTool .
# A source code repository (e.g., on GitHub, GitLab)
:Repository rdf:type owl:Class ;
rdfs:subClassOf doap:Project, :ComputationalTool ;
rdfs:label "Repository"@en .
# A distributable software package (e.g., a PyPI package, a Crate, a Docker container)
:Package rdf:type owl:Class ;
rdfs:subClassOf :ComputationalTool ;
rdfs:label "Package"@en .
# A registry or package manager where packages are hosted
:SoftwareRegistry rdf:type owl:Class ;
rdfs:label "Software Registry"@en ;
rdfs:comment "A platform for hosting and distributing software packages, e.g., PyPI, Crates.io, Bioconductor."@en .
# ------------------------------------------------------
# Properties for Software
# ------------------------------------------------------
# --- Object Properties ---
:developedAt rdf:type owl:ObjectProperty ;
rdfs:label "developed at"@en ;
rdfs:domain schema:SoftwareApplication ;
rdfs:range :Repository .
:producesPackage rdf:type owl:ObjectProperty ;
rdfs:label "produces package"@en ;
rdfs:domain :Repository ;
rdfs:range :Package .
:isAvailableFrom rdf:type owl:ObjectProperty ;
rdfs:label "is available from"@en ;
rdfs:domain :Package ;
rdfs:range :SoftwareRegistry .
# --- Datatype Properties ---
:hasVersion rdf:type owl:DatatypeProperty ;
rdfs:label "has version"@en ;
rdfs:comment "The version string of a computational tool."@en ;
rdfs:domain :ComputationalTool ; # Applies to Software, Repo, and Package
rdfs:range xsd:string .
:hasTag rdf:type owl:DatatypeProperty ;
rdfs:label "has tag"@en ;
rdfs:comment "A tag associated with a repository commit, often corresponding to a version."@en ;
rdfs:domain :Repository ;
rdfs:range xsd:string .
:hasRegistryIdentifier rdf:type owl:DatatypeProperty ;
rdfs:label "has registry identifier"@en ;
rdfs:comment "The unique name or identifier of a package within its registry (e.g., 'pandas' on PyPI)."@en ;
rdfs:domain :Package ;
rdfs:range xsd:string .