- From: gsergiu via GitHub <sysbot+gh@w3.org>
- Date: Mon, 04 Jan 2016 17:25:22 +0000
- To: public-annotation@w3.org
@iherman
Some feedback from my experience with (metadata) search engines:
1. The search API, typically return a preview (i.e. a view in the
model-view-controller design) of the annotations and not the full
objects. Some solutions allow user to select which properties to be
returned (e.g. SQL fashion), others use predefined profiles (e.g. a
minimal/standard/full). The number of total results must be present in
each request, and also the "pagination" information (i.e. in solr
uses start and rows parameters).
2. I think that all properties of the annotations must be
searchable/indexed ... and search according to their data types (e.g.
creation data, creator, tag labels, even the generator)
3. regarding the definition of the "q" parameter. This is actually a
string serialization of a query, which might be a simple text query or
it might be a kind of metadata-based query (in which case the query
must be often URL-Encoded) ... see also lucene query syntax:
http://wiki.apache.org/solr/SolrQuerySyntax
4. about the concern about multiple bodies in the search response, I
think this can be solved through usage of search profiles as mentioned
in 1.
5. About the search in target, yes .. it is a must to implement the
search by target. Given the 3. above, the q parameter is the
serialization of the full query, while target is only one property of
the query. In json we could have a query like this:
"q" : {
"creator" : "myself",
"target" : "http://mywebsite.com/myobject"
}
The submition of queries as json format with POST method, would be
quite good for developers. Still for many cases GET is preferred ..
therefore ... the ugly string serializations like in the amazon
example in previous post ....
6. I think that the specification of the search API is bound to API
technology. If the API is REST + JSON-LD, the input should be
json(-ld). If the API is RDF/XML based, this might use xquery or
something like that (which can be translated internally in a sparql
query if needed). The query is the input of the search, as the
annotation is the input of the create annotation method. I think that
the two APIs should be consistent.
BR,
Sergiu
--
GitHub Notification of comment by gsergiu
Please view or discuss this issue at
https://github.com/w3c/web-annotation/issues/48#issuecomment-168742589
using your GitHub account
Received on Monday, 4 January 2016 17:25:25 UTC