# Auto-generated from iotic-rdf-ontology repository, iotics/public. Edits will be overwritten!

PREFIX iotics:  <http://data.iotics.com/iotics#>
PREFIX pub:     <http://data.iotics.com/public#>
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#>


pub:HostTwin
    a rdfs:Class ;
    rdfs:subClassOf pub:AllowListValue ;
    rdfs:subClassOf iotics:DigitalTwin ;
    rdfs:label "Iotics Host Twin"@en ;
    rdfs:comment "The Iotics Host virtual counterpart"@en ;
    .

pub:hostAllowList
    a rdf:Property ;
    rdfs:label "Host Data allow list"@en ;
    rdfs:comment "Determines whether a Digital Twin's Data is accessible or not by a Digital Twin from other Hosts. The Twin's Data will always be accessible to other Twins in the same Host."@en ;
    rdfs:domain iotics:DigitalTwin ;
    rdfs:range pub:AllowListValue ;
    .

pub:hostMetadataAllowList
    a rdf:Property ;
    rdfs:label "Host Metadata allow list"@en ;
    rdfs:comment "Determines whether the Digital Twin's Metadata is visible or not to other Hosts. The Twin's Metadata will always be visible in the same Host."@en ;
    rdfs:domain iotics:DigitalTwin ;
    rdfs:range pub:AllowListValue ;
    .

pub:userAllowList
    a rdf:Property ;
    rdfs:label "User allow list"@en ;
    rdfs:comment "Determines whether a set of user identities are allowed to perform an action against the Iotics API."@en ;
    rdfs:domain iotics:DigitalTwin ;
    rdfs:range pub:AllowListValue ;
    .

pub:agentAllowList
    a rdf:Property ;
    rdfs:label "Agent allow list"@en ;
    rdfs:comment "Determines whether a set of agent identities are allowed to perform an action against the Iotics API."@en ;
    rdfs:domain iotics:DigitalTwin ;
    rdfs:range pub:AllowListValue ;
    .

pub:isInCircle
    a rdf:Property
    rdfs:label "Is in Circle"@en ;
    rdfs:comment """One or more Circles to which this twin belongs. Any allow list rules from Circles are considered
        together with existing twin-assigned ones. There is no additional rule precedence beyond what is defined or
        individual rules.
        """@en ;
    rdfs:domain iotics:DigitalTwin ;
    rdfs:range iotics:Circle ;
    .

pub:AllowListValue
    a rdfs:Class ;
    rdfs:label "Allow list value"@en ;
    rdfs:comment "Value expected to be a DID or one of pub:all or pub:none."@en ;
    .

pub:all
    a iotics:AllowListValue ;
    rdfs:label "All identities allowed value"@en ;
    rdfs:comment "Allow list value used to allow any interaction initiated by the related identity."@en ;
    .

pub:none
    a iotics:AllowListValue ;
    rdfs:label "No identities allowed value"@en ;
    rdfs:comment "Allow list value used to deny any interaction initiated by the related identity."@en ;
    .