Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]
-
Upload
alain-bindele -
Category
Technology
-
view
183 -
download
2
description
Transcript of Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]
Rate-it!“A general Purpose Polling Platform”
A.A: 2013/2014 Candidate: Alain Bindele N°: 695164 Tutor: Emanuele Panizzi
Testo
What is?Rate-it! is a RESTful web service that allows to the user to submit and retrieve surveys, to vote them, and to consult statistical data
about them.
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication REST API
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication
Testo
Neo4JTest conducted on a 1M nodes dataset with nearly 50 relationships each one.
Votes Methods
Single choice
Multiple choice
Condorcet’s method
Likert scale
Thumb
Metodi di voto
Statistiche di base
Statistiche di base
Statistiche di base
Condorcet’s method
The Condorcet’s method is an election method aiming to choice a winner between a number of candidates with respect to a pre-determined majority rule.
Metodo Schulze
also known as Schwartz Sequential Dropping (SSD)
It’s considered a variant of the Condorcet’s method.
Metodo SchulzeDefinition 1. d[V; W] is the number of voters who prefer the candidate V to the candidate W.
Definition 2. A path from the X candidate to the Y candidate of strength p is a sequence of candidates C1, … ,Cn with the following properties:
C1 = X e Cn = Y
∀ i=1,…,n-1 : d[Ci,Ci+1] > d[Ci+1,Ci]
∀ i=1,…,n-1 : d[Ci,Ci+1] ≥ p
Metodo SchulzeDefinition 3. p[A, B] is the path of greatest strength between the candidates A and B (If there’s not a path between them p[A; B] = 0)
Definition 4. The candidate A is better than candidate B if and only if p[A, B] > p[B, A]
Definition 5. The candidate A is potentially better than candidate B if and only if p[A, B] ≥ p[B, A]
Schulze Method
The “potentially better” relation has three property: transitivity, antisymmetry, reflexivity
Candidates forms a partially ordered set (poset) with respect to the “potentially better” property.
ex aequo could lead to multiple paths of greatest strength
Database structure
–Return all the oriented path of length N-1 starting from any node of the clique
START n=node(id1,id2,id3,...,idN)MATCH p=n−[: orderRelation * N−1..N−1{sum :”>”}]->d
RETURN DISTINCT(p);
Schulze method vs. Vote sum
V1=(A,B,C,D,E)
V2=(A,B,C,D,E)
V3=(E,A,B,C,D)
Sum method*: (A,B,C,E,D)
Schulze method:(A,B,C,D,E)
*First candidate receives 5 points, second 4 and so forth…
Schulze method
We don’t always want to know the order of preferred candidates.
es. “What is the candidate order matching most voters preferences?”
Testo
Mean/Variance GraphBinary method: same position in the vote
permutation count for 1 different position count for 0
Testo
Mean/Variance GraphBinary method: same position in the vote
permutation count for 1 different position count for 0
Testo
Mean/Variance GraphDifferences Method: valuation of the position difference
between same candidates in two permutations
Testo
Mean/Variance GraphDifferences Method: valuation of the position difference
between same candidates in two permutations
Software Architecture
Modularity
Reusability
Maintainability
ORM GRM
Humus Neo4jOGM Module
Doctrine ORMModule
Mod
el5,
3856
5 m
Cont
rolle
r2,
07 m
View
2,01
m
Tools and technologies used
Conclusions and future directions
Develop other methods of data analysis
enforcing of security policies
omomorphic cryptography (to mangle encrypted data)
proxy re-encryption (to keep a survey private between peers)
improve GUI
add other vote subjects (MIME contents)
…
Alain Bindele
Thank you for the attention.