-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
107 Add SystemKind
class and its subclasses
#209
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RDF looks good and clean.
Can you also add documentation in
- Common.html
- Actuation.html
- Observation.html
- Sampling.html
SystemKind
class and its subclassesSystemKind
class and its subclasses
99abb65
to
766c457
Compare
8d2109f
to
9905503
Compare
9905503
to
162ce74
Compare
@dr-shorthair I have updated the documentation. You can see it here: |
I'm not sure the MIN 1 cardinality on |
There is also this note that I think is misleading now that we have introduced
The Sensor type would be better described by |
# Conflicts: # ssn/chapters/Common.html # ssn/chapters/Sampling.html
@KathiSchleidt The property is only defined on Not sure if it's still ok to have these axioms in that case: sdw-sosa-ssn/ssn/rdf/ontology/core/ssn-common.ttl Lines 188 to 190 in e82264c
I suppose we could generalize this property and call it IMO, it would certainly make things easier if Note that I'm interested in using the "system capabilities module" properties on Another (perhaps cleaner) alternative would be to add a class that's called |
Since Platform and System are not disjoint, you can make an individual both In general the key functions of members of the two classes are:
Some but not all Platforms are also Systems. |
Indeed, although the canonical approach to distinguish types vs individuals in ontologies is to use classes vs instances, it is well acknowledged that different SOSA/SSN users have used classes sosa:Sensor, sosa:Property, etc. , sometimes to represent things that are generic (a sensor kind like It would be now very convenient for both sensor catalog editors to expose datasheets in RDF:
and for application developers:
|
@KathiSchleidt @dr-shorthair Based on your comments, are you OK to keep If we remove this relationship, then do you see it working the same as What about the If we want to keep sdw-sosa-ssn/ssn/rdf/ontology/core/ssn-common.ttl Lines 188 to 190 in e82264c
The goal was just to ensure that a Do you have any suggestions? |
Are you suggesting that this information is 'inherited' from the Note: OWL expresses logical expectations. This is not the same as SHACL which expresses dataset validation expectations. |
Yes, exactly. In many cases the procedure would be described by the kind and not repeated on every instance (at least that's how we do it in connected systems). That's why @maximelefrancois86 requested in a separate issues that many properties should be modified to include the Kind classes in their domain or range. If you think the logical relationship should still be expressed in OWL then I'm perfectly OK with it. I just wanted to make sure we don't break the SOSA/SSN model with what we do in the API. |
@dr-shorthair Following the same reasoning, I think the cardinality of What do you think? |
hasSystemKind may have cardinality MIN 1, but not EXACTLY 1 . |
Ok, I was wondering about this too. I will change it to MIN 1. |
9fb929b
to
765d8b4
Compare
@@ -43,12 +43,18 @@ sosa:ActuatingProcedure | |||
|
|||
sosa:Actuator | |||
rdfs:subClassOf sosa:System ; | |||
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty sosa:hasSystemKind ; owl:allValuesFrom sosa:ActuatorKind ] ; | |||
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty sosa:hasSystemKind ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be minCardinality?
@@ -43,6 +43,8 @@ sosa:ObservingProcedure | |||
|
|||
sosa:Sensor | |||
rdfs:subClassOf sosa:System ; | |||
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty sosa:hasSystemKind ; owl:allValuesFrom sosa:SensorKind ] ; | |||
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty sosa:hasSystemKind ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be minCardinality?
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty sosa:hosts ; owl:allValuesFrom sosa:System ] ; | ||
rdfs:isDefinedBy sosa-common: . | ||
|
||
sosa:PlatformKind | ||
rdfs:subClassOf sosa:SystemKind ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm. Not comfortable mixing Platform and System.
@@ -80,11 +80,17 @@ sosa:SamplingProcedure | |||
|
|||
sosa:Sampler | |||
rdfs:subClassOf sosa:System ; | |||
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty sosa:hasSystemKind ; owl:allValuesFrom sosa:SamplerKind ] ; | |||
rdfs:subClassOf [ a owl:Restriction ; owl:onProperty sosa:hasSystemKind ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ] ; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be minCardinality?
<span about="[_:SOSASampler2]" rel="owl:onProperty" resource="sosa:hasSystemKind"><a | ||
href="#SOSAhasSystemKind">sosa:hasSystemKind</a></span> | ||
<span about="[_:SOSASampler2]" property="owl:maxCardinality" content="1" | ||
datatype="xsd:nonNegativeInteger"><em><b>MAX 1</b></em> <a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be minCardinality?
<span about="[_:SOSASensor5]" rel="owl:onProperty" resource="sosa:hasSystemKind"><a | ||
href="#SOSAhasSystemKind">sosa:hasSystemKind</a></span> | ||
<span about="[_:SOSASensor5]" property="owl:maxCardinality" content="1" | ||
datatype="xsd:nonNegativeInteger"><em><b>MAX 1</b></em> <a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be minCardinality?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some cardinalities are MAX which should be MIN
System and Platform appear to be entangled in a way that has not been agreed.
Yes - there has been a significant expansion of the number of terms in the A major change was to move all SSN terms into the SOSA namespace, justified by the fact that multiple namespaces are one of the things that confuse developers who are not already immersed in the semantic world. So a simplification on one axis (# namespaces) leads to a blowout on another (# terms in core). Are there parts of the current draft that could sensibly be moved into extension modules? Maybe the SSO piece is of minor interest in practice, but that only covers four terms ( |
Should datasheets (*Kind classes) be moved to an extension module? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm now thinking that SystemKind and its specializations might be better added to the
System Capabilities extension module.
Also see detailed comments inline.
Update team agreed not to introduce a specific SystemKind class. |
Superseded by #254 |
Closes #107
Adds the
SystemKind
class to describe types of systems, as well as the corresponding subclasses :SensorKind
ActuatorKind
SamplerKind
PlatformKind
Also adds the
hasSystemKind
property to reference theSystemKind
from theSystem
instance.See updated documentation at:
https://raw.githack.com/w3c/sdw-sosa-ssn/107-add-systemkind-classes/ssn/index.html