All Downloads are FREE. Search and download functionalities are using the official Maven repository.

vocabulary.v1.stoa.ttl Maven / Gradle / Ivy

#
# #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=#
#   This file is part of the Smart Developer Hub Project:
#     http://www.smartdeveloperhub.org/
#
#   Center for Open Middleware
#     http://www.centeropenmiddleware.com/
# #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=#
#   Copyright (C) 2015-2016 Center for Open Middleware.
# #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#             http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
# #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=#
#   Artifact    : org.smartdeveloperhub.vocabulary:sdh-vocabulary:0.3.0
#   Bundle      : sdh-vocabulary-0.3.0.jar
# #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=#
#

##----------------------------------------------------------------------------##
#     __    __    __    __    __    __    __    __    __    __    __    __     #
#  __/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__  #
# /  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \ #
# \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/ #
# /  \__/                                                                 /  \ #
# \__/                     _____                      __                  \__/ #
# /  \                    / ___/____ ___  ____ ______/ /_                 /  \ #
# \__/                    \__ \/ __ `__ \/ __ `/ ___/ __/                 \__/ #
# /  \                   ___/ / / / / / / /_/ / /  / /_                   /  \ #
# \__/    ____          /____/_/_/_/ /_/\__,_/_/   \__/   __  __      __  \__/ #
# /  \   / __ \___ _   _____  / /___  ____  ___  _____   / / / /_  __/ /_ /  \ #
# \__/  / / / / _ \ | / / _ \/ / __ \/ __ \/ _ \/ ___/  / /_/ / / / / __ \\__/ #
# /  \ / /_/ /  __/ |/ /  __/ / /_/ / /_/ /  __/ /     / __  / /_/ / /_/ //  \ #
# \__//_____/\___/|___/\___/_/\____/ .___/\___/_/     /_/ /_/\__,_/_.___/ \__/ #
# /  \                            /_/                                     /  \ #
# \__/                __   __        __                  __               \__/ #
# /  \          \  / /  \ /  `  /\  |__) |  | |     /\  |__) \ /          /  \ #
# \__/           \/  \__/ \__, /~~\ |__) \__/ |___ /~~\ |  \  |           \__/ #
# /  \__                                                                  /  \ #
# \__/  \__    __    __    __    __    __    __    __    __    __    __   \__/ #
# /  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \ #
# \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/ #
#    \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/  \__/    #
#                                                                              #
##----------------------------------------------------------------------------##
#   __  ___  __                 __   __             ___                        #
#  /__`  |  /  \  /\      |\/| /  \ |  \ |  | |    |__                         #
#  .__/  |  \__/ /~~\     |  | \__/ |__/ \__/ |___ |___                        #
#                                                                              #
##----------------------------------------------------------------------------##

##-- PREFIXES ----------------------------------------------------------------##

@prefix rdfs:  .
@prefix rdf:   .
@prefix owl:   .
@prefix xsd:   .

@prefix sdh:       .
@prefix platform:  .
@prefix stoa:      .
@prefix amqp:      .
@prefix types:     .

@prefix foaf:     .
@prefix dcterms:  .

# PROV ontology
@prefix prov:    .
# Dublin Core Metadata Element Set, Version 1.1
@prefix dc:      .
# Dublin Core Metadata Initiative Type Vocabulary
@prefix dctype:  .
# Web of Trust Ontology
@prefix wot:     .
# SemWeb Vocab Status Ontology
@prefix vs:      .
# Resource Directory Description Language (RDDL)
@prefix rddl:    .

##-- MODULE DECLARATION ------------------------------------------------------##

@base  .

 rdf:type owl:Ontology ;
  owl:versionIRI  ;
  owl:imports
     ,
     .

##-- ENUMERATIONS-------------------------------------------------------------##

##-- CLASSES -----------------------------------------------------------------##

stoa:Message a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty stoa:messageId ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:submittedOn ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:submittedBy ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:disjointUnionOf (
    stoa:Request
    stoa:Response
  ) .

stoa:Request a owl:Class ;
  rdfs:subClassOf stoa:Message ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty stoa:replyTo ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:disjointUnionOf (
    stoa:EnrichmentRequest
    stoa:Disconnect
  ) .


#
# A delivery channel defines the means that a consumer of a message should use
# for replying to the publisher.
#
# The delivery channel may define the broker to use, the particular exchange and
# the routing key to used for replying to the origin message, where the
# following exceptions apply:
# 1. If no broker is defined, the consumer should use the configuration of the
#    broker used by the publisher.
# 2. If no exchange name is defined, the consumer should use the same exchange
#    used by the publisher.
#
stoa:DeliveryChannel a owl:Class ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty amqp:broker ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty amqp:exchangeName ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty amqp:routingKey ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

stoa:Response a owl:Class ;
  rdfs:subClassOf stoa:Message ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty stoa:responseTo ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:responseNumber ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] ;
  owl:disjointUnionOf (
    stoa:EnrichmentResponse
    stoa:Accepted
    stoa:Failure
  ) .


stoa:EnrichmentRequest a owl:Class ;
  rdfs:subClassOf stoa:Request ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty stoa:replyTo ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:targetResource ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] .

stoa:Disconnect a owl:Class ;
  rdfs:subClassOf stoa:Request ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty stoa:replyTo ;
    owl:maxCardinality "0"^^xsd:nonNegativeInteger
  ] .

stoa:Accepted a owl:Class ;
  rdfs:subClassOf stoa:Response ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty stoa:replyTo ;
    owl:maxCardinality "0"^^xsd:nonNegativeInteger
  ] .

#
# An Enrichment Response is a Message that is sent in response to Enrichment
# Request about an specific target resource.
#
# The payload defines the triples that must be added or removed for the
# specified target resource, where the triples to be added will have as subject
# or object the individual specified by the 'additionTarget' property, and the
# triples to be removed will have as subject of object the individual specified
# by the 'removalTarget' property.
#
# If both the additionTarget and removalTarget properties are defined, they
# should have different values.
#
stoa:EnrichmentResponse a owl:Class ;
  rdfs:subClassOf stoa:Response ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty stoa:targetResource ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:additionTarget ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:removalTarget ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

stoa:Failure a owl:Class ;
  rdfs:subClassOf stoa:Response ;
  rdfs:subClassOf [
    a owl:Restriction ;
    owl:onProperty stoa:code ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:subcode ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:reason ;
    owl:cardinality "1"^^xsd:nonNegativeInteger
  ] , [
    a owl:Restriction ;
    owl:onProperty stoa:detail ;
    owl:maxCardinality "1"^^xsd:nonNegativeInteger
  ] .

stoa:Policy a owl:Class .

stoa:Variable a owl:Class .

##-- PROPERTIES --------------------------------------------------------------##

stoa:messageId a owl:DatatypeProperty ;
  rdfs:subPropertyOf dcterms:identifier ;
  rdfs:domain stoa:Message ;
  rdfs:range types:UUID .

stoa:submittedOn a owl:DatatypeProperty ;
  rdfs:subPropertyOf dcterms:dateSubmitted ;
  rdfs:domain stoa:Message ;
  rdfs:range xsd:dateTime .

stoa:submittedBy a owl:ObjectProperty ;
  rdfs:domain stoa:Message ;
  rdfs:range foaf:Agent .

stoa:replyTo a owl:ObjectProperty ;
	rdfs:domain stoa:Request ;
  rdfs:range stoa:DeliveryChannel .

stoa:apply a owl:ObjectProperty ;
  rdfs:range stoa:Policy .

stoa:targetResource a owl:ObjectProperty ;
  rdfs:range rdfs:Resource .

stoa:responseTo a owl:DatatypeProperty ;
  rdfs:domain stoa:Message ;
  rdfs:range types:UUID .

stoa:responseNumber a owl:DatatypeProperty ;
  rdfs:domain stoa:Message ;
  rdfs:range xsd:unsignedLong .

stoa:additionTarget a owl:ObjectProperty ;
  rdfs:domain stoa:EnrichmentResponse ;
  rdfs:range stoa:Variable .

stoa:removalTarget a owl:ObjectProperty ;
  rdfs:domain stoa:EnrichmentResponse ;
  rdfs:range stoa:Variable .

stoa:agentId a owl:DatatypeProperty ;
  rdfs:subPropertyOf dcterms:identifier ;
  rdfs:domain foaf:Agent ;
  rdfs:range types:UUID .

stoa:code a owl:DatatypeProperty ;
  rdfs:domain stoa:Failure ;
  rdfs:range xsd:unsignedLong .

stoa:subcode a owl:DatatypeProperty ;
  rdfs:domain stoa:Failure ;
  rdfs:range xsd:unsignedLong .

stoa:reason a owl:DatatypeProperty ;
  rdfs:domain stoa:Failure ;
  rdfs:range xsd:string .

stoa:detail a owl:DatatypeProperty ;
  rdfs:domain stoa:Failure ;
  rdfs:range xsd:string .


##-- REFINEMENTS -------------------------------------------------------------##

##-- INDIVIDUALS--------------------------------------------------------------##

##----------------------------------------------------------------------------##
#  MODULE END                                                                  #
##----------------------------------------------------------------------------##




© 2015 - 2025 Weber Informatics LLC | Privacy Policy