models

package
v0.0.0-...-1658596 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2023 License: Apache-2.0 Imports: 4 Imported by: 66

Documentation

Index

Constants

View Source
const PREFIX_RDF = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>"
View Source
const PREFIX_SES = "PREFIX ses: <https://senergy.infai.org/ontology/> "

PREFIXES

View Source
const RDFS_COMMENT = "http://www.w3.org/2000/01/rdf-schema#comment"
View Source
const RDFS_LABEL = "http://www.w3.org/2000/01/rdf-schema#label"
View Source
const RDF_TYPE = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
View Source
const SES_ONTOLOGY_ASPECT = "https://senergy.infai.org/ontology/Aspect"
View Source
const SES_ONTOLOGY_CHARACTERISTIC = "https://senergy.infai.org/ontology/Characteristic"
View Source
const SES_ONTOLOGY_CONCEPT = "https://senergy.infai.org/ontology/Concept"
View Source
const SES_ONTOLOGY_CONTROLLING_FUNCTION = "https://senergy.infai.org/ontology/ControllingFunction"

Classes

View Source
const SES_ONTOLOGY_COUNT = "https://senergy.infai.org/ontology/Count"
View Source
const SES_ONTOLOGY_DEVICE_CLASS = "https://senergy.infai.org/ontology/DeviceClass"
View Source
const SES_ONTOLOGY_DEVICE_TYPE = "https://senergy.infai.org/ontology/DeviceType"
View Source
const SES_ONTOLOGY_EXPOSES_FUNCTION = "https://senergy.infai.org/ontology/exposesFunction"
View Source
const SES_ONTOLOGY_HAS_BASE_CHARACTERISTIC = "https://senergy.infai.org/ontology/hasBaseCharacteristic"
View Source
const SES_ONTOLOGY_HAS_CHARACTERISTIC = "https://senergy.infai.org/ontology/hasCharacteristic"
View Source
const SES_ONTOLOGY_HAS_CONCEPT = "https://senergy.infai.org/ontology/hasConcept"

Properties

View Source
const SES_ONTOLOGY_HAS_DEVICE_CLASS = "https://senergy.infai.org/ontology/hasDeviceClass"
View Source
const SES_ONTOLOGY_HAS_IMAGE = "https://senergy.infai.org/ontology/hasImage"
View Source
const SES_ONTOLOGY_HAS_INTERACTION = "https://senergy.infai.org/ontology/interaction"
View Source
const SES_ONTOLOGY_HAS_MAX_VALUE = "https://senergy.infai.org/ontology/hasMaxValue"
View Source
const SES_ONTOLOGY_HAS_MIN_VALUE = "https://senergy.infai.org/ontology/hasMinValue"
View Source
const SES_ONTOLOGY_HAS_PROTOCOL = "https://senergy.infai.org/ontology/hasProtocol"
View Source
const SES_ONTOLOGY_HAS_SERVICE = "https://senergy.infai.org/ontology/hasService"
View Source
const SES_ONTOLOGY_HAS_SUB_CHARACTERISTIC = "https://senergy.infai.org/ontology/hasSubCharacteristic"
View Source
const SES_ONTOLOGY_HAS_VALUE = "https://senergy.infai.org/ontology/hasValue"
View Source
const SES_ONTOLOGY_HAS_VALUE_TYPE = "https://senergy.infai.org/ontology/hasValueType"
View Source
const SES_ONTOLOGY_LOCATION = "https://senergy.infai.org/ontology/Location"
View Source
const SES_ONTOLOGY_MEASURING_FUNCTION = "https://senergy.infai.org/ontology/MeasuringFunction"
View Source
const SES_ONTOLOGY_REFERS_TO = "https://senergy.infai.org/ontology/refersTo"
View Source
const SES_ONTOLOGY_SERVICE = "https://senergy.infai.org/ontology/Service"
View Source
const SES_ONTOLOGY_TOTAL_COUNT = "https://senergy.infai.org/ontology/totalCount"
View Source
const SerializationOptionXmlAttribute = "xml/attr"
View Source
const URN_PREFIX = "urn:infai:ses:"

Variables

This section is empty.

Functions

func LongId

func LongId(shortId string) (string, error)

func ShortenId

func ShortenId(longId string) (string, error)

Types

type Aspect

type Aspect struct {
	Id         string   `json:"id"`
	Name       string   `json:"name"`
	SubAspects []Aspect `json:"sub_aspects"`
}

func (*Aspect) GenerateId

func (aspect *Aspect) GenerateId()

type AspectNode

type AspectNode struct {
	Id            string   `json:"id"`
	Name          string   `json:"name"`
	RootId        string   `json:"root_id"`
	ParentId      string   `json:"parent_id"`
	ChildIds      []string `json:"child_ids"`
	AncestorIds   []string `json:"ancestor_ids"`
	DescendentIds []string `json:"descendent_ids"`
}

type Attribute

type Attribute struct {
	Key    string `json:"key"`
	Value  string `json:"value"`
	Origin string `json:"origin"`
}

type Characteristic

type Characteristic struct {
	Id                 string           `json:"id"`
	Name               string           `json:"name"`
	DisplayUnit        string           `json:"display_unit"`
	Type               Type             `json:"type"`
	MinValue           interface{}      `json:"min_value,omitempty"`
	MaxValue           interface{}      `json:"max_value,omitempty"`
	AllowedValues      []interface{}    `json:"allowed_values"`
	Value              interface{}      `json:"value,omitempty"`
	SubCharacteristics []Characteristic `json:"sub_characteristics"`
}

func (*Characteristic) GenerateId

func (characteristic *Characteristic) GenerateId()

type Concept

type Concept struct {
	Id                   string               `json:"id"`
	Name                 string               `json:"name"`
	CharacteristicIds    []string             `json:"characteristic_ids"`
	BaseCharacteristicId string               `json:"base_characteristic_id"`
	Conversions          []ConverterExtension `json:"conversions"`
}

func (*Concept) GenerateId

func (concept *Concept) GenerateId()

type ConceptWithCharacteristics

type ConceptWithCharacteristics struct {
	Id                   string               `json:"id"`
	Name                 string               `json:"name"`
	BaseCharacteristicId string               `json:"base_characteristic_id"`
	Characteristics      []Characteristic     `json:"characteristics"`
	Conversions          []ConverterExtension `json:"conversions"`
}

type Content

type Content struct {
	Id                string          `json:"id"`
	ContentVariable   ContentVariable `json:"content_variable"`
	Serialization     Serialization   `json:"serialization"`
	ProtocolSegmentId string          `json:"protocol_segment_id"`
}

func (*Content) GenerateId

func (content *Content) GenerateId()

type ContentVariable

type ContentVariable struct {
	Id                   string            `json:"id"`
	Name                 string            `json:"name"`
	IsVoid               bool              `json:"is_void"`
	OmitEmpty            bool              `json:"omit_empty"`
	Type                 Type              `json:"type"`
	SubContentVariables  []ContentVariable `json:"sub_content_variables"`
	CharacteristicId     string            `json:"characteristic_id"`
	Value                interface{}       `json:"value"`
	SerializationOptions []string          `json:"serialization_options"`
	UnitReference        string            `json:"unit_reference,omitempty"`
	FunctionId           string            `json:"function_id,omitempty"`
	AspectId             string            `json:"aspect_id,omitempty"`
}

func (*ContentVariable) GenerateId

func (variable *ContentVariable) GenerateId()

type ConverterExtension

type ConverterExtension struct {
	From            string `json:"from"`
	To              string `json:"to"`
	Distance        int64  `json:"distance"`
	Formula         string `json:"formula"`
	PlaceholderName string `json:"placeholder_name"`
}

type Device

type Device struct {
	Id           string      `json:"id"`
	LocalId      string      `json:"local_id"`
	Name         string      `json:"name"`
	Attributes   []Attribute `json:"attributes"`
	DeviceTypeId string      `json:"device_type_id"`
}

func (*Device) GenerateId

func (device *Device) GenerateId()

type DeviceClass

type DeviceClass struct {
	Id    string `json:"id"`
	Image string `json:"image"`
	Name  string `json:"name"`
}

func (*DeviceClass) GenerateId

func (class *DeviceClass) GenerateId()

type DeviceGroup

type DeviceGroup struct {
	Id            string                      `json:"id"`
	Name          string                      `json:"name"`
	Image         string                      `json:"image"`
	Criteria      []DeviceGroupFilterCriteria `json:"criteria"`
	DeviceIds     []string                    `json:"device_ids"`
	CriteriaShort []string                    `json:"criteria_short,omitempty"`
	Attributes    []Attribute                 `json:"attributes"`
}

func (*DeviceGroup) GenerateId

func (deviceGroup *DeviceGroup) GenerateId()

func (*DeviceGroup) SetShortCriteria

func (this *DeviceGroup) SetShortCriteria()

type DeviceGroupFilterCriteria

type DeviceGroupFilterCriteria struct {
	Interaction   Interaction `json:"interaction"`
	FunctionId    string      `json:"function_id"`
	AspectId      string      `json:"aspect_id"`
	DeviceClassId string      `json:"device_class_id"`
}

func (DeviceGroupFilterCriteria) Short

func (this DeviceGroupFilterCriteria) Short() string

type DeviceType

type DeviceType struct {
	Id            string         `json:"id"`
	Name          string         `json:"name"`
	Description   string         `json:"description"`
	ServiceGroups []ServiceGroup `json:"service_groups"`
	Services      []Service      `json:"services"`
	DeviceClassId string         `json:"device_class_id"`
	Attributes    []Attribute    `json:"attributes"`
}

func (*DeviceType) GenerateId

func (deviceType *DeviceType) GenerateId()

type Function

type Function struct {
	Id          string `json:"id"`
	Name        string `json:"name"`
	DisplayName string `json:"display_name"`
	Description string `json:"description"`
	ConceptId   string `json:"concept_id"`
	RdfType     string `json:"rdf_type"`
}

func (*Function) GenerateId

func (function *Function) GenerateId()

type Hub

type Hub struct {
	Id             string   `json:"id"`
	Name           string   `json:"name"`
	Hash           string   `json:"hash"`
	DeviceLocalIds []string `json:"device_local_ids"`
	DeviceIds      []string `json:"device_ids"` //not user defined; set by finding device-ids of this.DeviceLocalIds
}

Hub doesn't use embedded HubEdit because it's used by device-repository mongodb/bson operations and the `bson:",inline"`tag would violate "separation of concerns"

func (*Hub) GenerateId

func (hub *Hub) GenerateId()

func (*Hub) ToHubEdit

func (this *Hub) ToHubEdit() HubEdit

type HubEdit

type HubEdit struct {
	Id             string   `json:"id"`
	Name           string   `json:"name"`
	Hash           string   `json:"hash"`
	DeviceLocalIds []string `json:"device_local_ids"`
}

HubEdit is Hub without Hub.DeviceIds used in device-manager operations with no valid use of Hub.DeviceIds

func (*HubEdit) ToHub

func (this *HubEdit) ToHub() Hub

type Interaction

type Interaction string
const (
	EVENT             Interaction = "event"
	REQUEST           Interaction = "request"
	EVENT_AND_REQUEST Interaction = "event+request"
)

type Location

type Location struct {
	Id             string   `json:"id"`
	Name           string   `json:"name"`
	Description    string   `json:"description"`
	Image          string   `json:"image"`
	DeviceIds      []string `json:"device_ids"`
	DeviceGroupIds []string `json:"device_group_ids"`
}

func (*Location) GenerateId

func (this *Location) GenerateId()

type Protocol

type Protocol struct {
	Id               string            `json:"id"`
	Name             string            `json:"name"`
	Handler          string            `json:"handler"`
	ProtocolSegments []ProtocolSegment `json:"protocol_segments"`
	Constraints      []string          `json:"constraints"`
}

func (*Protocol) GenerateId

func (protocol *Protocol) GenerateId()

type ProtocolSegment

type ProtocolSegment struct {
	Id   string `json:"id"`
	Name string `json:"name"`
}

func (*ProtocolSegment) GenerateId

func (segment *ProtocolSegment) GenerateId()

type Serialization

type Serialization string
const (
	XML       Serialization = "xml"
	JSON      Serialization = "json"
	PlainText Serialization = "plain-text"
)

func (Serialization) Valid

func (this Serialization) Valid() bool

type Service

type Service struct {
	Id              string      `json:"id"`
	LocalId         string      `json:"local_id"`
	Name            string      `json:"name"`
	Description     string      `json:"description"`
	Interaction     Interaction `json:"interaction"`
	ProtocolId      string      `json:"protocol_id"`
	Inputs          []Content   `json:"inputs"`
	Outputs         []Content   `json:"outputs"`
	Attributes      []Attribute `json:"attributes"`
	ServiceGroupKey string      `json:"service_group_key"`
}

func (*Service) GenerateId

func (service *Service) GenerateId()

type ServiceGroup

type ServiceGroup struct {
	Key         string `json:"key"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

type Type

type Type string
const (
	String  Type = "https://schema.org/Text"
	Integer Type = "https://schema.org/Integer"
	Float   Type = "https://schema.org/Float"
	Boolean Type = "https://schema.org/Boolean"

	List      Type = "https://schema.org/ItemList"
	Structure Type = "https://schema.org/StructuredValue"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL