PREFIX rb: <https://w3id.org/riverbench/schema/metadata#>
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#>

<http://www.w3.org/ns/shacl#NodeShape> a rdfs:Class .

rb:targetCustom a rdf:Property ;
  rdfs:label "Target custom"@en ;
  rdfs:comment "Custom SHACL-like node target used in RiverBench for datasets where SHACL does not provide adequate means for targeting them (e.g., for RDF-star)."@en ;
  rdfs:domain <http://www.w3.org/ns/shacl#NodeShape> ;
  rdfs:range rb:CustomShaclTarget .

rb:StatementCountStreamElementSplit a rdfs:Class ;
  rdfs:label "Stream elements split by statement count"@en ;
  rdfs:comment "The number of statements in an element was the criterion for splitting the stream elements."@en ;
  rdfs:subClassOf rb:StreamElementSplit .

rb:QuotedTripleCountStatistics a rdfs:Class ;
  rdfs:label "Quoted triple count statistics"@en ;
  rdfs:comment "Statistics about the number of quoted triples in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

rb:statisticalProperty a rdf:Property ;
  rdfs:label "Statistical property"@en ;
  rdfs:comment "The base statistical property."@en ;
  rdfs:domain rb:Statistics ;
  rdfs:range <https://w3id.org/linkml/Any> .

rb:AsciiControlCharacterCountStatistics a rdfs:Class ;
  rdfs:label "ASCII control character count statistics"@en ;
  rdfs:comment "Statistics about the number of ASCII control characters except HT, LF, and CR (0x00-0x08, 0x0B, 0x0C, 0x0E-0x1F) in literals. These characters are allowed in RDF literals, but some serializations (e.g., RDF/XML) may not be able to encode them. See the documentation page \"Dataset compatibility notes\" for more details."@en ;
  rdfs:subClassOf rb:Statistics .

rb:LiteralCountStatistics a rdfs:Class ;
  rdfs:label "Literal count statistics"@en ;
  rdfs:comment "Statistics about the number of literals in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

rb:Profile a rdfs:Class ;
  rdfs:label "Benchmark profile"@en ;
  rdfs:comment "Benchmark profile grouping several datasets in RiverBench. Each profile belongs to one benchmark category (rb:Category)."@en ;
  rdfs:subClassOf rb:CategoryMember , <http://www.w3.org/ns/dcat#DatasetSeries> .

rb:hasDatasetShape a rdf:Property ;
  rdfs:label "Has dataset shape"@en ;
  rdfs:comment "Specifies the SHACL shape of distributions that are allowed in a given benchmark profile."@en ;
  rdfs:domain rb:Profile ;
  rdfs:range <http://www.w3.org/ns/shacl#NodeShape> ;
  rdfs:subPropertyOf rb:hasShape .

rb:isSubsetOfProfile a rdf:Property ;
  rdfs:label "Is subset of profile"@en ;
  rdfs:comment "Indicates that this profile's datasets are all in the other profile"@en ;
  rdfs:domain rb:Profile ;
  rdfs:range rb:Profile ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/relation> .

rb:hasDistributionShape a rdf:Property ;
  rdfs:label "Has distribution shape"@en ;
  rdfs:comment "Specifies the SHACL shape of distributions that are allowed in a given benchmark profile."@en ;
  rdfs:domain rb:Profile ;
  rdfs:range <http://www.w3.org/ns/shacl#NodeShape> ;
  rdfs:subPropertyOf rb:hasShape .

rb:isSupersetOfProfile a rdf:Property ;
  rdfs:label "Is superset of profile"@en ;
  rdfs:comment "Indicates that this profile contains all datasets of the other profile"@en ;
  rdfs:domain rb:Profile ;
  rdfs:range rb:Profile ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/relation> .

<http://www.w3.org/ns/dcat#inCatalog> a rdf:Property ;
  rdfs:domain <http://www.w3.org/ns/dcat#Resource> ;
  rdfs:range <http://www.w3.org/ns/dcat#Catalog> ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/isPartOf> .

rb:inCategory a rdf:Property ;
  rdfs:label "In benchmark category"@en ;
  rdfs:comment "Indicates that the subject (either a task or a profile) is in benchmark category. This property is functional (each task/profile must be in exactly one benchmark category)."@en ;
  rdfs:domain rb:CategoryMember ;
  rdfs:range rb:Category ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/isPartOf> .

rb:SubjectCountStatistics a rdfs:Class ;
  rdfs:label "Subject count statistics"@en ;
  rdfs:comment "Statistics about the number of subjects in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

<http://ontology.ethereal.cz/irao/System> a rdfs:Class .

rb:IriCountStatistics a rdfs:Class ;
  rdfs:label "IRI count statistics"@en ;
  rdfs:comment "Statistics about the number of IRIs in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

<http://ontology.ethereal.cz/irao/Benchmark> a rdfs:Class .

rb:Distribution a rdfs:Class ;
  rdfs:label "RiverBench dataset distribution"@en ;
  rdfs:comment "A distribution of a dataset in the RiverBench benchmark suite."@en ;
  rdfs:subClassOf <http://www.w3.org/ns/dcat#Distribution> .

rb:hasDistributionType a rdf:Property ;
  rdfs:label "Has distribution type"@en ;
  rdfs:comment "Indicates the type of RiverBench dataset distribution"@en ;
  rdfs:domain rb:Distribution ;
  rdfs:range rb:DistributionType .

rb:hasStatisticsSet a rdf:Property ;
  rdfs:label "Has statistics set"@en ;
  rdfs:comment "Indicates the grouping (set) of statistics for a given distribution. Multiple distributions can share one set of statistics, but a distribution must have exactly one statistics set."@en ;
  rdfs:domain rb:Distribution ;
  rdfs:range rb:StatisticsSet .

rb:hasFileName a rdf:Property ;
  rdfs:label "Has file name"@en ;
  rdfs:comment "Canonical file name of this distribution"@en ;
  rdfs:domain rb:Distribution ;
  rdfs:range xsd:string .

<https://w3id.org/stax/ontology#hasStreamTypeUsage> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

rb:CategoryMember a rdfs:Class ;
  rdfs:label "Member of a benchmark category"@en ;
  rdfs:comment "Superclass for both profiles and tasks"@en ;
  rdfs:subClassOf <http://www.w3.org/ns/dcat#Resource> .

rb:Statistics a rdfs:Class ;
  rdfs:label "Statistics"@en ;
  rdfs:comment "Class for statistics objects about distributions"@en .

<http://ontology.ethereal.cz/irao/Dataset> a rdfs:Class .

rb:StreamElementSplit a rdfs:Class ;
  rdfs:label "Stream element split"@en ;
  rdfs:comment "Describes how was the stream split into individual elements."@en .

rb:ObjectCountStatistics a rdfs:Class ;
  rdfs:label "Object count statistics"@en ;
  rdfs:comment "Statistics about the number of objects in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

rb:StatementCountStatistics a rdfs:Class ;
  rdfs:label "Statement count statistics"@en ;
  rdfs:comment "Statistics about the number of RDF statements in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

rb:Category a rdfs:Class ;
  rdfs:label "Benchmark category"@en ;
  rdfs:comment "Class for benchmark categories in RiverBench. A category groups tasks and profiles that are compatible with each other. Each task and profile in a category has a name prefixed with the name of the category (e.g., all tasks in the \"stream\" category start with \"stream-\")."@en ;
  rdfs:subClassOf <http://www.w3.org/ns/dcat#Resource> .

rb:hasCategoryMember a rdf:Property ;
  rdfs:label "Has category member"@en ;
  rdfs:comment "For benchmark categories, indicates their members (profiles or tasks)."@en ;
  rdfs:domain rb:Category ;
  rdfs:range rb:CategoryMember ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/hasPart> .

rb:hasTask a rdf:Property ;
  rdfs:label "Has benchmark task"@en ;
  rdfs:comment "For benchmark categories this property indicates tasks that belong to the category."@en ;
  rdfs:domain rb:Category ;
  rdfs:range rb:Task ;
  rdfs:subPropertyOf rb:hasCategoryMember .

rb:hasProfile a rdf:Property ;
  rdfs:label "Has benchmark profile"@en ;
  rdfs:comment "For benchmark categories this property indicates profiles that belong to the category."@en ;
  rdfs:domain rb:Category ;
  rdfs:range rb:Profile ;
  rdfs:subPropertyOf rb:hasCategoryMember .

rb:DatatypeLiteralCountStatistics a rdfs:Class ;
  rdfs:label "Datatype literal count statistics"@en ;
  rdfs:comment "Statistics about the number of datatype literals (NOT of type rdf:langString) in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

<http://www.w3.org/ns/dcat#Dataset> a rdfs:Class .

rb:SystemUnderTest a rdfs:Class ;
  rdfs:label "System under test"@en ;
  rdfs:comment """A system that is tested in a benchmark (for example, an RDF store).

Instances of this class should at least have a label (rdfs:label) and a version tag (rb:hasVersion)."""@en ;
  rdfs:subClassOf <http://ontology.ethereal.cz/irao/System> , <http://www.w3.org/ns/dcat#Resource> .

rb:TimeStreamElementSplit a rdfs:Class ;
  rdfs:label "Stream elements split by time"@en ;
  rdfs:comment "The elements correspond to different instants or intervals of time."@en ;
  rdfs:subClassOf rb:StreamElementSplit .

rb:hasTemporalProperty a rdf:Property ;
  rdfs:label "Has temporal property"@en ;
  rdfs:comment "The IRI of the property that is used in the stream to denote time at which the event occured."@en ;
  rdfs:domain rb:TimeStreamElementSplit ;
  rdfs:range <https://w3id.org/linkml/Any> .

rb:RiverBench a rdfs:Class ;
  rdfs:label "RiverBench suite"@en ;
  rdfs:comment "RiverBench – RDF streaming benchmark suite"@en ;
  rdfs:subClassOf <http://www.w3.org/ns/dcat#Catalog> .

rb:hasCategory a rdf:Property ;
  rdfs:label "Has benchmark category"@en ;
  rdfs:comment "Indicates that a benchmark category belongs to this benchmark suite."@en ;
  rdfs:domain rb:RiverBench ;
  rdfs:range rb:Category ;
  rdfs:subPropertyOf <http://www.w3.org/ns/dcat#resource> .

<http://www.w3.org/ns/dcat#Distribution> a rdfs:Class .

rb:Dataset a rdfs:Class ;
  rdfs:label "RiverBench dataset"@en ;
  rdfs:comment "A dataset in the RiverBench benchmark suite"@en ;
  rdfs:subClassOf <http://ontology.ethereal.cz/irao/Dataset> , <http://www.w3.org/ns/dcat#Dataset> .

rb:hasStreamElementSplit a rdf:Property ;
  rdfs:label "Has stream element split"@en ;
  rdfs:comment "Indicates how the stream was split into elements."@en ;
  rdfs:domain rb:Dataset ;
  rdfs:range rb:StreamElementSplit .

rb:BlankNodeCountStatistics a rdfs:Class ;
  rdfs:label "Blank node count statistics"@en ;
  rdfs:comment "Statistics about the number of blank nodes in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

rb:PerformedBenchmark a rdfs:Class ;
  rdfs:label "Performed benchmark"@en ;
  rdfs:comment "A benchmark that was performed with a specific set of systems under test, using a RiverBench task and a RiverBench profile (collection of datasets). Instances of this class refer to, for examples, specific benchmarks described in research papers."@en ;
  rdfs:subClassOf <http://ontology.ethereal.cz/irao/Benchmark> .

<http://ontology.ethereal.cz/irao/hasFollowedProtocol> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

rb:TopicStreamElementSplit a rdfs:Class ;
  rdfs:label "Stream elements split by topic"@en ;
  rdfs:comment "The elements correspond to different topics/subjects in the dataset."@en ;
  rdfs:subClassOf rb:StreamElementSplit .

rb:hasSubjectShape a rdf:Property ;
  rdfs:label "Has subject shape"@en ;
  rdfs:comment """Indicates the subject node in an RDF subject graph stream, using SHACL. The value of this property should be a SHACL sh:NodeShape with a specified target (e.g., sh:targetSubjectsOf). Only the target will be considered, restrictions on the shape will be ignored.

This property is required for RDF subject graph streams. Only sh:targetClass, sh:targetSubjectsOf, and sh:targetObjectsOf are allowed as the target specification.

This property can be specified multiple times. The different target specifications will then be treated as alternatives."""@en ;
  rdfs:domain rb:TopicStreamElementSplit ;
  rdfs:range <http://www.w3.org/ns/shacl#NodeShape> ;
  rdfs:subPropertyOf rb:hasShape .

<http://www.w3.org/ns/dcat#Resource> a rdfs:Class .

<http://www.w3.org/ns/dcat#DatasetSeries> a rdfs:Class ;
  rdfs:label "Dataset series"@en ;
  rdfs:subClassOf <http://www.w3.org/ns/dcat#Dataset> .

rb:BenchmarkProtocol a rdfs:Class ;
  rdfs:label "Benchmark protocol"@en ;
  rdfs:comment "The parameters of a performed benchmark (rb:PerformedBenchmark). Instances of this class specify the RiverBench profile, task, systems, and metrics that were used in the benchmark."@en ;
  rdfs:subClassOf <http://ontology.ethereal.cz/irao/Protocol> .

rb:usesSystemUnderTest a rdf:Property ;
  rdfs:label "Uses system under test"@en ;
  rdfs:comment "Indicates that the subject is using a specific system (e.g., an RDF store)."@en ;
  rdfs:range rb:SystemUnderTest ;
  rdfs:subPropertyOf rb:usesResource .

rb:usesProfile a rdf:Property ;
  rdfs:label "Uses benchmark profile"@en ;
  rdfs:comment "Indicates that the subject is using a specific RiverBench benchmark profile."@en ;
  rdfs:range rb:Profile ;
  rdfs:subPropertyOf rb:usesResource .

rb:usesTask a rdf:Property ;
  rdfs:label "Uses benchmark task"@en ;
  rdfs:comment "Indicates that the subject is using a specific RiverBench benchmark task."@en ;
  rdfs:range rb:Task ;
  rdfs:subPropertyOf <http://ontology.ethereal.cz/irao/hasMethodology> , rb:usesResource .

rb:usesMetric a rdf:Property ;
  rdfs:label "Uses metric"@en ;
  rdfs:comment "Indicates a benchmark metric that is used in a benchmark. Values of this property should be specified as the name of the metric, in the exact spelling as in the corresponding task definition. For example: \"Loading throughput\"."@en ;
  rdfs:range xsd:string .

rb:GraphCountStatistics a rdfs:Class ;
  rdfs:label "Graph count statistics"@en ;
  rdfs:comment "Statistics about the number of RDF graphs in the dataset, including the default graph."@en ;
  rdfs:subClassOf rb:Statistics .

rb:SimpleLiteralCountStatistics a rdfs:Class ;
  rdfs:label "Simple literal count statistics"@en ;
  rdfs:comment "Statistics about the number of simple literals (of type xsd:string) in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

rb:LanguageLiteralCountStatistics a rdfs:Class ;
  rdfs:label "Language string count statistics"@en ;
  rdfs:comment "Statistics about the number of language literals in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

<http://ontology.ethereal.cz/irao/Methodology> a rdfs:Class .

rb:PredicateCountStatistics a rdfs:Class ;
  rdfs:label "Predicate count statistics"@en ;
  rdfs:comment "Statistics about the number of predicates in the dataset."@en ;
  rdfs:subClassOf rb:Statistics .

<https://w3id.org/stax/ontology#ConcreteRdfStreamType> a rdfs:Class .

rb:StatisticsSet a rdfs:Class ;
  rdfs:label "Statistics set"@en ;
  rdfs:comment "Class for groupings (sets) of statistics about distributions"@en .

rb:hasStatistics a rdf:Property ;
  rdfs:label "Has statistics"@en ;
  rdfs:comment "Has a dataset statistics object"@en ;
  rdfs:domain rb:StatisticsSet ;
  rdfs:range rb:Statistics .

<http://ontology.ethereal.cz/irao/Protocol> a rdfs:Class .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object"@en .

rb:Task a rdfs:Class ;
  rdfs:label "Benchmark task"@en ;
  rdfs:comment "Class for specific benchmark tasks (e.g., end-to-end streaming latency). Each task belongs to one benchmark category (rb:Category)."@en ;
  rdfs:subClassOf rb:CategoryMember , <http://ontology.ethereal.cz/irao/Methodology> .

<http://www.w3.org/ns/dcat#Catalog> a rdfs:Class .

<http://ontology.ethereal.cz/irao/hasMethodology> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://purl.org/dc/terms/hasPart> a rdf:Property ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/relation> .

<http://purl.org/dc/terms/isPartOf> a rdf:Property ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/relation> .

<http://purl.org/dc/terms/relation> a rdf:Property ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/ns/dcat#resource> a rdf:Property ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/hasPart> .

<http://www.w3.org/ns/dcat#seriesMember> a rdf:Property ;
  rdfs:label "Includes dataset"@en ;
  rdfs:comment "Indicates which datasets are included in the profile"@en ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/relation> .

rb:conformanceProperty a rdf:Property ;
  rdfs:label "Conformance property"@en ;
  rdfs:comment "Base property for all conformance data properties"@en ;
  rdfs:range xsd:boolean .

rb:conformsToRdf11 a rdf:Property ;
  rdfs:label "Conforms to W3C RDF 1.1 specification"@en ;
  rdfs:comment "Whether the dataset is RDF 1.1-compliant, i.e., does not use any non-standard features, like generalized triples."@en ;
  rdfs:seeAlso <https://www.w3.org/TR/rdf11-concepts/> ;
  rdfs:range xsd:boolean ;
  rdfs:subPropertyOf rb:conformanceProperty .

rb:conformsToRdfStarDraft_20211217 a rdf:Property ;
  rdfs:label "Conforms to W3C RDF-star draft specification as of December 17, 2021"@en ;
  rdfs:comment "Whether the dataset is RDF-star compliant, i.e., does not use any non-standard features. Note that all standard RDF 1.1 datasets also qualify, as RDF-star is a superset of RDF 1.1."@en ;
  rdfs:seeAlso <https://www.w3.org/2021/12/rdf-star.html> ;
  rdfs:range xsd:boolean ;
  rdfs:subPropertyOf rb:conformanceProperty .

rb:hasShape a rdf:Property ;
  rdfs:label "Has shape"@en ;
  rdfs:comment "Property for specifying the desired SHACL shape of something (e.g., a dataset or a distribution)."@en ;
  rdfs:range <http://www.w3.org/ns/shacl#NodeShape> .

rb:hasStreamElementCount a rdf:Property ;
  rdfs:label "Has stream element count"@en ;
  rdfs:comment "Number of elements in the stream"@en ;
  rdfs:range <https://w3id.org/linkml/Any> .

rb:hasVersion a rdf:Property ;
  rdfs:label "Has version"@en ;
  rdfs:comment "Version tag of an artifact"@en ;
  rdfs:range xsd:string .

rb:maximum a rdf:Property ;
  rdfs:label "Maximum"@en ;
  rdfs:comment "Maximum value of a distribution"@en ;
  rdfs:range xsd:decimal ;
  rdfs:subPropertyOf rb:statisticalProperty .

rb:mean a rdf:Property ;
  rdfs:label "Mean"@en ;
  rdfs:comment "Arithmetic mean of a distribution"@en ;
  rdfs:range xsd:decimal ;
  rdfs:subPropertyOf rb:statisticalProperty .

rb:minimum a rdf:Property ;
  rdfs:label "Minimum"@en ;
  rdfs:comment "Minimum value of a distribution"@en ;
  rdfs:range xsd:decimal ;
  rdfs:subPropertyOf rb:statisticalProperty .

rb:standardDeviation a rdf:Property ;
  rdfs:label "Standard deviation"@en ;
  rdfs:comment "Standard deviation of a distribution"@en ;
  rdfs:range xsd:decimal ;
  rdfs:subPropertyOf rb:statisticalProperty .

rb:sum a rdf:Property ;
  rdfs:label "Sum"@en ;
  rdfs:comment "Sum of all values in the distribution. In statistics about counts, this corresponds to the total number of given elements in the dataset."@en ;
  rdfs:range xsd:decimal ;
  rdfs:subPropertyOf rb:statisticalProperty .

rb:uniqueCount a rdf:Property ;
  rdfs:label "Unique count (estimated)"@en ;
  rdfs:comment "Only used for count statistics. Indicates how many unique elements are in the entire dataset. The value is estimated with a Bloom filter and is accurate to ~1%."@en ;
  rdfs:range xsd:integer ;
  rdfs:subPropertyOf rb:statisticalProperty .

rb:usesGeneralizedRdfDatasets a rdf:Property ;
  rdfs:label "Uses generalized RDF datasets"@en ;
  rdfs:comment "Whether the dataset uses the non-standard generalized datasets feature. A \"dataset\" here is used in the same meaning as in the RDF 1.1 specification."@en ;
  rdfs:seeAlso <https://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf> ;
  rdfs:range xsd:boolean ;
  rdfs:subPropertyOf rb:conformanceProperty .

rb:usesGeneralizedTriples a rdf:Property ;
  rdfs:label "Uses generalized triples"@en ;
  rdfs:comment "Whether the dataset uses the non-standard generalized triples feature"@en ;
  rdfs:seeAlso <https://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf> ;
  rdfs:range xsd:boolean ;
  rdfs:subPropertyOf rb:conformanceProperty .

rb:usesRdfStar a rdf:Property ;
  rdfs:label "Uses RDF-star"@en ;
  rdfs:comment "Whether the dataset uses RDF-star features."@en ;
  rdfs:seeAlso <https://www.w3.org/2021/12/rdf-star.html> ;
  rdfs:range xsd:boolean ;
  rdfs:subPropertyOf rb:conformanceProperty .

rb:usesResource a rdf:Property ;
  rdfs:label "Uses resource"@en ;
  rdfs:comment "Indicates that the subject is using the object (a dcat:Resource) in some way."@en ;
  rdfs:range <http://www.w3.org/ns/dcat#Resource> ;
  rdfs:subPropertyOf <http://purl.org/dc/terms/relation> .

rb:CustomShaclTarget a rdfs:Class ;
  rdfs:label "Custom SHACL target"@en ;
  rdfs:comment "A class for all custom SHACL-like node targets in RiverBench. See also rb:targetCustom."@en .

rb:yagoTarget a rb:CustomShaclTarget ;
  rdfs:label "YAGO annotated facts target"@en ;
  rdfs:comment "Custom SHACL-like target for the yago-annotated-facts dataset in RiverBench. Targets the subject of any quoted triple in the graph. There is always exactly one such unique subject."@en .

rb:DistributionType a rdfs:Class ;
  rdfs:label "RiverBench distribution type"@en ;
  rdfs:comment "Type of dataset distribution, indicating the corresponding streaming task formulation."@en .

rb:flatDistribution a rb:DistributionType ;
  rdfs:label "Flat distribution"@en ;
  rdfs:comment "The dataset is distributed as a single flat file."@en .

rb:jellyDistribution a rb:DistributionType ;
  rdfs:label "Jelly distribution"@en ;
  rdfs:comment "A streaming distribution in the Jelly binary format."@en .

rb:partialDistribution a rb:DistributionType ;
  rdfs:label "Partial distribution"@en ;
  rdfs:comment "A partial distribution, including only a subset of the data in the dataset. The rb:hasStreamElementCount property indicates the length of this distribution."@en .

rb:fullDistribution a rb:DistributionType ;
  rdfs:label "Full distribution"@en ;
  rdfs:comment "A full distribution, including all data in the dataset."@en .

rb:streamDistribution a rb:DistributionType ;
  rdfs:label "Stream distribution"@en ;
  rdfs:comment "The dataset is distributed as a stream of RDF datasets or RDF graphs (grouped RDF stream in RDF-STaX)."@en .
