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

What is the difference between 'output' and 'result'? #262

Open
dr-shorthair opened this issue Nov 6, 2024 · 7 comments · May be fixed by #268
Open

What is the difference between 'output' and 'result'? #262

dr-shorthair opened this issue Nov 6, 2024 · 7 comments · May be fixed by #268
Labels
bug Something isn't working documentation

Comments

@dr-shorthair
Copy link
Collaborator

dr-shorthair commented Nov 6, 2024

We have two properties related to the 'output' or 'result' of an execution:

  • hasOutputValue and hasResult.

What is the distinction between these?

Some thoughts and questions:

  1. We added hasOutputValue and hasInputValue on Execution in this revision, to complement the existing hasOutput and hasInput on Procedure.
    But we never explained or explored the overlap between hasOutputValue and hasResult.

  2. documentation of hasOutput and hasInput is pretty sketchy - https://w3c.github.io/sdw-sosa-ssn/ssn/#SOSAhasInput

    • What should the value of hasOutput indicate? Maybe the type of the result of executing this procedure?
    • What should the value of hasInput indicate?
@dr-shorthair dr-shorthair added bug Something isn't working documentation labels Nov 6, 2024
@dr-shorthair
Copy link
Collaborator Author

(This was also triggered by feedback from examination of SSN/SOSA at the CODATA workshop.)

@maximelefrancois86
Copy link
Contributor

This has been identified in 2017 already, and documented in the wiki then. A proposal is available in the PEP ontology: https://w3id.org/pep/
That hasInput/hasOutput is for the procedure, and hasCommand/hasResult is for the execution

@dr-shorthair
Copy link
Collaborator Author

dr-shorthair commented Nov 6, 2024

Input to an Execution might be

  1. a calibration factor or setting on the procedure or system involved
  2. the result of a prior observation, maybe related to the Stimulus?
  3. ??

Case 2. might apply where an 'Observation' is a step in a processing chain?

@dr-shorthair
Copy link
Collaborator Author

This has been identified in 2017 already, and documented in the wiki then. A proposal is available in the PEP ontology: https://w3id.org/pep/ That hasInput/hasOutput is for the procedure, and hasCommand/hasResult is for the execution

Thanks @maximelefrancois86 - that's helpful.

  1. do you have any sense about cardinalities? I've always leaned towards many inputs, one output.
  2. there should be some statement that
    • hasCommand/hasResult on an Execution must be consistent with
    • the corresponding hasInput/hasOutput on the Procedure

right?

@dr-shorthair
Copy link
Collaborator Author

(Note: if there are many outputs/results then it can be modelled as a Collection)

@dr-shorthair
Copy link
Collaborator Author

hasInput and hasOutput were very poorly defined in 2017 version of SSN.
The implementation report points to two sources, one of which is no longer available AFAICT.
The other is @maximelefrancois86 https://ci.mines-stetienne.fr/pep-platform/ but the relevant outgoing links are broken.

The definitions haven't been improved during this revision. I think the point of hasInput and hasOutput is to describe the type (and maybe range?) of inputs and output. But it is not at all clear.

If we had a 'procedure capability' module comparable to the system capability module I would propose moving them out there, but we don't.

Meanwhile, I do propose to remove hasOutputValue, since it is functionally identical to hasResult, which has precedence.
The definitions should be cleaned up to match.

@dr-shorthair
Copy link
Collaborator Author

@dr-shorthair dr-shorthair linked a pull request Nov 26, 2024 that will close this issue
@dr-shorthair dr-shorthair linked a pull request Nov 26, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants