There is a strong desire to have a single tab in the results view for both objects and works mixed together into "items".
This ticket is to try and capture, at a high level, the back-end design decisions and implementation of changes that would allow this.
DO NOT WORK ON THIS TICKET
Indexing Research
Test if possible to create merged indexes if possible that include semantically similar relationships between objects and works:
e.g. itemBeginFoo = itemProductionFoo + item->workCreationFoo (I think we decided this was impossible, and hence the next bullet)
Query Changes
Change all work* searches to instead be semantic, with the top of the query being an item (physical or digital object), and then following the carries, shows, digitally_carries, digitally_shows properties in the JSON-LD to the work. These are merged as the lux:carries_or_shows predicate in the triples.
Alias together all semantically equivalent searches using OR. e.g.
RS to produce this list ASAP if the work is green lit
Change full text queries to include object->text, object->any->text, object->work->text (if this is different from object->any->text), object->work->any->text. This might be a performance blocker, as this fan-out could end up quite deep for objects that carry multiple works.
These changes will require carrying scores across the links to ensure relevance is calculated on all of the matches, not only on the matches in the object record ... otherwise library objects (which are basically placeholders) will always score terribly.
Update all of the agent|place|concept-to-agent|place|concept patterns to merge through both object and work
Merge similar works and similar objects into single query
Autocomplete ... would need a lot of UX work
Determine extent to which advanced search should process items and works together, versus separately
Facet/Sort/etc Changes
Merge all work facets into items as semantic facets from item to work to current value
Allow sorting objects based on properties of the works
UI Changes
Request new search tags as above
Merge Objects/Works tabs into Items tab
Change configurations of queries for in-page searches to use new search tags above
Implement design for merged object+work "record" page -- likely to be complex with a LOT of dereferences for the multi-work objects.
Data Changes
Ensure that every work that should be discoverable has an object that carries/shows it
Determine what to do about those that do not, currently hard to determine
Any additional tweaks to support indexing/querying
Notes
It would be terrible to denormalize this in the data, even more than the previous denormalization of names.
There is a strong desire to have a single tab in the results view for both objects and works mixed together into "items". This ticket is to try and capture, at a high level, the back-end design decisions and implementation of changes that would allow this.
DO NOT WORK ON THIS TICKET
Indexing Research
Query Changes
carries
,shows
,digitally_carries
,digitally_shows
properties in the JSON-LD to the work. These are merged as thelux:carries_or_shows
predicate in the triples.OR(itemProductionFoo:terms, workCreationFoo:terms)
Facet/Sort/etc Changes
UI Changes
Data Changes
Notes
Old tix: https://git.yale.edu/lux-its/marklogic/issues/666 Related tix: https://git.yale.edu/LUX/pipeline/issues/333