Islandora / documentation

Contains islandora's documentation and main issue queue.
MIT License
104 stars 71 forks source link

Modeling 7.x entities using taxonomies #827

Closed mjordan closed 5 years ago

mjordan commented 6 years ago

Now that https://github.com/Islandora-CLAW/islandora/pull/86 has landed, I'd like to ask how we'd model 7.x-style entities (people, events, etc.) and how we'd link them to other nodes (say a node of content type "Repository Item" tagged as an "article". Would this be as simple as tagging another node of content type "Repository Item" as a "scholar" and then adding to the article node a property dc:creator (or whatever ontology you're using) with a predicate of the "scholar"?

In other words, the article (whose URI is http://myislandora.org/node/20) and the scholar (whose URI is http://myislandora.org/node/10) are nodes of the same content type, Repository Item, and that the only structural difference is that one has the term "scholar" and the other has the term "article". The relationship between the two is expressed like this:

<http://myislandora.org/node/20> <http://purl.org/dc/elements/1.1/#creator> <http://myislandora.org/node/10> .

Does that sound right?

dannylamb commented 6 years ago

So, you could do that, and it would totally work. But it would be good to evaluate just exactly what metadata the 7.x entities are going to have versus the repository items they're associated with. If you made a content type just for 7.x style entities, it would be like partitioning the metadata profile, which if done cleanly would be a great thing. Otherwise we could have a ton of fields on one content type, with half being used for some items and half being used for others. But if there's a lot of overlap that would all fall apart. In other words... it's another judgement call. Either way, you'd still want to tag them as People or Organizations to make distinctions instead of a content type per concept.

FWIW when I was messing around with MODS -> CLAW migrations, I made <name> elements their own content type, Agents, because the metadata they were getting really only seemed to apply to people and orgs, not images or audio. Then I made a vocabulary for mods name types: personal, corporate, conference, and family. I tagged the Agent nodes with those terms to make distinctions. That seemed to make the most sense to me while I was working things through.

mjordan commented 6 years ago

@dannylamb That shit is tiieeeght! So Drupal content types for Islandora nodes should be defined by what default metadata fields you want for nodes of that content type. Makes sense!

dannylamb commented 6 years ago

That is perfect phrasing. I suspect that will be lifted and placed in documentation shortly.

bryjbrown commented 6 years ago

Popping in to add my $0.02 USD, I agree with @dannylamb in that "authority" metadata isn't going to have much overlap with "object" metadata, at least according to my knowledge of the situation. Add to that the fact that authorities aren't going to have any associated binary assets (pcdm:Files), and it furthers the separation.

dannylamb commented 5 years ago

We're doing this now with taxonomy terms.