This one’s a little more abstract and definitely more of a UI side thing.
The notion is very simple: suppose I know nothing about graphs or schema. Can I still write a query?
The way you might do this is ask the user: “Name two things” – and we autocomplete these two input boxes:
Name two things: [ Brad Pitt ] [ Angelina Jolie ]
Now, we can try to infer what the query is they’re looking for. Technically, this is doing a BFS (to a certain max depth) and finding which predicates create the path. So then we can ask or show something like
/people/person/spouse.!/people/person/spouse // They're married !/film/performance/actor.!/film/film/starring./film/film/starring./film/performance/film // They're costars !/film/performance/actor.!/film/film/starring.(Mr and Mrs Smith)./film/film/starring./film/performance/film // They're costars in a given film...
This is enough to get a foothold going – by giving two examples you can figure out the query that would relate them.
If you like, you can give another pair of examples:
[ Keanu Reeves ] [ Sandra Bullock ]
And then the only path these two pairs have in common is:
Ranking the list of paths is a fun topic akin to a search engine (TF/IDF?, preference for shortness? preference for infrequently used predicates?)