This repository contains the implementation and knowledge graph model for BlockDegrees, a blockchain-based system for verifying academic degrees.
The repository is organized as follows:
neo4j/blockdegrees_import.cypher- Cypher queries for creating the knowledge graphneo4j/blockdegrees_queries.cypher- Sample queries to explore the knowledge graphneo4j/simple_queries.cypher- Simplified queries for basic analysisneo4j/neo4j_queries.cypher- Additional queries for the knowledge graph
scripts/generate_data.py- Python script for generating sample datascripts/import_to_neo4j.py- Python script for importing data to Neo4jscripts/visualize_graph.py- Python script for visualizing the knowledge graph
data/research_data.json- Sample research data in JSON formatdata/eric.csv- CSV data for educational recordsdata/certificates.csv- CSV data for degree certificates
docs/README.md- Original project documentationdocs/project_context_for_documentation.md- Context for project documentationdocs/Project.docx- Project documentdocs/project proposal.docx- Project proposaldocs/Algorithm.txt- Algorithms used in the projectdocs/note.txt- Project notes
diagrams/class_diagram.svg- Class diagram for the systemdiagrams/flowchart.svg- Flowchart of the systemdiagrams/usecase.svg- Use case diagramdiagrams/dataflow.svg- Data flow diagramdiagrams/sequence_issuance.svg- Sequence diagram for certificate issuancediagrams/activity diagram.svg- Activity diagram for the system
src/- Source code for the web applicationpublic/- Public assets for the web applicationNFT-Certificate/- NFT certificate implementationpackage.json- Node.js package configuration
The BlockDegrees knowledge graph models the following entities:
- Students - Individuals who own degree certificates
- Institutions - Educational institutions that issue degrees
- DegreeNFTs - NFT-based degree certificates
- DegreeTypes - Types of academic degrees (e.g., Bachelor's, Master's, PhD)
- Fields - Academic fields/disciplines
- Employers - Organizations that verify degree certificates
These entities are connected through various relationships:
- OWNS - Students own DegreeNFTs
- ISSUED - Institutions issue DegreeNFTs
- CERTIFIES - DegreeNFTs certify specific DegreeTypes
- IN_FIELD - DegreeNFTs are in specific academic Fields
- VERIFIED - Employers verify DegreeNFTs
To work with the knowledge graph:
- Install Neo4j Desktop or use Neo4j Aura
- Create a new database
- Run the import script from
neo4j/blockdegrees_import.cypher - Explore the data using queries from
neo4j/blockdegrees_queries.cypher
To work with the web application:
- Install Node.js
- Run
npm installto install dependencies - Run
npm startto start the development server