I assert that the agreed requirements are not correct as asserted below.
To avoid re-opening old issues unless absolutely needed, below is a list of previous decisions on the handling of ID based on reviewing the notes (primarily based on the meeting minutes from 2023-07-21<https://github.com/spdx/meetings/blob/main/serialisation/2023-07-21.md>, 2023-08-01<https://github.com/spdx/meetings/blob/main/tech/2023/2023-08-01.md>, 2023-08-08<https://github.com/spdx/meetings/blob/main/tech/2023/2023-08-08.md>, 2023-8-10<https://github.com/spdx/meetings/blob/main/serialisation/2023-08-10.md>): · At a model/deserialized level every class will have a globally unique IRI ID. This includes both Element and non-Element classes (e.g. CreationInfo, Hash). · Elements are required to have an ID which is a URI that can be shared across serializations (Note: Sean may not have agreed to this decision). It was agreed that ALL objects (Element and non-Element) are required at a model/deserialized level to have an ID which is a URI that can be shared across serializations · Serializations are allowed to use anonymous ID’s / blank nodes (e.g. they can inline the checksum class in JSON-LD) for non-Element classes however, when deserializing they must be made unique within the internal model representation (e.g. Skolomized<https://en.wikipedia.org/wiki/Skolem_normal_form>). · CreationInfo will use anonymous / blank node ID’s in JSON-LD as the compaction approach The above corrections were the fundamental point of disagreement in the debate and the result of the debate resolved it as above which provides an approach that will work. It is the very point of the Skolemization discussion. The third bullet is actually based on the red corrections added above. Without these above corrections the graph will not be practically useful for targeted use cases. -- Sean Barnum MITRE Corporation 703-473-8262 From: Gary O'Neall <[email protected]> Date: Wednesday, March 20, 2024 at 5:14 PM To: [email protected] <[email protected]>, Sean Barnum <[email protected]>, 'Zavras, Alexios' <[email protected]>, 'Joshua Watt' <[email protected]> Subject: [EXT] Serialization meeting agenda and context Greetings all, Our next serialization meeting is tomorrow (Thursday) at 8AM Pacific Time (3PM GMT). We will be continuing the discussion from the tech call on how we specify the handling of IDs for the serialized format (pull request 622). Greetings all, Our next serialization meeting is tomorrow (Thursday) at 8AM Pacific Time (3PM GMT). We will be continuing the discussion from the tech call on how we specify the handling of IDs for the serialized format (pull request 622). To avoid re-opening old issues unless absolutely needed, below is a list of previous decisions on the handling of ID based on reviewing the notes (primarily based on the meeting minutes from 2023-07-21<https://github.com/spdx/meetings/blob/main/serialisation/2023-07-21.md>, 2023-08-01<https://github.com/spdx/meetings/blob/main/tech/2023/2023-08-01.md>, 2023-08-08<https://github.com/spdx/meetings/blob/main/tech/2023/2023-08-08.md>, 2023-8-10<https://github.com/spdx/meetings/blob/main/serialisation/2023-08-10.md>): · Every class will have an ID. This includes both Element and non-Element classes (e.g. CreationInfo, Hash). · Elements are required to have an ID which is a URI that can be shared across serializations (Note: Sean may not have agreed to this decision) · Serializations are allowed to use anonymous ID’s / blank nodes (e.g. they can inline the checksum class in JSON-LD) for non-Element classes however, when deserializing they must be made unique within the internal model representation (e.g. Skolomized<https://en.wikipedia.org/wiki/Skolem_normal_form>). · CreationInfo will use anonymous / blank node ID’s in JSON-LD as the compaction approach Additional references: · Duplication of creation information was discussed on 2023-05-16<https://github.com/spdx/meetings/blob/main/tech/2023/2023-05-16.md> and 2023-06-27<https://github.com/spdx/meetings/blob/main/tech/2023/2023-06-27.md> · Issue comment<https://github.com/spdx/spdx-3-model/issues/357#issuecomment-1656482951> indicating we agreed to use anonymous nodes in JSON-LD for creation info · JSON example with significant comment / discussions on creation info – pull request 376<https://github.com/spdx/spdx-3-model/pull/376> · Open issue describing various compaction algorithms If anyone believe we did not make the above decisions, please raise this before we dive into solutions – preferably via email before the meeting. I’ve made a couple of conclusions (or perhaps assumptions) based on the above – quite interested if others have come to different conclusions: · I don’t recall if this was explicitly discussed, but based on the fact we have in the model the SPDX ID on Element and not on any other class, I believe Element IDs need to be treated differently than any other IDs during serialization / deserialization (note that I did not say in the model – just in serialization / deserialization) – for example – restrict the node type to be a URI type and not allow blank nodes. This would not be done in serialization for the other non-Element classes which are allowed to be blank. · Since CreationInfo was the only non-Element class discussed for compaction, this would be the only element we allow to be referenced with an internal ID in our serialization spec. BTW - I’m completely open to making this same compaction approach available to all non-Element classes. · Even though we allow blank nodes for non-Element classes when serialized, this is not required – they can optionally be URI IDs. We may or may not need to discuss the above conclusions / assumptions – just listing them in case they become important in any of the proposed solutions. If time, I would also like to go through the backlog of other pull requests and issues: - Pull requests (2): https://github.com/spdx/spdx-3-model/pulls?q=is%3Apr+is%3Aopen+-milestone%3A3.1+label%3Aserialization - Issues (14): https://github.com/spdx/spdx-3-model/issues?q=is%3Aissue+is%3Aopen+-milestone%3A3.1+label%3Aserialization Gary -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#5575): https://lists.spdx.org/g/Spdx-tech/message/5575 Mute This Topic: https://lists.spdx.org/mt/105053582/21656 Group Owner: [email protected] Unsubscribe: https://lists.spdx.org/g/Spdx-tech/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
