Skip to content
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

Create an explicit SOSA-OMS alignment graph #104

Closed
dr-shorthair opened this issue Oct 5, 2023 · 8 comments
Closed

Create an explicit SOSA-OMS alignment graph #104

dr-shorthair opened this issue Oct 5, 2023 · 8 comments

Comments

@dr-shorthair
Copy link
Collaborator

dr-shorthair commented Oct 5, 2023

to hold

  • RDFS/OWL axioms to match the OMS UML model
  • documentation of class-by-class and property-by-property implementation path
  • possibly a sosa:Observer superclass of sosa:Sensor

Could supersede #57

@dr-shorthair
Copy link
Collaborator Author

dr-shorthair commented Oct 9, 2023

See https://github.com/w3c/sdw-sosa-ssn/blob/OMS-mapping/ssn/integrated/sosa-oms.ttl (was https://github.com/w3c/sdw-sosa-ssn/blob/OMS-mapping/ssn/mappings/sosa-oms-mapping.ttl)
@sgrellet and @KathiSchleidt please check this carefully

I also proposed removing the *Sample classes from the SOSA graph and locating them in SOSA-OMS instead, along with Observer (I think they are originally defined in OMS).
We can discuss separately if they merit promotion to SOSA.

@rob-metalinkage
Copy link
Contributor

http://www.opengis.net/def/ont/modspecis the OGC modspec home and resolves to the ontology definition.

We should take the opportunity to discuss how this itself is best published - and the presentation of ontologies in UI.
@avillar @nicholascar

This will include:

  • integrating a PyLODE rendering into the publication pipeline
  • use of PREZ to create widgets suitable for ontology navigation
  • appropriate alternative profiles and URI redirects
  • entailment and validation (profile targets for ontology publishing in general
  • UML version option

nb HY_Features is the most complete example so far

@dr-shorthair
Copy link
Collaborator Author

@sgrellet @KathiSchleidt any comments on the proposed mappings?

@dr-shorthair
Copy link
Collaborator Author

I put this in the /mappings/ folder originally, but since it also contains new classes and properties from OMS that were not in SOSA or SSN-ext perhaps it should be in the main folder?

@dr-shorthair
Copy link
Collaborator Author

Moved to https://github.com/w3c/sdw-sosa-ssn/blob/OMS-mapping/ssn/integrated/sosa-oms.ttl

I will edit the links above so you don't get lost

@KathiSchleidt
Copy link
Contributor

@dr-shorthair great work!!! And as usual when great work happens, a few glitches (mostly in Sampling). On missing associations, where I could find something, I've proposed.

relatedObservation
relatedObservation: Used as inverse of 2 associations from Obs (sosa:hosts, sosa:madeObservation) but rest missing, missing selflink
sosa:hosts - inverse of http://www.opengis.net/spec/om/3.0/req/obs-cpt/Observation/host-sem
sosa:madeObservation - inverse of http://www.opengis.net/spec/om/3.0/req/obs-cpt/Observation/observer-sem

Platform
sosa:Platform ogc:implements http://www.opengis.net/spec/om/3.0/req/obs-cpt/Host ;
rdfs:subClassOf sosa:System ;
Why is Platform now subclass of System, thought this was removed.

Observer
Sensor is a subclass of Observer, Sensor is a System, but not Observer. Why?

sampledFeature
What's the difference between sosa:isSampleOf and sosa:hasSampledFeature?
Both are mapped to http://www.opengis.net/spec/om/3.0/req/sam-cpt/Sample/sampledFeature-sem

Procedures
procedures - usedProcedure doesn't include PreparationProcedure, not sure it needs to

Observation Times
Times missing validTime

Deployment
Where does sosa:deployedAsset come from?
To my reading, should be sosa:deployedSystem
does this have something to do with the fact that Observer is not a System?

ObservationCollection
In OMS, we've introduced the concept of ObservationCharacteristics, missing in SOSA. Should be discussed.
Also missing relatedCollection

PreparationProcedure
missing samplePreparationStep

PreparationStep
sosa:PreparationStep mapped to OMS:PreperationStep, but also mapped to sosa:hasPreparationStep, this is an association, PrepStep a class
missing processingDetails

Sample
missing:

  • sampling: shouldn't this also be sosa:isResultOf
  • relatedObservation
  • relatedSample

Sampler
missing samplingProcedure: shouldn't this be sosa:implements

Sampling
missing sample, shouldn't this be sosa:hasResult

SamplingProcedure
missing:

  • sampler: shouldn't this be sosa:implementedBy
  • sampling

SampleCollection
Missing relatedCollection

metadata
all OMS classes have a metadata link, currently not supported in SOSA

dr-shorthair added a commit that referenced this issue Oct 29, 2023
@dr-shorthair
Copy link
Collaborator Author

dr-shorthair commented Oct 29, 2023

metadata
all OMS classes have a metadata link, currently not supported in SOSA

See https://github.com/w3c/sdw-sosa-ssn/blob/OMS-mapping/ssn/integrated/sosa-oms.ttl#L54

SampleCollection
Missing relatedCollection

I think this depends on the resolution of #51 (comment)

ObservationCollection
In OMS, we've introduced the concept of ObservationCharacteristics, missing in SOSA.

I think this is a UML vs OWL/RDFS thing.

The UML class ObservationCharacteristics is Abstract in all variants, so would never be instantiated. There is no concept of 'abstract classes' in OWL/RDFS - every class is denoted by a URI and can therefore be used to type instances. So best not to have an RDFS/OWL class.

OTOH properties are first-class resources in RDF, and may be used on an instance of any class (subject to global domain/range restrictions, which however do not appear in SOSA).

The whole modelling paradigm is different. I don't think there is any need for an RDFS/OWL implementation of ObservationCharacteristics.

Where does sosa:deployedAsset come from?

I think this is a @alexrobin addition ...

Why is Platform now subclass of System, thought this was removed.

We haven't resolved this yet. See #46

Times missing validTime

Added

Sensor is a subclass of Observer, Sensor is a System, but not Observer. Why?

See #29
No need for an Observer class.

sampledFeature
What's the difference between sosa:isSampleOf and sosa:hasSampledFeature?

hasSampledFeature points to the origin of a chain of samples, the ultimate feature that this sample represents. Maybe it should be hasUltimateSampledFeature.

isSampleof points to the proximate sampled thing. (It is the key property of a Sample and was always called this.)

I think I've mostly tidied up the rest.

See https://github.com/w3c/sdw-sosa-ssn/blob/OMS-mapping/ssn/integrated/sosa-oms.ttl

@dr-shorthair
Copy link
Collaborator Author

Implemented by #116

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants