Hi Jacky,
Thanks for your feedback!
On 07/07/2017 02:41, qi cui wrote:
> Not sure if the MQL is really die or not. But I feel partial
> implementation could be an option if it is technically feasible. At
> least there is something developer can follow
May I ask where?
> also user is familiar with
> the language.
I am sure you are familiar with it, but is this skill really widespread
in our user base? It seems to me that many of our users are librarians
or scientists - it not clear that MQL is known in these communities, as
far as I can tell.
I think one of the main strengths of OpenRefine is that it allows to do
many powerful data transformations without any knowledge of programming
or of query languages. So ideally the underlying query language should
not be exposed to the user (just like the internals of the
reconciliation API are hidden behind human-readable forms).
Of course, power users want to have direct access to flexible APIs. In
that case, the value of a user interface that abstracts away the query
language is more debatable: these power users just want a text area
where they can type their clever query.
> Come up with something completely new might not be a
> shortcut unless there is a open standard that can follow to allow
> implement it in a systematic way.
I would love to reuse an existing standard. My main concern is that
requiring the implementation of a full-blown graph query language (in
addition to the API helpers for property suggestion and auto-completion)
will make it a lot harder for data providers to comply.
Here are a few examples:
-
https://github.com/okfn/reconcile-csv creates a reconciliation service
out of a CSV file. That's fantastic! And it would be great if you could
then retrieve columns of the CSV file without having to import the CSV
in OpenRefine and do a join yourself. Do we really want to ask the
maintainer of that tool to implement some version of MQL? Or Gremlin, or
GraphQL? It is clearly overkill for such a simple database and it will
probably just not happen.
-
https://github.com/codeforkjeff/conciliator creates reconciliation
interfaces for various databases, for instance ORCID. It does so by
calling the public APIs of these services. Many of these databases are
not graph-based and therefore do not expose any graph query language. Do
we expect maintainers of these reconciliation services to bake their own
MQL engine on top of the poor rate-limited public APIs they have access to?
- the Wikidata community uses primarily SPARQL as a query language. We
could ask Wikimedia Deutschland to implement another query interface to
Wikidata (and indeed, MQL was originally considered for that) but it
seems rather unlikely that this would happen any time soon. I really
believe OpenRefine has a lot of potential in the Wikidata community
(which can provide both users and developers) but if you ask the
community to switch to another query language just for that tool, I fear
that this will really slow down adoption a lot.
Antonin
>
> On Thursday, July 6, 2017 at 5:52:29 PM UTC-4, Antonin Delpeuch (lists)
> wrote:
>
> Hi all,
>
> I have finally taken the time to draft a data extension API, to be
> implemented by reconciliation services (as an optional feature). This
> will let users use their reconciled columns to pull data from the
> source
> database, extending their OpenRefine projects with new columns.
>
> The draft is here:
>
https://github.com/OpenRefine/OpenRefine/wiki/Data-Extension-API
> <
https://github.com/OpenRefine/OpenRefine/wiki/Data-Extension-API>
>
> My main goal in designing this API was to make it as simple as possible
> so that many services could implement it easily. There are details at
> the end that still need to be specified: feel free to edit the wiki to
> propose your solution!
>
> Cheers,
> Antonin
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenRefine" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
openrefine+...@googlegroups.com
> <mailto:
openrefine+...@googlegroups.com>.