On 2018-11-02 08:24, Pjotr Prins wrote:
> On Thu, Nov 01, 2018 at 11:33:48PM +0100, swedebugia wrote:
>> When you have a proof-of-concept we can even consider writing a
>> paper about it.
That would probably be fun :) I did not write a paper for a long
time and never in the field of computing.
>> This wikidata endeavor would likely take some time for me to
>> accomplish with a good mentor.
>
> No problem! I think it is actually a very good learning project. We
> can help. Start small is my advice.
Thank you! I feel motivated.
>
>> First up is deciding whether the core procedures interacting with
>> wikidata should be in guix or as a separate module. I suggest
>> separate module.
>
> Agree. I think it can be a tool that is separate from Guix itself.
> Just start with a simple query and store that either as an
> S-expression or as JSON. I think (eventually) we ought to do both so
> other languages may use output too. Have a look at the tooling that
> generates the website.
Ok. Is there a json guile module?
Will take a close look at the python module.
>
>> Then writing client procedures to interface with the SPARQL API in
>> wikidata. This has already been done in python 3 (beta) see
>> [3]https://github.com/dahlia/wikidata gplv3+
>>
>> We could piggyback on this client (essentially making guix
>> dependent on python :/) or better yet contribute to one of the
>> existing guile sql libraries: >
> Personally I would use the Python stuff first and then slowly
> replace that with Guile. That way you get to results fast and we can
> improve over time. I personally take no issue with mixing stuff. And
> because it is a separate tool it is your choice anyway. I think also,
> initially, we should build a separate website that can display all
> this information. That way you have full freedom on implementation
> and experiments.
How would I go about mixing python and guile?
Export the list of package records from guile -> JSON and import
in a python script?
Can I call a python-script from guile and receive input from it?
So something like:
iterate over record fields
calling a python script to fetch data from wikidata
acting on the data
feeding it to the console/web template code
fire up the webserver serving the html
Cheers
Swedebugia