ArctosDB / arctos

Arctos is a museum collections management system
https://arctos.database.museum
59 stars 13 forks source link

Code Table Request - Landholder: Merge US Department of Defense and US Army Corps of Engineers into new value US Army #6470

Closed Nicole-Ridgwell-NMMNHS closed 2 weeks ago

Nicole-Ridgwell-NMMNHS commented 1 year ago

Initial Request

_Goal: Make sure localities held by the US Army have a consistent landholder locality attribute. Currently some Army Corp localities are entered as US Army Corps of Engineers while others are entered as US Department of Defense. Also, there is only one locality under DOD that isn't Army (since it is only one value, I will just change this to "public" with Kirtland Air Force Base in remark).

_Proposed Value: US Army

_Proposed Definition: The land service branch of the United States Armed Forces.

_Context: Based on my searches I think the only localities affected are NMMNH localities, but it would be good for someone to double check.

_Table: https://arctos.database.museum/info/ctDocumentation.cfm?table=ctlandholder

_Example Data: US Army Locs.xlsx

Once this is approved I should be able to complete all updates myself.

@ArctosDB/arctos-code-table-administrators

Approval

All of the following must be checked before this may proceed.

_The How-To Document should be followed. Pay particular attention to terminology (with emphasis on consistency) and documentation (with emphasis on functionality). No person should act in multiple roles; the submitter cannot also serve as a Code Table Administrator, for example._

Rejection

If you believe this request should not proceed, explain why here. Suggest any changes that would make the change acceptable, alternate (usually existing) paths to the same goals, etc.

  1. Can a suitable solution be found here? If not, proceed to (2)
  2. Can a suitable solution be found by Code Table Committee discussion? If not, proceed to (3)
  3. Take the discussion to a monthly Arctos Working Group meeting for final resolution.

Implementation

Once all of the Approval Checklist is appropriately checked and there are no Rejection comments, or in special circumstances by decree of the Arctos Working Group, the change may be made.

Review everything one last time. Ensure the How-To has been followed. Ensure all checks have been made by appropriate personnel.

Make changes as described above. Ensure the URL of this Issue is included in the definition.

Close this Issue.

DO NOT modify Arctos Authorities in any way before all points in this Issue have been fully addressed; data loss may result.

Special Exemptions

In very specific cases and by prior approval of The Committee, the approval process may be skipped, and implementation requirements may be slightly altered. Please note here if you are proceeding under one of these use cases.

  1. Adding an existing term to additional collection types may proceed immediately and without discussion, but doing so may also subject users to future cleanup efforts. If time allows, please review the term and definition as part of this step.
  2. The Committee may grant special access on particular tables to particular users. This should be exercised with great caution only after several smooth test cases, and generally limited to "taxonomy-like" data such as International Commission on Stratigraphy terminology.
dustymc commented 1 year ago

double check.

select locality_name from locality
inner join locality_attributes on locality.locality_id=locality_attributes.locality_id
where attribute_type='landholder' and attribute_value in ('US Department of Defense','US Army Corps of Engineers')
;

they're all named 'NMMNH...'

Jegelewicz commented 1 year ago

OK - this is another place where agents might make more sense?

Maybe the landholder code table should be limited to generic terms and the determiner should be the specific agent?

Because half of the things in this code table are Agents.....

@dustymc ideas?

dustymc commented 1 year ago

ideas

Nope. This is a lot like https://github.com/ArctosDB/arctos/issues/6413 in that a foreign key would be the ideal data, but IDK how to get there.

Nicole-Ridgwell-NMMNHS commented 1 year ago

the determiner should be the specific agent

That doesn't work because where I can I actually use the determiner field for the person who determined the landholder of this locality.

dustymc commented 1 year ago

@Nicole-Ridgwell-NMMNHS yes, the value can't replace or be used interchangeably with the determiner, but (in some other model...) ideally they'd be of the same datatype (a reference to another node in Arctos). Here that's even the same node, Agent, but I don't think that would be a desirable limitation if anyone ever figures out a different way to model these.

Jegelewicz commented 1 year ago

UGH _ I feel like this is another identifiers conversation that I am not able to communicate well.

Perhaps this needs splitting?

Landholder:general (the code table) LANDHOLDER GENERAL Documentation Metadata
city [ link ] A geographic unit defined as a permanent and densely settled place with administratively defined boundaries whose members work primarily on non-agricultural tasks.  
county [ link ] A geographical region of a country used for administrative or other purposes.  
land grant [ link ] A gift of real estate – land or its use privileges – made by a government or other authority as an incentive, means of enabling works, or as a reward for services to an individual, especially in return for military service  
private [ link ] Property owned by non-governmental legal entities.  
public [ link ] A portion of land held by central or local government.  
state [ link ] Land held and administered by state government.  
tribal [ link ] Land held and administered by a federally recognized Native American tribal nation under the U.S. Bureau of Indian Affairs.  
unknown [ link Unknown landholder status

Landholder:specific (VALUE IS an agent) the below get removed from the code table and added as agents

LANDHOLDER GENERAL Documentation Metadata
Bankhead-Jones Land Use Lands [ link ] Lands acquired by the United States under the Bankhead–Jones Farm Tenant Act of 1937 and managed by the U.S. Forest Service and the Bureau of Land Management management.  
US Army Corps of Engineers [ link ] An engineer formation of the United States Army  
US Bureau of Land Management [ link ] An agency within the United States Department of the Interior responsible for administering federal lands.  
US Bureau of Reclamation [ link ] A federal agency under the U.S. Department of the Interior, which oversees water resource management.  
US Department of Defense [ link ] An executive branch department of the federal government charged with coordinating and supervising all agencies and functions of the government directly related to national security and the United States Armed Forces.  
US Department of Energy [ link ] A cabinet-level department of the United States Government concerned with the United States' policies regarding energy and safety in handling nuclear material.  
US Fish and Wildlife Service [ link ] An agency of the United States Government within the United States Department of the Interior dedicated to the management of fish, wildlife, and natural habitats.  
US Forest Service [ link ] An agency of the U.S. Department of Agriculture that administers the nation's national forests and grasslands.  
US National Park Service [ link ] An agency of the federal government of the United States that manages all national parks, many national monuments, and other conservation and historical properties with various title designations.  
US National Wildlife Refuge System [ link ] A designation for certain protected land areas of the United States managed by the United States Fish and Wildlife Service.

OR (crazy idea!) could we add something to the agents - landholder type (the code table) and create generic agents for the generic landholders?

dustymc commented 1 year ago

@Jegelewicz I think that's just denormalization - it should not be possible to assert that US National Park Service is a city, but it is in your proposal.

VALUE IS an agent

That's not a current capacity. The value could be (contain, whatever) https://arctos.database.museum/agent/40 but that won't stop someone from deleting the agent. If we want to assert data objects as values then we need some model which can do that while eg maintaining referential integrity.

Jegelewicz commented 1 year ago

That's not a current capacity. The value could be (contain, whatever) https://arctos.database.museum/agent/40 but that won't stop someone from deleting the agent. If we want to assert data objects as values then we need some model which can do that while eg maintaining referential integrity.

but we do that now with collectors and such? people in transaction roles?

OR (crazy idea!) could we add something to the agents - landholder type (the code table) and create generic agents for the generic landholders?

dustymc commented 1 year ago

but we do that now with collectors and such? people in transaction roles?

Nope....

Nicole-Ridgwell-NMMNHS commented 1 year ago

@Jegelewicz I get what you are saying and that has a lot of potential, but if there is not the capacity to do value is agent, then I don't think your proposal is feasible right now without making things messy.

Jegelewicz commented 1 year ago

I completely do not understand why we can't use agents as the values in an attribute. We use them as values in determiner - what's the difference?

dustymc commented 1 year ago

I completely do not understand

Screenshot 2023-06-29 at 2 57 57 PM

what's the difference?

https://en.wikipedia.org/wiki/Referential_integrity

Jegelewicz commented 1 year ago

So why can we not do that exact same thing in a value?

Jegelewicz commented 1 year ago

I really don't understand - I'm not trying to be obstreperous!

dustymc commented 1 year ago

I'm not trying to be difficult either! I don't know how to better explain it, referential integrity is the reason all the magic magics, the reason relational databases exist.

Jegelewicz commented 1 year ago

So landholder value could not be an integer, that is a foreign key to the agent table?

Jegelewicz commented 1 year ago

OK - I have strayed off-topic. I'll file a new issue about the agents thing so we can think about what might work.

Jegelewicz commented 1 year ago

I'd like to wrap this one up - I can create a new Code table value

US Army: The land service branch of the United States Armed Forces.

then can @dustymc move everything?

Jegelewicz commented 1 year ago

Agent US Army has been added - merge-away

Nicole-Ridgwell-NMMNHS commented 1 year ago

I'll work on updating these next week.

Jegelewicz commented 2 months ago

@Nicole-Ridgwell-NMMNHS @dustymc what is the status of this?

Nicole-Ridgwell-NMMNHS commented 2 months ago

I still need to carve out time to merge these.

Nicole-Ridgwell-NMMNHS commented 2 weeks ago

This is way overdue, but these are finally merged for our records. I don't see any other localities using US Department of Defense or US Army Corps of Engineers, so I should be ok to delete? @javanveldhuizen I know you are in the process of migrating localities, I want to make sure I'm not merging anything you were about to use.

javanveldhuizen commented 2 weeks ago

Thanks for the heads up @Nicole-Ridgwell-NMMNHS. We will use the US Army Corps of Engineers value in landholder. So, please do not delete.

Once the SPNHC US Federal Collections committee figures out how federal landowners should be attributed, we should take that list and open a new thread to cleanup the landholder table. No clear ETA on when that will occur.

Nicole-Ridgwell-NMMNHS commented 2 weeks ago

I can't tell where because I'm not getting search results for it, but US Department of Defense is in use.

SPNHC US Federal Collections committee figures out how federal landowners should be attributed, we should take that list and open a new thread to cleanup the landholder table.

This is a good idea. I'm going to close this issue and we can cleanup once that happens.