A comprehensive Semantic Web Application for querying and visualizing Nobel Prize laureate data. This project leverages RDF knowledge models, SPARQL queries, and a GraphQL API to federate data from the Nobel Prize dataset and Wikidata.
It was developed as part of the Web Application Development (WADe) course.
This application provides an interactive interface to explore Nobel Prize history. Unlike traditional databases, it queries Linked Data sources in real-time, allowing for rich data enrichment (e.g., pulling laureate images and descriptions from Wikidata) and complex statistical analysis.
Key Features:
- Hybrid API: Combines flexible GraphQL queries with RESTful endpoints.
- Data Federation: Merges Nobel Prize RDF data with Wikidata enrichment.
- Semantic Validation: Uses SHACL and a custom RDF ontology to verify data integrity on-the-fly.
- Plugin Architecture: Extensible statistics engine where new metrics can be added as plugins.
- URI Mapping: Resolves
owl:sameAslinks to connect different data sources.
- .NET 8
- React
- HotChocolate (GraphQL)
- dotNetRDF - For SPARQL and SHACL validation
- Fluent UI - Frontend components
Follow these steps to get a local copy up and running.
- Node.js (v18+)
- .NET 8.0 SDK
-
Clone the repository
git clone https://github.com/your_username/WADe-project.git
-
Backend Setup Navigate to the backend directory and restore dependencies.
cd nopeBackend dotnet restore dotnet build -
Frontend Setup Navigate to the frontend directory and install NPM packages.
cd ../nopeFrontend npm install --legacy-peer-deps
Start the .NET Core server. It typically runs on http://localhost:5000.
cd nopeBackend
dotnet run- GraphQL Playground: Visit
http://localhost:5000/graphqlto test queries. - Swagger UI: Visit
http://localhost:5000/swaggerfor REST endpoints.
Start the React development server.
cd nopeFrontend
npm run dev- Core Data Fetching: Retrieve laureates and prizes via SPARQL.
- GraphQL API: Efficient data delivery.
- Data Enrichment: Fetch images and descriptions from Wikidata.
- Statistics Plugins: Demographics (Age, Gender, Category).
- Data Validation: SHACL-based ontology verification.
- URI Mapping: Resolve
owl:sameAslinks. - Advanced Visualization: Network graphs for laureate connections.
Distributed under the MIT License. See LICENSE for more information.
Stefana Ciudin & Claudiu Strimbei - WADe Project Team