Islandora-Labs / rdfux

A user interface for mapping fields to RDF predicates in Drupal 8
GNU General Public License v2.0
1 stars 0 forks source link

Map multiple ontologies to a field #3

Open dannylamb opened 7 years ago

dannylamb commented 7 years ago

Transferred from https://github.com/Islandora-CLAW/CLAW/issues/487. Please see that issue for the original conversation.

Title (Goal) RDF UI: Map multiple properties to a field
Primary Actor Repository admin
Scope access
Level Low
Story As a repository admin, I want to be able to select multiple properties (including from different ontologies) to map to the same field of a bundle resource/entity type. This use case depends on a previous use case #485 , the ability to load multiple ontologies.
ajs6f commented 7 years ago

If multiple ontologies are responsible for the appearance of a single field, do properties in all of them get created/updated from that field? What about deletion? If the field is blanked out or deleted, do all of the corresponding properties in all of the ontologies go away? Only one? Some? Should that be driven by some kind of policy?

DiegoPino commented 7 years ago

Not sure what do you mean with policy in a semantic context?

  1. Assuming you mean some type of computational rule system and if that is the case: Seems to me that is simpler to assume, that if an extra layer of complexity is needed to deal with that use case, then the user (admin, metadata professional) should not be mapping multiple properties to the same field and use different fields for different properties. This can be managed as a warning/message or documentation. Mostly because RDF UX won't be dealing with CRUD at all, it will be dealing with RDF mapping to fields (and complex fields via redux and expand, because some drupal 8 fields are multivalued and kinda compoundish complexish) and ontology management.
  2. Assuming you mean a consensual policy in CLAW about how to deal with this, then yes. Lets define this, but i think this is outside RDF UX, more on the camel sync part right?
ajs6f commented 7 years ago

I am saying that the user (admin, metadata professional) should not be mapping multiple properties to the same field and use different fields for different properties is true, but that we cannot rely on users behaving as we like and we may need to offer some flexibility there. Whether that occurs as policy inside the system or policy outside the system (as you suggest), I'm fine with either. But I'm pretty confident the situation will arise. Islandora users are just too curious and exploratory for it not to. ;)

DiegoPino commented 7 years ago

True: This reminds me of an issue I found that we are not dealing with. CRUD kinda lacks the "D" when dealing with form fields in Drupal. So when you "blank out" a field you basically are removing its value, but not removing its existence, one of the many reasons I hate RDB data structures used for RDF. And you can't really remove a field for a resource since they are fixed for the whole "content type", more if we are using nodes where CRUD is out of our control. This needs to be thought of, probably on the Camel sync part

ajs6f commented 7 years ago

Yeah, that's very similar. I hate to think of doing "garbage collection" or things like to solve these problems. Much better to have a clean interaction from the user action forward into persistence.