AD Research Wiki:

Install and run

TODO: describe how to start the service on nkaba, for now, see: https://docs.google.com/document/d/1gy3z3UkyicYaF75ZXsxTEzS8c28hPTFa6dQU6Y0dj0o/edit#

Broccoli-like features

We can mimick the suggestions using standard SPARQL features. Here are examples for each box (which can be tried via the Aqqu Virtuoso instance).

Instance suggestions

PREFIX fb: <http://rdf.freebase.com/ns/>
SELECT ?person_name WHERE {
 ?person_id fb:people.person.profession ?profession_id .
 ?profession_id fb:type.object.name "Astronaut"@en .
 ?person_id fb:type.object.name ?person_name
}
GROUP BY ?person_id

With popularity scores (assuming an explicit predicate <popularity_score>):

PREFIX fb: <http://rdf.freebase.com/ns/>
SELECT DISTINCT ?person_name ?score WHERE {
 ?person_id fb:people.person.profession ?profession_id .
 ?profession_id fb:type.object.name "Astronaut"@en .
 ?person_id fb:type.object.name ?person_name .
 ?person_id <popularity_score> ?score
}

Class suggestions

They are redundant (fb:type.object.type + instance suggestions)

Relation suggestions

PREFIX fb: <http://rdf.freebase.com/ns/>
SELECT ?p COUNT(DISTINCT ?person_name) WHERE {
 ?person_id fb:people.person.profession ?profession_id .
 ?profession_id fb:type.object.name "Astronaut"@en .
 ?person_id fb:type.object.name ?person_name .
 ?person_id ?p ?o
}
GROUP BY ?p
ORDER BY DESC(COUNT(DISTINCT ?person_name))

Important note: for QLever, we will not be able to have queries with "?p ?o" in general. However, we could do something special for such queries (e.g. using a has-relations like Broccoli does) + we should use a syntax similar (or even identical) to that of SPARQL.

Word suggestions

There is (of course) nothing for word suggestions in SPARQL. But the QLever index can do just what the Broccoli index can do concerning word suggestions. One just needs to find a reasonable syntax to ask for it (and implement it).

AD Research Wiki: Projects/QLeverUI (last edited 2017-09-11 17:39:20 by Hannah Bast)