Skip to content
This repository was archived by the owner on Oct 18, 2019. It is now read-only.
This repository was archived by the owner on Oct 18, 2019. It is now read-only.

Clarify and document the many to many relationship between data sets and data services #432

Description

@dpsnowden

The relationship between data sets and services is unclear. It is clearly many to many, which is fine, but the way it is implemented from different configurations of THREDDS, ERDDAP, 52North etc is unclear and uneven. Let's clarify this once and for all and determine necessary changes for the next round of data base modifications.

![Many to Many](http://yuml.me/diagram/scruffy/class/%2F%2F Cool Class Diagram, [DataSet]0..--0..[DataService]) [Editable URL for the image](http://yuml.me/diagram/scruffy/class/edit/%2F%2F Cool Class Diagram, [DataSet]0..--0..[DataService])


Example 1: A gridded data set hosted on TDS

For example, one model hosted on a THREDDS server that has OPeNDAP, ncISO, and ncWMS enabled. The following image should result in a catalog count of DataSet +=1 and DataService +=3. Shouldn't it? I think the current behavior is DataSet+=1 and DataService+=2 because we don't count ncISO as a service. Is this desirable?

![One dataset, 3 data services](http://yuml.me/diagram/scruffy/class/%2F%2F Cool Class Diagram, , [<> MyModelRun]--[<> OPeNDAP], [<> MyModelRun]--[<> ncWMS], [<> MyModelRun]--[<> ncISO]) [Editable URL](http://yuml.me/diagram/scruffy/class/edit/%2F%2F Cool Class Diagram, , [<> MyModelRun]--[<> OPeNDAP], [<> MyModelRun]--[<> ncWMS], [<> MyModelRun]--[<> ncISO])

Example 2: i52N SOS with several ObservationOfferings

Another case is for an i52N SOS service that has say 4 Observation Offerings. Should be DataSet +=4, DataService+=1. I think this desired behavior is what is currently implemented.

i52N Editable URL for the image

Example 3: in situ data sets hosted on TDS with ncSOS enabled.

In this case we've paid special attention to ncSOS so I think it gets special treatment. Desired behavior is DataSet +=1 and DataService +=3. Current behavior (I think) is DataSet +=2 and DataService +=2. I think the reasoning is that a) ncISO is not counted so the services are only 2 and b) the OPeNDAP URL and the ncSOS URL are both counted as Data Sets (hence 2).

![ncSOS](http://yuml.me/diagram/scruffy/class/%2F%2F Cool Class Diagram, , [<> Station 1]--[<> OPeNDAP], [<> Station 1]--[<> ncSOS], [<> Station 1]--[<> ncISO])

[Editable URL](http://yuml.me/diagram/scruffy/class/edit/%2F%2F Cool Class Diagram, , [<> Station 1]--[<> OPeNDAP], [<> Station 1]--[<> ncSOS], [<> Station 1]--[<> ncISO])

Discussion? This confusion and the special treatment of ncSOS is the heart of the issue here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions