-
Notifications
You must be signed in to change notification settings - Fork 14
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
Add creationInfo to named individuals #154
Conversation
Signed-off-by: Arthit Suriyawongkul <[email protected]>
No, this is not the right way to add the SPDX Individual Organization. It should be added to the model / Core / Individuals. And please use spdx.org for its id. |
Does it mean it is possible for the user to use the _SpdxOrganization individual? |
Signed-off-by: Arthit Suriyawongkul <[email protected]>
The intention of the current code is to hide the But if we like to advertise the Update: if we will go for that route, these two PRs are needed:
|
@bact, please don't spend time implementing stuff without first having reached consensus on how this should be done. I feel bad seeing all this work implementing alternatives where only one of them will be merged... To your points:
But please, ignore the spec-parser code and don't make any PRs. |
Use SpdxOrganization defined in spdx-3-model instead Signed-off-by: Arthit Suriyawongkul <[email protected]>
https://spdx.org/ is an Agent, failed the validation Signed-off-by: Arthit Suriyawongkul <[email protected]>
Signed-off-by: Arthit Suriyawongul <[email protected]>
Thank you for review. I sometimes have hard time to describe what I have in my mind, so some code can help myself saying it more concretely and hopefully help others well, for them to decide if the idea is a no or a go or something needs to be revise. Please reject things that doesn't make sense or not fit into the time frame.
Understand your point on deadline. Feel free to close this PR if you already implemented it. |
Just FYI - @JPEWdev is investigating an alternative approach where we separate the ontology from the SHACL. It looks like if we do this, the validation will pass since the individual definitions will be in the OWL document. This alternative approach would require some changes to some of our code generation tools, but may be a cleaner approach. |
The identifier for the creationInfo needs to be more than simply "_:CreationInfo". |
I would recommend against separating the SHACL from the OWL. While this is valid to do, it does NOT solve the underlying issue in play here (whether the OWL and SHACL are combined as currently done or separated, if you want to validate the type of a predefined named individual that is an Element you will still need to define creationInfo for it; separating the OWL and SHACL does nothing to resolve this issue) and it only makes it more complex to manage the coordinated evolution of the OWL and SHACL. |
@sbarnum Splitting the files is (AFAICT) the expected way that the validation tools handle this. They all(?) allow separate aregument for the shapes graph vs the ontology, where objects in the shapes graph are are validated, but objects in the ontology are not validated. Splitting the shapes and ontology graphs into separate files is going to be the cleanest solution that aligns with the validation tools, and we can still easily generate a combined "model" graph if that is what OMG needs (I'm not sure if they care about the shape graph or not) |
Nevermind. After playing around a little, I think I misunderstood what the validation tools were doing, so we probably need to add the creationinfo |
@sbarnum would you recommend
(We cannot use Also would you mind to take a look at the |
Signed-off-by: Arthit Suriyawongkul <[email protected]>
PR updated: 3.0.1's CreationInfo is now
With this requirement that @sbarnum suggested. We may need to have information inside the model file about which version of SPDX that a particular individual is introduced in? @goneall @zvr @JPEWdev @ilans Something along this line? # NoneLicense
## Metadata
- name: NoneLicense
- type: IndividualLicensingInfo
- IRI: https://spdx.org/rdf/3.0.0/terms/Licensing/None
- sinceVersion: 3.0.0 (note the difference between the version number in # SpdxOrganization
## Metadata
- name: SpdxOrganization
- type: Organization
- IRI: https://spdx.org/
- sinceVersion: 3.0.1 # ExampleOrganization
## Metadata
- name: ExampleOrganization
- type: Organization
- IRI: https://example.com/
- sinceVersion: 3.1.0 The But this approach means we may need to add something to the model ( These information can be alternatively hard coded inside the spec-parser as well, but that means there will be few information about the model that is not transparently documented and version controlled inside spdx-3-model repo. (We may even need to have a creation datetime recorded somewhere as well for each version, because we need that datetime information to recreate a CreationInfo instance for a particular version. The creation datetime of 3.0.1 will be different from 3.1. If we do not record the creation datetime of 3.0.1 somewhere, we might not be able to recreate the exact copy of 3.0.1's CreationInfo when we move to 3.0.2/3.1. One way is to record the entire CreationInfo instance, which will include both spec version and creation datetime). In any case, the current implementation purposed by this PR will not work in the future because it assumes that all the individuals will have the same CreationInfo, which is not true if we have a new individual introduced in any next version. The code in this PR needs revision or another PR has to be created to replace this one. |
I've implemented a simpler patch for this, in #159 |
Close after email discussions and a separate tech call on 2024-12-05. Please look at PR #159 instead. |
Add
creationInfo
to named individuals, so it will pass the validation.To fix #153
Based on #153 (comment) and rely on
SpdxOrganization
individual to be created from spdx/spdx-3-model#880--
Generated spdx-model.ttl: