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