Skip to content

Referential integrity not being checked in all places there is an Internal_Reference area #1481

@tbarnes4

Description

@tbarnes4

Checked for duplicates

No - I haven't checked

🐛 Describe the bug

Originally opened as ticket #432, I dropped the ball and never created a new ticket, but the issue still remains. Background is in this ticket.

Referential integrity appears to only being done if the references are found in the Context or Reference_List or Bundle_Member_Entry areas (please correct me if I am wrong). I discovered that it is not being checked when there are other instances of the Internal_Reference object in other places, for instance in the sb:Calibration_Information > sb:Raw_Data_Product area. In this example, the raw product is being directly referenced with a LID or LIDVID), but it is not checking that the values here actually exist. See test data for an example that has many instances for different areas in both SP and SB LDDs.

🕵️ Expected behavior

I would expect validate to find and verify all instances of the Internal_Reference object actually exist or give a warning that it couldn't be found within the bundle, as is done in cases for Reference_List entries that are not found.

📜 To Reproduce

Run validate with the -R pds4.bundle option for any bundle has an Internal_Reference from for example the SB LDD.

🖥 Environment Info

Operating System: MacOS 13.7.8

📚 Version of Software Used

validate version 4.0.8

🩺 Test Data / Additional context

(bundle) https://pdssbn.astro.umd.edu/holdings/pds4-nh_leisa-v2.0/

(collection) https://pdssbn.astro.umd.edu/holdings/pds4-nh_leisa:pluto_cal-v1.0/

(product) https://pdssbn.astro.umd.edu/holdings/pds4-nh_leisa:pluto_cal-v1.0/data/20150303_028769/lsb_0287692018_0x53c_sci.lblx

Note this product has 6 examples not being checked in the sp:Bin_Description and sb:Calibration_Information areas. Though I hope all the LIDVIDs are accurate, so may need to change the values.

🦄 Related requirements

🦄 #xyz

⚙️ Engineering Details

No response

🎉 Integration & Test

No response

Metadata

Metadata

Assignees

Labels

Type

Projects

Status

ToDo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions