Support rendering record back links #303
Labels
No labels
bug
config
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
orinoco/shacl-vue#303
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The current record viewer in
shacl-vueshows a record and all of its related information. On the graph level it means rendering a named node and all the quads where that named node is the subject. There is no current functionality to render all quads where that same named node is the object.This occurs e.g. when a class has a slot to link to a parent record, but that parent record has no inverse slot to list all of its children. A use case: if a
Distributionis adistribution_ofaDocument, and there is no slot on aDocumentthat lists all of its distributions, there is no way currently to view aDocumentand immediately be able to link to a relatedDistribution. But this would be useful from a user's perspective: click on aDocumentand be able to download it (i.e. theDistribution) immediately.Technically this is not difficult, the N3 query already happens but the node argument now just has to go into the
objectposition rather than the currentsubjectposition. What needs to be figured out is how the specification/configuration can support this.The number of use cases for this is accumulating. It may also be an interesting approach for investigating the usage of (custom) properties (e.g., https://pool.v0.trr379.de/ui/?sh%3ANodeShape=dlthings%3AProperty). What is being "credited", etc.
Another major use case would be "what is being influenced by particular objectives?" What other objectives are considered
part_ofanother?@cmo @mih I thought about this again. In
shacl-vuethis wouldn't be difficult to achieve. The in-app graph store usesN3which makes it easy to find quads with any specification (with subject X or predicate Y or object Z). However, that query is constrained to known quads in the store, thus the challenge is getting all relevant quads into the app from the backend. AFAICT, the best way to achieve this with the current dumpthings API is to do a constrained search with the relevant PID, and with the class beingThing. I am assuming that the string matching search in dumpthings will check the whole record?E.g. if we want to show "what is being influenced by particular objectives?", we would do a search for all
Things with the matching string being the PID of a particular objective.The only alternative I can think of would be to implement a new API endpoint that explicitly searches for related PIDs on specific slots.
This is also my understanding. Without knowing the details of the implementation in dumpthing, this should also not be faster than a dedicated endpoint. The PID should (be definition) be fairly unique and no further type-constraint would be available.
BackLinkViewercomponent and associated config #342