This is a bit convoluted. I’m not sure what fragments are supposed to do in a data asset, but I’m not sure what they are in the first place, so it’s probably fine.
Why do you have two separate classes for items- both UInventoryItemDef and UID_BaseItem?
From what I can tell, you can just completely delete the UID_BaseItem class.
But to answer your original question:
Since UID_BaseItem inherits from UInventoryItemDef (which contains TArray<> Fragments), UID_BaseItem also has a field called Fragments, you just can’t see the declaration. You can access it just as you would in the UInventoryItemDef class.