Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Title (goal)
live querying of object graph
Primary Actor script or program acting against the repository
Story

 Ingest and update routines often have to determine where in the graph of relationships to place a new (or updated) object, in doing so, querying a synchronously updated index of the relationships is necessary.  For example:

  1. find all children of an object when the relationship information is only stored on the children
  2. insert a new object within a chain of linked nodes
  3. perform the above operation with some concept of locking such that concurrent operations may insert objects into the same chain
CommentsIn previous versions of fedora, having the resource index synchronized caused a huge performance hit, but if updates weren't synchronized, the most common use cases would fail in unpredictable ways.  One query might not pick up recent changes, then the next one would, even with only a single process running against fedora.

 

Querying unidirectional relationships take the following form and seem to work in the alpha-4 release.

Code Block
SELECT ?s WHERE { ?s <http://fedora.lib.virginia.edu/relationships#follows> <http://localhost:8080/rest/firstObject> }