Modelling ServiceGrounding
ServiceGrounding is defined as "How to access the service."@en
Related:
- OP supports "A service supports a service grounding (how to access the service)." domain Service, range ServiceGrounding
- OP groundingProtocol "The grounding protocol is the protocol used to transmit the message by the service, e.g. BLE."@en, range CommunicationProtocol (see #18 )
- DP portNumber "The port number used to offer the service." range xsd:positiveInteger (assumes the service is UDP or TCP see RFC 6335)
Suggested changes:
As the service is the digital representation of a function over a network, we could directly attach the port and the protocol to the service.
We're indeed missing a link between the Service and the network over which it is available. This network could be a Connection/FeatureKind (the type of communication protocol), or a specific Connection/FeatureOfInterest (the specific network).
Extending how the SAREF Patterns are defined, we could introduce: the port should be a property of the ConnectionPoint of the device through which the service is available. (see #26 )
s4ehaw:exposedOn a OP domain Service, range intersection( union( FeatureKind, FeatureOfInterest), union(Connection, ConnectionPoint))
In practice, exposedOn can be used to link a service to a Connection/FeatureKind (ex, Bluetooth), to a Connection/FeatureOfInterest (ex, <this_network> ), to a ConnectionPoint/FeatureKind (ex, TCPPort), to a connectionPoint/FeatureOfInterest (ex., <tcp_port_4255)