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

<https://w3id.org/rdf-connect/ontology> a owl:Ontology;
  <http://creativecommons.org/ns#license> <https://creativecommons.org/licenses/by/4.0/>;
  <http://purl.org/dc/terms/author> _:genid-bceba155c0ba45cd8d0615a053f842062809-genid1;
  <http://purl.org/dc/terms/contributor> <https://julianrojas.org/#me>, <https://pietercolpaert.be/#me>,
    <https://smessaert.be/#me>, _:genid-bceba155c0ba45cd8d0615a053f842062809-genid2;
  <http://purl.org/dc/terms/issued> "2024-07-29"^^xsd:date;
  <http://purl.org/dc/terms/modified> "2025-09-02"^^xsd:date;
  rdfs:comment "An ontology for describing programming language-specific runners, processors and pipelines in RDF-based data processing frameworks."@en;
  rdfs:label "RDF Connect Ontology"@en;
  owl:versionInfo "0.2.1" .

_:genid-bceba155c0ba45cd8d0615a053f842062809-genid1 a <http://xmlns.com/foaf/0.1/Person>;
  <http://xmlns.com/foaf/0.1/name> "Arthur Vercruysse" .

<http://xmlns.com/foaf/0.1/Person> a owl:Class .

_:genid-bceba155c0ba45cd8d0615a053f842062809-genid2 a <http://xmlns.com/foaf/0.1/Person>;
  <http://xmlns.com/foaf/0.1/name> "Jens Pots" .

<http://creativecommons.org/ns#license> a owl:AnnotationProperty .

<http://purl.org/dc/terms/author> a owl:AnnotationProperty .

<http://purl.org/dc/terms/contributor> a owl:AnnotationProperty .

<http://purl.org/dc/terms/issued> a owl:AnnotationProperty .

<http://purl.org/dc/terms/modified> a owl:AnnotationProperty .

<http://xmlns.com/foaf/0.1/name> a owl:AnnotationProperty .

xsd:date a rdfs:Datatype .

rdfs:subClassOf a owl:ObjectProperty .

<https://w3id.org/rdf-connect#consistsOf> a owl:ObjectProperty;
  rdfs:domain <https://w3id.org/rdf-connect#Pipeline>;
  rdfs:range <https://w3id.org/rdf-connect#ExecutionContext>;
  rdfs:comment "Relates a pipeline to an execution context (runner and processors) it uses."@en;
  rdfs:label "consists of"@en .

<https://w3id.org/rdf-connect#handlesSubjectsOf> a owl:ObjectProperty;
  rdfs:domain <https://w3id.org/rdf-connect#Runner>;
  rdfs:comment "The property that defines which type of processors a runner can handle, typically linked to a specific implementation property."@en;
  rdfs:label "handle subjects of"@en .

<https://w3id.org/rdf-connect#implementationOf> a owl:ObjectProperty;
  rdfs:subPropertyOf rdfs:subClassOf;
  rdfs:domain <https://w3id.org/rdf-connect#Processor>;
  rdfs:range <https://w3id.org/rdf-connect#Processor>;
  rdfs:comment "Abstract property that conveys the implementation language of a processor."@en;
  rdfs:label "implementation of"@en .

<https://w3id.org/rdf-connect#instantiates> a owl:ObjectProperty;
  rdfs:domain <https://w3id.org/rdf-connect#ExecutionContext>;
  rdfs:range <https://w3id.org/rdf-connect#Runner>;
  rdfs:comment "Declares the runner instance used in an execution context."@en;
  rdfs:label "instantiates"@en .

<https://w3id.org/rdf-connect#javaImplementationOf> a owl:ObjectProperty;
  rdfs:subPropertyOf <https://w3id.org/rdf-connect#implementationOf>;
  rdfs:comment "Indicates that a processor is implemented in Java and is a specialization of implementationOf."@en;
  rdfs:label "Java Implementation Of"@en .

<https://w3id.org/rdf-connect#jsImplementationOf> a owl:ObjectProperty;
  rdfs:subPropertyOf <https://w3id.org/rdf-connect#implementationOf>;
  rdfs:comment "Indicates that a processor is implemented in JavaScript and is a specialization of implementationOf."@en;
  rdfs:label "JavaScript Implementation Of"@en .

<https://w3id.org/rdf-connect#processor> a owl:ObjectProperty;
  rdfs:domain <https://w3id.org/rdf-connect#ExecutionContext>;
  rdfs:range <https://w3id.org/rdf-connect#Processor>;
  rdfs:comment "Declares a processor instance used in an execution context, part of a pipeline."@en;
  rdfs:label "processor"@en .

<https://w3id.org/rdf-connect#pyImplementationOf> a owl:ObjectProperty;
  rdfs:subPropertyOf <https://w3id.org/rdf-connect#implementationOf>;
  rdfs:comment "Indicates that a processor is implemented in Python and is a specialization of implementationOf."@en;
  rdfs:label "Python Implementation Of"@en .

<https://w3id.org/rdf-connect#class> a owl:DatatypeProperty;
  rdfs:range xsd:string;
  rdfs:comment "The class name of a processor. Applicable for any object-oriented programming language."@en;
  rdfs:label "class"@en .

<https://w3id.org/rdf-connect#command> a owl:DatatypeProperty;
  rdfs:range xsd:string;
  rdfs:comment "Shell command used by an orchestrator to execute a runner instance."@en;
  rdfs:label "command"@en .

<https://w3id.org/rdf-connect#entrypoint> a owl:DatatypeProperty;
  rdfs:range xsd:anyURI;
  rdfs:comment "The folder location of the main script or module entry point of a JavaScript processor."@en;
  rdfs:label "entrypoint"@en .

<https://w3id.org/rdf-connect#file> a owl:DatatypeProperty;
  rdfs:range xsd:anyURI;
  rdfs:comment "The file name containing the processor logic of a JavaScript processor."@en;
  rdfs:label "file"@en .

<https://w3id.org/rdf-connect#jar> a owl:DatatypeProperty;
  rdfs:range xsd:anyURI;
  rdfs:comment "Path to the JAR file containing the processor logic of a Java processor."@en;
  rdfs:label "jar"@en .

<https://w3id.org/rdf-connect#module_path> a owl:DatatypeProperty;
  rdfs:range xsd:string;
  rdfs:comment "The module path of a processor implemented in Python."@en;
  rdfs:label "module path"@en .

<http://www.w3.org/ns/prov#Activity> a owl:Class .

<http://www.w3.org/ns/prov#Entity> a owl:Class .

<http://www.w3.org/ns/prov#SoftwareAgent> a owl:Class .

<https://w3id.org/rdf-connect#CommandRunner> a owl:Class;
  rdfs:subClassOf <https://w3id.org/rdf-connect#Runner>;
  rdfs:comment "A runner that executes processors via shell commands."@en;
  rdfs:label "Command Runner"@en .

<https://w3id.org/rdf-connect#ExecutionContext> a owl:Class;
  rdfs:comment "Entity that defines an execution context used by a pipeline, which is composed by a runner and a set of processor instances."@en;
  rdfs:label "Execution Context"@en .

<https://w3id.org/rdf-connect#Pipeline> a owl:Class;
  rdfs:subClassOf <http://www.w3.org/ns/prov#Entity>;
  rdfs:comment "A sequence of processors and runners forming a data processing workflow."@en;
  rdfs:label "Pipeline"@en .

<https://w3id.org/rdf-connect#Processor> a owl:Class;
  rdfs:subClassOf <http://www.w3.org/ns/prov#Activity>;
  rdfs:comment "A processing unit that performs an action within a pipeline."@en;
  rdfs:label "Processor"@en .

<https://w3id.org/rdf-connect#Reader> a owl:Class;
  rdfs:comment "A component that provides input data to a processor."@en;
  rdfs:label "Reader"@en .

<https://w3id.org/rdf-connect#Runner> a owl:Class;
  rdfs:subClassOf <http://www.w3.org/ns/prov#SoftwareAgent>;
  rdfs:comment "An agent responsible for executing processors based on specific implementations."@en;
  rdfs:label "Runner"@en .

<https://w3id.org/rdf-connect#Writer> a owl:Class;
  rdfs:comment "A component that handles output data from a processor."@en;
  rdfs:label "Writer"@en .
