User:Apsdehal/GSoC2014 Proposal

About Me:
Hi, I'm Amanpreet Singh. I am a second year student currently enrolled in Electrical Engineering (IV Year Course) at IIT Roorkee.

I developed a passion for programming and web development in my freshman year. I am regularly contributing to Mediawiki since November 2013.

I am an active member of SDSLabs at IIT Roorkee.

I am currently proficient in Javascript, PHP, Python and Node.js.

Works done till now:

 * 1) Build web app for a local startup at IIT Roorkee, Roorkee Delivers.
 * 2) Created a code sharing website OpenCode
 * 3) A web app that makes matches on the basis of common interest between two people [1 ].
 * 4) jQuery plugin for shopping cart ( jCart ) and cookies ( jCookie ).
 * 5) Github Profile.
 * 6) I am currently trying to fix bugs in Mediawiki (Gerrit Repo).
 * 7) I have mostly worked on improve the extension Multimedia Viewer.
 * 1) Fixed:
 * 2) Bug 56445
 * 3) Bug 56446
 * 4) Bug 56742
 * 5) Bug 56121
 * 6) Bug 48435
 * 7) Bug 53438
 * 8) Working on:
 * 9) Bug 58848
 * 10) Bug 59936
 * 11) Bug 56471

Project
Annotation Tool that extracts information from the books and feed them on wikidata

Name
Amanpreet Singh

Email
amanpreet.iitr2013@gmail.com

IRC Nick
apsdehal

Web Page / Blog / Microblog:
Spookout

Location
Roorkee, Uttarakhand, India

Typical Working Hours:
10:00- 13:00, 15:30-19:00, 22:00-03:00 ( IST ) 4:30- 7:30, 9:30-1:30, 16:30- 21:30 ( UTC )

Possible Mentors
1. Cristian Consonni 2. Andrea Zanni 3. The Pundit team

Synopsis
Project is strongly based on belief to improve the user interactivity with Wikidata and create a whole new world of data sharing

and saving by creating a tool that on highlighting a statement would provide a GUI to fix its structure then feed it to Wikidata.

Wikidata is a free information base that is same for humans and machines. It centralizes access to and structurally manage

data so that every piece of data is easily available and accessible. By the means of the extension people can save their important

notes and quotes directly on Wikidata hence making it more accessible.

Use cases
1. You are at home, reading a book on Wikisource. As in the case of taking notes on paper, you can annotate and directly feed

and share important quotes and data automaticcaly with their source to the knowledge base of Wikidata.

2. You are at a presentation or seminar at work. An important fact or data point is shared during the presentation, e.g.

your national statistical institute as just released the latest population data on their website. You can annotate it, click and it is on Wikidata.

3. You are reading the news on your tablet using your browser, a new prime minister is being nominated. You can select the relevant text and

insert this information in wikidata.

How it will work?
I am going to create a Mediawiki extension for this project that will offer a GUI on highlighting a sentence. This GUI will

analyze the statement using Pundit software, as a triple (subject, object, predicate), offer a change screen and then feed

the same to Wikidata by linking to its items and property. The tool will offer suggestions based on the existing properties and

items on Wikidata. For the whole process, we are going to use Wikidata's regularly improving API to achieve our goal.

Through this whole data I saved or searched will be shared with the global world.

Following schema shows how the extension will work in details:

1. Firstly we are going to track the user using api to check if he/she is login and if not redirect to login page.

2. Pundit integrated with Mediawiki will be packaged as an extension that can be enable or as a browser plugin.

3. We will provide a GUI to the user so that he/she can annotate text and then warn them if the wikidata already contains such

annotation, this task is to be done using wikidata api.

4. Pundit will analyze the annotation as subject, object and predicate and then save it at Pundit server.

5. If its a valid wikidata item then it will saved at wikidata too, also providing extra information about the annotation. (like if the

annotation is done on wikisource then the book representing the annotation should be represented as source of information)

6. The flow will be unidirectional, that the user create annotations, save it on Pundit server then it is synchronized with wikidata.

7. Further extensions to this project can be Bidirectionality, extension should be made independent of Pundit server.