# OWL Addendum generated by @inferal-relay/rdf-emitter
# This file imports the base RDFS ontology and adds OWL-specific axioms.

@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 sh: <http://www.w3.org/ns/shacl#> .
@prefix tspv: <https://relay.inferal.com/ontology/typespec/versioning/> .
@prefix relay: <https://relay.inferal.com/ontology/> .
@prefix schema: <https://schema.org/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix ldes: <https://w3id.org/ldes#> .
@prefix tree: <https://w3id.org/tree#> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix http: <http://www.w3.org/2011/http#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix ontology: <https://relay.inferal.com/ontology/> .

# OWL Ontology metadata
<https://relay.inferal.com/ontology/> a owl:Ontology .
<https://relay.inferal.com/ontology/owl> a owl:Ontology ;
  owl:imports <https://relay.inferal.com/ontology/> ;
  owl:versionInfo "1.0.0" ;
  owl:versionIRI <https://relay.inferal.com/ontology/1.0.0/owl> .

# OWL axioms for class: Relay Error
relay:Error
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.RelayError/error> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.RelayError/message> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Unauthorized Error
relay:UnauthorizedError
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.UnauthorizedError/statusCode> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.UnauthorizedError/error> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.UnauthorizedError/message> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Not Found Error
relay:NotFoundError
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.NotFoundError/statusCode> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.NotFoundError/error> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.NotFoundError/message> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Forbidden Error
relay:ForbiddenError
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ForbiddenError/statusCode> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ForbiddenError/error> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ForbiddenError/message> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Bad Request Error
relay:BadRequestError
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.BadRequestError/statusCode> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.BadRequestError/error> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.BadRequestError/message> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Not Acceptable Error
relay:NotAcceptableError
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.NotAcceptableError/statusCode> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.NotAcceptableError/error> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.NotAcceptableError/message> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Stream Health Info
relay:StreamHealth
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.StreamHealthInfo/gapDetectionEnabled> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.StreamHealthInfo/oldestTrackedWindow> ;
    owl:maxCardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.StreamHealthInfo/highestTrackedWindow> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Webhook Event
relay:WebhookEvent
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/id> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/timestamp> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/method> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/path> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/headers> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/body> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Events Response
relay:EventsResponse
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.EventsResponse/cursor> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.EventsResponse/hasMore> ;
    owl:cardinality 1
  ] .

# OWL axioms for class: Endpoint Info
relay:Endpoint
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.EndpointInfo/hostname> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.EndpointInfo/createdAt> ;
    owl:cardinality 1
  ] .

# OWL axioms for class: Provision Request
relay:ProvisionRequest
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ProvisionRequest/hostname> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ProvisionRequest/readKey> ;
    owl:cardinality 1
  ] .

# OWL axioms for class: Provision Response
relay:ProvisionResponse
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ProvisionResponse/hostname> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ProvisionResponse/created> ;
    owl:cardinality 1
  ] .

# OWL axioms for class: Archive Response
relay:ArchiveResponse
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ArchiveResponse/status> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ArchiveResponse/hostname> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.ArchiveResponse/eventsArchived> ;
    owl:cardinality 1
  ] .

# OWL axioms for class: Format Config
relay:FormatConfig
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.FormatConfig/contentType> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.FormatConfig/extension> ;
    owl:cardinality 1
  ] .

# OWL axioms for class: Stream Info
relay:Stream
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.StreamInfo/id> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.StreamInfo/shardCount> ;
    owl:maxCardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.StreamInfo/latestTimestamp> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Ingest Request
relay:IngestRequest
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.IngestRequest/member> ;
    owl:cardinality 1
  ] .

# OWL axioms for class: Ingest Response
relay:IngestResponse
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.IngestResponse/accepted> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.IngestResponse/eventId> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.IngestResponse/windowEpoch> ;
    owl:cardinality 1
  ] .

# OWL axioms for class: LDESMember
ldes:Member
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.LDESMember/generatedAtTime> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty relay:eventId ;
    owl:maxCardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty relay:path ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: Tree Relation
tree:Relation
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.TreeRelation/node> ;
    owl:cardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.TreeRelation/path> ;
    owl:maxCardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty <https://relay.inferal.com/ontology/property/InferalRelay.TreeRelation/value> ;
    owl:maxCardinality 1
  ] .

# OWL axioms for class: LDESNode Response
tree:Node
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty ldes:timestampPath ;
    owl:maxCardinality 1
  ] ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty relay:streamHealth ;
    owl:maxCardinality 1
  ] .

# OWL axioms for property: error
<https://relay.inferal.com/ontology/property/InferalRelay.RelayError/error>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: message
<https://relay.inferal.com/ontology/property/InferalRelay.RelayError/message>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: status code
<https://relay.inferal.com/ontology/property/InferalRelay.UnauthorizedError/statusCode>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: error
<https://relay.inferal.com/ontology/property/InferalRelay.UnauthorizedError/error>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: message
<https://relay.inferal.com/ontology/property/InferalRelay.UnauthorizedError/message>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: status code
<https://relay.inferal.com/ontology/property/InferalRelay.NotFoundError/statusCode>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: error
<https://relay.inferal.com/ontology/property/InferalRelay.NotFoundError/error>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: message
<https://relay.inferal.com/ontology/property/InferalRelay.NotFoundError/message>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: status code
<https://relay.inferal.com/ontology/property/InferalRelay.ForbiddenError/statusCode>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: error
<https://relay.inferal.com/ontology/property/InferalRelay.ForbiddenError/error>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: message
<https://relay.inferal.com/ontology/property/InferalRelay.ForbiddenError/message>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: status code
<https://relay.inferal.com/ontology/property/InferalRelay.BadRequestError/statusCode>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: error
<https://relay.inferal.com/ontology/property/InferalRelay.BadRequestError/error>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: message
<https://relay.inferal.com/ontology/property/InferalRelay.BadRequestError/message>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: status code
<https://relay.inferal.com/ontology/property/InferalRelay.NotAcceptableError/statusCode>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: error
<https://relay.inferal.com/ontology/property/InferalRelay.NotAcceptableError/error>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: message
<https://relay.inferal.com/ontology/property/InferalRelay.NotAcceptableError/message>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: gap detection enabled
<https://relay.inferal.com/ontology/property/InferalRelay.StreamHealthInfo/gapDetectionEnabled>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: known gaps
<https://relay.inferal.com/ontology/property/InferalRelay.StreamHealthInfo/knownGaps>
  a owl:DatatypeProperty .

# OWL axioms for property: oldest tracked window
<https://relay.inferal.com/ontology/property/InferalRelay.StreamHealthInfo/oldestTrackedWindow>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: highest tracked window
<https://relay.inferal.com/ontology/property/InferalRelay.StreamHealthInfo/highestTrackedWindow>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: id
<https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/id>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: timestamp
<https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/timestamp>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: method
<https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/method>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: path
<https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/path>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: headers
<https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/headers>
  a owl:ObjectProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: body
<https://relay.inferal.com/ontology/property/InferalRelay.WebhookEvent/body>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: events
<https://relay.inferal.com/ontology/property/InferalRelay.EventsResponse/events>
  a owl:ObjectProperty .

# OWL axioms for property: cursor
<https://relay.inferal.com/ontology/property/InferalRelay.EventsResponse/cursor>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: has more
<https://relay.inferal.com/ontology/property/InferalRelay.EventsResponse/hasMore>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: hostname
<https://relay.inferal.com/ontology/property/InferalRelay.EndpointInfo/hostname>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: created at
<https://relay.inferal.com/ontology/property/InferalRelay.EndpointInfo/createdAt>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: hostname
<https://relay.inferal.com/ontology/property/InferalRelay.ProvisionRequest/hostname>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: read key
<https://relay.inferal.com/ontology/property/InferalRelay.ProvisionRequest/readKey>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: hostname
<https://relay.inferal.com/ontology/property/InferalRelay.ProvisionResponse/hostname>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: created
<https://relay.inferal.com/ontology/property/InferalRelay.ProvisionResponse/created>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: endpoints
<https://relay.inferal.com/ontology/property/InferalRelay.EndpointsListResponse/endpoints>
  a owl:ObjectProperty .

# OWL axioms for property: status
<https://relay.inferal.com/ontology/property/InferalRelay.ArchiveResponse/status>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: hostname
<https://relay.inferal.com/ontology/property/InferalRelay.ArchiveResponse/hostname>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: events archived
<https://relay.inferal.com/ontology/property/InferalRelay.ArchiveResponse/eventsArchived>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: content type
<https://relay.inferal.com/ontology/property/InferalRelay.FormatConfig/contentType>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: extension
<https://relay.inferal.com/ontology/property/InferalRelay.FormatConfig/extension>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: id
<https://relay.inferal.com/ontology/property/InferalRelay.StreamInfo/id>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: formats
<https://relay.inferal.com/ontology/property/InferalRelay.StreamInfo/formats>
  a owl:DatatypeProperty .

# OWL axioms for property: shard count
<https://relay.inferal.com/ontology/property/InferalRelay.StreamInfo/shardCount>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: latest timestamp
<https://relay.inferal.com/ontology/property/InferalRelay.StreamInfo/latestTimestamp>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: streams
<https://relay.inferal.com/ontology/property/InferalRelay.StreamListResponse/streams>
  a owl:ObjectProperty .

# OWL axioms for property: member
<https://relay.inferal.com/ontology/property/InferalRelay.IngestRequest/member>
  a owl:ObjectProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: accepted
<https://relay.inferal.com/ontology/property/InferalRelay.IngestResponse/accepted>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: event id
<https://relay.inferal.com/ontology/property/InferalRelay.IngestResponse/eventId>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: window epoch
<https://relay.inferal.com/ontology/property/InferalRelay.IngestResponse/windowEpoch>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: generated at time
<https://relay.inferal.com/ontology/property/InferalRelay.LDESMember/generatedAtTime>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: event id
relay:eventId
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: path
relay:path
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: node
<https://relay.inferal.com/ontology/property/InferalRelay.TreeRelation/node>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: path
<https://relay.inferal.com/ontology/property/InferalRelay.TreeRelation/path>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: value
<https://relay.inferal.com/ontology/property/InferalRelay.TreeRelation/value>
  a owl:DatatypeProperty ;
  a owl:FunctionalProperty .

# OWL axioms for property: members
tree:member
  a owl:ObjectProperty .

# OWL axioms for property: relations
tree:relation
  a owl:ObjectProperty .

# OWL axioms for property: stream health
relay:streamHealth
  a owl:ObjectProperty ;
  a owl:FunctionalProperty .

# Generated Record OWL axioms for InferalRelay.IngestRequest.member
<https://relay.inferal.com/ontology/record/InferalRelay.IngestRequest/member/entry> a owl:ObjectProperty .
<https://relay.inferal.com/ontology/record/InferalRelay.IngestRequest/member/key> a owl:DatatypeProperty, owl:FunctionalProperty .
<https://relay.inferal.com/ontology/record/InferalRelay.IngestRequest/member/value> a owl:DatatypeProperty, owl:FunctionalProperty .
<https://relay.inferal.com/ontology/record/InferalRelay.IngestRequest/member/Entry> rdfs:subClassOf [
  a owl:Restriction ;
  owl:onProperty <https://relay.inferal.com/ontology/record/InferalRelay.IngestRequest/member/key> ;
  owl:cardinality 1
] .
<https://relay.inferal.com/ontology/record/InferalRelay.IngestRequest/member/Entry> rdfs:subClassOf [
  a owl:Restriction ;
  owl:onProperty <https://relay.inferal.com/ontology/record/InferalRelay.IngestRequest/member/value> ;
  owl:cardinality 1
] .

# Generated Record OWL axioms for InferalRelay.WebhookEvent.headers
<https://relay.inferal.com/ontology/record/InferalRelay.WebhookEvent/headers/entry> a owl:ObjectProperty .
<https://relay.inferal.com/ontology/record/InferalRelay.WebhookEvent/headers/key> a owl:DatatypeProperty, owl:FunctionalProperty .
<https://relay.inferal.com/ontology/record/InferalRelay.WebhookEvent/headers/value> a owl:DatatypeProperty .
<https://relay.inferal.com/ontology/record/InferalRelay.WebhookEvent/headers/Entry> rdfs:subClassOf [
  a owl:Restriction ;
  owl:onProperty <https://relay.inferal.com/ontology/record/InferalRelay.WebhookEvent/headers/key> ;
  owl:cardinality 1
] .
