Giter Site home page Giter Site logo

infernox5515 / spatial-socialnetworks Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 149.03 MB

A system to display relationships between real world networks and social networks. For Kent State University COF-CS Grant research.

Python 94.93% HTML 5.07%
spatial-data-analysis spatial-analysis python social-network social-network-analysis research research-project network network-analysis spatial-networks

spatial-socialnetworks's People

Contributors

ghulvey avatar infernox5515 avatar szuelzke avatar

Watchers

 avatar  avatar

spatial-socialnetworks's Issues

Implement Multi Threading

Look into utilizing multiple threads for tasks like computation using QThread. This would prevent the application from becoming unresponsive when performing large computations.

Label k, d, and η

k, d, and η need to be labeled. For example, hover over each and display a description.

Sorting query users

Look into adding sorting functionality when choosing a query user. This might be in the form of two columns, one for username and one for ID, with buttons on top to sort either by increasing or decreasing

Change Keywords Text Box

Change keywords text box for the query user to be formatted similarly to user information instead of the user selector box. Ie. no white background, no selection functionality, BUT it still needs to scroll when necessary.

Additional Attributes for Users

Think of and create additional attributes for users. For example, users can be assigned a username, IP, email address, etc.

Highlight Query Cluster

Highlight the cluster which contains the query user in the summary view. Make the node in the left graph green and a star.

Display Response Time

We need to display response time for the application. Maybe in the bottom corner?

Partitioning Graphs

Look into partitioning graphs for faster processing time. For example, each quadrent of the graph could be processed in different threads.

Additional Queries

We are waiting for responses to the following query ideas:

  • Pairing users with similar interests (keyword) who have multiple check-in locations close together. Users who visit an area multiple times with similar interests could query other users on the network who also visit the same locations and have similar interests.
  • Based on common keywords from a group of users a recommendation to a POI could be made that is within a vicinity of the users and satisfy their common interests. An example would be a friend group that wants to find a location in which they all would enjoy.
  • Generate a list of users who would likely visit a POI based on distance and user interests. An example would be targeted advertising from POIs to users who would likely visit a location

k Constraint

Since k is the number of 'edges' to triangulate users, it does not make sense to have k less than 3. It needs a constraint to prevent this from happening.

Combo-List for Query User

Change how query users are chosen. Instead of buttons, use a combo-list (dropdown with a list to select users from), Then, display info about the user selected on the right. This info will be linked to issue #18

Change query user information box

This is last week's note so if this is complete please just close the issue.

This was a suggestion to make the user information display in the same type of box as the users/keywords. If this isn't possible or you think this is not a good idea, you can also just close the issue with a not planned status

Change Icons

Change icons to display the same application-wide. For example, colors, symbols, etc. should match for the user plotted on both graphs

Rearrange toolbars to fit

Rearrange toolbars to fit on the screen. For example, on the summary page the query toolbar is cut off. This might fit better to have a menu (like the social networks or road network or file) for queries and list queries that are available instead of constantly showing a toolbar.

Social Networks and Subnetworks Indexing

We need to make our own indexing algorithm and method. This will be in the form of subnetworks that make up the entire network. Users are grouped together to form sub-networks (with constraints TBD). These sub-networks will be considered nodes in the larger whole network. If these nodes are still too big after being condensed, break the nodes into more sub-networks. This will form a tree structure that will be indexed.

There needs to be information about edges of the subgraphs (such as influence, max k, etc) recorded and a list of users in the node.

Query User Errors

Two errors occur when choosing a query user. This error occurs when clicking on a user ID:

Traceback (most recent call last):
  File "C:\Users\macar\Desktop\Spatial-SocialNetworks\GUI.py", line 692, in <lambda>
    listWidget.itemSelectionChanged.connect(lambda: self.__showUserInfo(listWidget, name, username, birthdate, email, phone, keywordList))
  File "C:\Users\macar\Desktop\Spatial-SocialNetworks\GUI.py", line 616, in __showUserInfo
    name.setText(self.selectedSocialNetwork.getUserAttributes(listWidget.currentItem().text() + ".0")["name"])
  File "C:\Users\macar\Desktop\Spatial-SocialNetworks\SocialNetwork.py", line 76, in getUserAttributes
    return self.__userData[user_id]
TypeError: 'NoneType' object is not subscriptable

This one occurs when clicking "set as query user" button:

Traceback (most recent call last):
  File "C:\Users\macar\Desktop\Spatial-SocialNetworks\GUI.py", line 674, in <lambda>
    setQueryUsr.clicked.connect(lambda: self.setQueryUser(userList[listWidget.currentRow()]))
IndexError: list index out of range

Relabel k, d, and eta

Let's relabel k, d, and eta to be more descriptive. For example, instead of just labeling as eta, label as minimum degree of similarity (eta)

Indexing for Faster Queries

We need to look into indexing to make our queries faster. Later, we need to actually build a system to index. This should NOT take advantage of pre-existing databases, but it might be useful to look at how No-SQL databases index.

Query User Displayed Twice

When selecting a query user on the main graph and then switching to the summary and re-selecting a query user, the first user still shows. This results in two users being marked on the graph. This does not happen the other way around (choosing in summary then choosing in normal).

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.