Closed behas closed 12 years ago
I will take care of this and provide a controller interface that proposes tags based on a given input string. At the moment I am setting up DBPedia spotlight (http://dbpedia.org/spotlight) on one of our servers. We can then its http://spotlight.dbpedia.org/rest/candidates interface to retrieve tag suggestions.
This should be part of the next release 0.2. For the moment, let's focus on the core use cases "annotation" and "georeference", which should be release 0.1.
The tag cloud js looks fine; can we update it dynamically? If we integrate it into the create annotation model dialogue, then it should be updated while the user types...
In the final design we could have tag clouds in two places:
But again; this should be part of 0.2;
Here is an example that illustrates how to use our local DBPedia spotlight instance: http://samos.mminf.univie.ac.at:2222/rest/candidates?text=Cornell%20University%20is%20in%20the%20United%20States
If you use "Accept: application/json" in the HTTP request header, you get JSON back, which is probably nicer to work with.
I recommend to implement a method self.findTags() in the Annotation class and a corresponding controller method...
It works but it's terribly slow, so I can't really implement this yet. The simple request you gave me above takes 19 (!) seconds to get a response from the server.
One quick solution could be to convert the DBPedia titles files (http://wiki.dbpedia.org/Downloads37) to CSV and ingest them into an Apache Solr (http://lucene.apache.org/solr/) instance which we can then run on one of our servers.
I moved the index to a faster SAS disk; but it is still slow and ordering the SSD disk takes time....
So no progress here:
The "create annotation" dialogue should propose "tags" to users while they creating an annotation. We could simply render a tag cloud that changes based on the user input.