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