{"id":20019438,"url":"https://github.com/tambapps/fos-visualisation","last_synced_at":"2026-04-16T18:33:02.187Z","repository":{"id":107215063,"uuid":"238721975","full_name":"tambapps/fos-visualisation","owner":"tambapps","description":"a data visualization project of research papers Field of Subject (FOS) using OpenGL through LWJGL","archived":false,"fork":false,"pushed_at":"2022-07-09T17:45:49.000Z","size":12227,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-12T16:08:46.850Z","etag":null,"topics":["data-visualization","java","lwjgl","opengl"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tambapps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-06T15:36:34.000Z","updated_at":"2022-07-09T17:45:46.000Z","dependencies_parsed_at":"2023-07-18T02:30:42.380Z","dependency_job_id":null,"html_url":"https://github.com/tambapps/fos-visualisation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tambapps%2Ffos-visualisation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tambapps%2Ffos-visualisation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tambapps%2Ffos-visualisation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tambapps%2Ffos-visualisation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tambapps","download_url":"https://codeload.github.com/tambapps/fos-visualisation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241453585,"owners_count":19965230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-visualization","java","lwjgl","opengl"],"created_at":"2024-11-13T08:27:35.837Z","updated_at":"2026-04-16T18:33:02.122Z","avatar_url":"https://github.com/tambapps.png","language":"Java","readme":"\n# FOS Visualization \n\n## Presentation \nThis is a data visualization school project, allowing to display Field of Study (FOS) of some research paper \n## Dataset \nThe dataset is composed of two CSV files. \n### dblp.v11.csv \nThis csv lists many research papers. Each research paper is composed of the following fields:\n\"id\",\"title\",\"authors\",\"year\",\"n_citation\",\"fos\"\n- id\n- title\n- authors -\u003e authors with their given id\n- year -\u003e published year of this paper\n- n_citation -\u003e number of citation of this paper\n- fos -\u003e fields of studies in the format name:weight. Weights range  from 0 to 1\n\nIn this project, I only used the year (to display data by year), n_citations and the FOSs.\n\n### fos.csv\nThis csv lists all the FOSs and their number of occurrence. Since there are 18901 FOS, I filtered them to keep only the ones that have at least 100 occurences.\nWhen I encounter a filtered FOS in the `dblp.v11.csv` file, I simply ignore it.\n\n\n## Visualisation (not finished yet)\n![screenshot](https://raw.githubusercontent.com/tambapps/fos-visualisation/master/screenshots/screen1.png \"Screenshot\")\n\nEach node represent one FOS. The the FOS were frequent in all of the articles parsed, the bigger the node is. \n\nEach node is colored from blue to red. Blue means that among all articles containing this FOS, these articles weren't cited a lot. \nIn opposite, a red color would mean that theses articles were cited a lot. \n\nThere may be some link between two nodes (FOSs) If the two FOSs were frequently seen in the same articles, the link will be thick, if they were only saw a few times, it will be thin, and if they never have been in the same article, there will be no link\nThe text is still missing: each node should have its FOS displayed.\n\n## Interaction\nYou can interact with the data in many ways\n### Zoom\nby pressing `z` and up/down arrow, you can zoom in/out the screen\n\n### Links threshold\nBy default, all links are displayed. Where there are many links, the application starts to become slow, so you can press `l` and up arrow to rise the links threshold and hide all links  below this threshold. press `l` + down to lower it\n\n### Nodes threshold\nSame as the link threshold, you can press `b` + up/down to modify the value of the node threshold. All node hidden will also have their links hidden too.\n\n### Shuffle\nYou don't like how the nodes are disposed? Shuffle them by clicking on `s`.\n\n### Move a node\nClick on a node and while you've pressed down, move the mouse, the node will move along. Release the mouse button to stop moving the node\n\nNote that clicking on a node will also display its FOS in the console\n\n### Go through years\nYou can change the current year displayed by clicking on `y` (+1) or `h` (-1). \n\nWhen you change a year, we compute the nodes added, and the one removed to add/remove them with an animation. \n\nAll nodes that still remains in the new year stays in the same place, so that you don't get confused each time you change year.\n\n### Expand/Tighten\nYou can click `e` to expand, `s` to tighten the graph (the nodes will move away from the center),\nand `d` to tighten it.\n\n## How to run\n\n### Maven (pom.xml) configuration\nThe LWJGL (and OpenGL) configuration is by a generated pom.xml. You can find this tool [here](https://www.lwjgl.org/customize).\n\nI used the dependencies for Linux x64.\n\n### Jar Generation and Running\nThis project uses Java 11. Before going next, make sure your JAVA_HOME is set to your java 11 path.\nOnce your pom is well configured and you use Java 11, run\n\n```bash\nmvn install\n```\nThis will build the jar, and then run\n\n```shell script\njava -jar target/papernet-1.0-SNAPSHOT-jar-with-dependencies.jar\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftambapps%2Ffos-visualisation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftambapps%2Ffos-visualisation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftambapps%2Ffos-visualisation/lists"}