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]
![Page 1: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/1.jpg)
Rate-it!“A general Purpose Polling Platform”
A.A: 2013/2014 Candidate: Alain Bindele N°: 695164 Tutor: Emanuele Panizzi
![Page 2: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/2.jpg)
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.
![Page 3: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/3.jpg)
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication
![Page 4: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/4.jpg)
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication
![Page 5: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/5.jpg)
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication
![Page 6: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/6.jpg)
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication REST API
![Page 7: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/7.jpg)
Features
Social Networking
Results statistics
RESTFUL API
Mobile apps authentication
![Page 8: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/8.jpg)
Testo
Neo4JTest conducted on a 1M nodes dataset with nearly 50 relationships each one.
![Page 9: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/9.jpg)
Votes Methods
Single choice
Multiple choice
Condorcet’s method
Likert scale
Thumb
![Page 10: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/10.jpg)
Metodi di voto
![Page 11: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/11.jpg)
Statistiche di base
![Page 12: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/12.jpg)
Statistiche di base
![Page 13: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/13.jpg)
Statistiche di base
![Page 14: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/14.jpg)
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.
![Page 15: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/15.jpg)
Metodo Schulze
also known as Schwartz Sequential Dropping (SSD)
It’s considered a variant of the Condorcet’s method.
![Page 16: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/16.jpg)
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
![Page 17: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/17.jpg)
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]
![Page 18: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/18.jpg)
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
![Page 19: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/19.jpg)
Database structure
![Page 20: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/20.jpg)
–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);
![Page 21: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/21.jpg)
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…
![Page 22: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/22.jpg)
Schulze method
We don’t always want to know the order of preferred candidates.
es. “What is the candidate order matching most voters preferences?”
![Page 23: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/23.jpg)
Testo
Mean/Variance GraphBinary method: same position in the vote
permutation count for 1 different position count for 0
![Page 24: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/24.jpg)
Testo
Mean/Variance GraphBinary method: same position in the vote
permutation count for 1 different position count for 0
![Page 25: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/25.jpg)
Testo
Mean/Variance GraphDifferences Method: valuation of the position difference
between same candidates in two permutations
![Page 26: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/26.jpg)
Testo
Mean/Variance GraphDifferences Method: valuation of the position difference
between same candidates in two permutations
![Page 27: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/27.jpg)
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
![Page 28: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/28.jpg)
Tools and technologies used
![Page 29: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/29.jpg)
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)
…
![Page 30: Rate-it! A general purpose Polling Platform (based on graph dbms Neo4j) [ENG version]](https://reader034.fdocuments.in/reader034/viewer/2022052600/557cc64dd8b42a59078b4f56/html5/thumbnails/30.jpg)
Alain Bindele
Thank you for the attention.