{"id":29120947,"url":"https://github.com/shama-llama/semantic-web-kms","last_synced_at":"2025-07-18T05:38:06.716Z","repository":{"id":301363434,"uuid":"1007859382","full_name":"shama-llama/semantic-web-kms","owner":"shama-llama","description":"Semantic-based explicit knowledge management system for the domain of web development","archived":false,"fork":false,"pushed_at":"2025-07-13T21:16:12.000Z","size":899,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-13T22:23:18.148Z","etag":null,"topics":["computer-science","cosc-6232","semantic-web"],"latest_commit_sha":null,"homepage":"https://semantic-web-kms.vercel.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shama-llama.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,"zenodo":null}},"created_at":"2025-06-24T16:34:06.000Z","updated_at":"2025-07-13T21:16:16.000Z","dependencies_parsed_at":"2025-06-26T13:47:02.941Z","dependency_job_id":"ace4ca53-1a0b-4d3a-a735-27c5d88e681e","html_url":"https://github.com/shama-llama/semantic-web-kms","commit_stats":null,"previous_names":["shama-llama/semantic-web-kms"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/shama-llama/semantic-web-kms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shama-llama%2Fsemantic-web-kms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shama-llama%2Fsemantic-web-kms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shama-llama%2Fsemantic-web-kms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shama-llama%2Fsemantic-web-kms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shama-llama","download_url":"https://codeload.github.com/shama-llama/semantic-web-kms/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shama-llama%2Fsemantic-web-kms/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265705646,"owners_count":23814489,"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":["computer-science","cosc-6232","semantic-web"],"created_at":"2025-06-29T15:38:13.597Z","updated_at":"2025-07-18T05:38:06.708Z","avatar_url":"https://github.com/shama-llama.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Semantic Web KMS\n\n[![Python](https://img.shields.io/badge/Python-3.12-blue?logo=python)](https://www.python.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-18%2B-green?logo=node.js)](https://nodejs.org/)\n![TypeScript](https://img.shields.io/badge/TypeScript-Portal-blue?logo=typescript)\n[![Build](https://github.com/shama-llama/semantic-web-kms/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/shama-llama/semantic-web-kms/actions/workflows/build.yml)\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n**Semantic Web KMS** is a modular platform for extracting, semantically annotating, and managing software knowledge. It uses the [Web Development Ontology (WDO)](https://web-development-ontology.netlify.app/), supports multi-language code and documentation extraction, and provides a Next portal for search, analytics, and knowledge graph visualization.\n\n## Features\n\n- Ontology-driven semantic annotation\n- Multi-language code and documentation extraction\n- Knowledge graph and SPARQL querying (AllegroGraph)\n- Interactive portal: dashboard, search, graph visualization\n- Extensible pipeline and modular architecture\n\n## Architecture\n\n![Flask](https://img.shields.io/badge/Flask-API%20Server-green?logo=flask)\n![AllegroGraph](https://img.shields.io/badge/AllegroGraph-Triplestore-red?logo=apache)\n![TailwindCSS](https://img.shields.io/badge/TailwindCSS-Portal-cyan?logo=tailwindcss)\n![Next.js](https://img.shields.io/badge/Next.js-Portal-black?logo=next.js)\n\n**Semantic Web KMS** is organized into modular components, each responsible for a distinct part of the knowledge management pipeline:\n\n- **Extraction**: Extracts code, documentation, and metadata from repositories.\n- **Annotation**: Semantically annotates extracted artifacts using ontologies.\n- **Knowledge Graph**: Manages and queries semantic data (RDF, SPARQL, AllegroGraph).\n- **Portal**: Provides a Next.js-based web interface for search, analytics, and visualization.\n\n```mermaid\nflowchart TD\n    %% Style Definitions for a Versatile, Light/Dark Mode Compatible Theme\n    %% Palette: Blue, Green, Purple\n\n    %% Backend Containers (Darker Blue)\n    classDef backend-container fill:#1e40af,stroke:#60a5fa,color:#eff6ff,stroke-width:2px;\n    %% Backend Inner Nodes (Lighter Blue)\n    classDef backend-inner fill:#1d4ed8,stroke:#93c5fd,color:#eff6ff,stroke-width:2px;\n\n    %% Frontend Containers (Darker Green)\n    classDef frontend-container fill:#047857,stroke:#34d399,color:#f0fdf4,stroke-width:2px;\n    %% Frontend Inner Nodes (Lighter Green)\n    classDef frontend-inner fill:#059669,stroke:#6ee7b7,color:#f0fdf4,stroke-width:2px;\n\n    %% Ontology Containers (Darker Purple)\n    classDef ontology-container fill:#5b21b6,stroke:#a78bfa,color:#f5f3ff,stroke-width:2px;\n    %% Ontology Inner Nodes (Lighter Purple)\n    classDef ontology-inner fill:#6d28d9,stroke:#c4b5fd,color:#f5f3ff,stroke-width:2px;\n    \n    %% External Node Style (Neutral Gray)\n    classDef external fill:#4b5563,stroke:#9ca3af,color:#f3f4f6,stroke-width:2px;\n\n    %% A single, default link style is more robust\n    linkStyle default stroke:#38bdf8,stroke-width:2px;\n\n    %% Define All Modules First\n    \n    %% External Actor \u0026 Inputs\n    user([User])\n    repo[(Code Repository)]\n\n    %% Central Pipeline Modules\n    subgraph Portal[\"Portal (Next.js)\"]\n        direction TB\n        upload[Upload UI]\n        dashboard[Dashboard \u0026 Analytics]\n        search[Semantic Search]\n        graphviz[Graph Visualization]\n    end\n\n    subgraph API[\"API Server\"]\n        api_server[FastAPI Server]\n    end\n\n    subgraph Extraction[\"Extraction Module\"]\n        direction TB\n        ext_main[Main Extractor]\n        ext_main --\u003e ext_code[Code Extractor] \u0026 ext_doc[Doc Extractor] \u0026 ext_git[Git Extractor] \u0026 ext_content[Content Extractor]\n    end\n\n    subgraph Annotation[\"Annotation Module\"]\n        direction TB\n        annotator[Semantic Annotator]\n        sim_calc[Similarity Calculator]\n        postproc[Postprocessing]\n        annotator --\u003e sim_calc --\u003e postproc\n    end\n\n    subgraph KnowledgeGraph[\"Knowledge Graph Core\"]\n        direction TB\n        graph_manager[Graph Manager]\n        namespaces[Namespaces]\n        triplestore_api[Triplestore API]\n        graph_manager --\u003e namespaces \u0026 triplestore_api\n    end\n    \n    %% Supporting Side Modules\n    allegrograph[(AllegroGraph\u003cbr\u003eTriplestore)]\n    subgraph Ontology[\"Ontology Module\"]\n        direction TB\n        ontology_cache[Ontology Cache]\n        wdo[WDO] \u0026 bfo[BFO] \u0026 dcterms[DCTERMS] --\u003e ontology_cache\n    end\n\n    %% Define Connections for Symmetrical Layout\n    \n    %% Main vertical spine\n    user --\u003e Portal --\u003e API --\u003e Extraction --\u003e Annotation --\u003e KnowledgeGraph\n    \n    %% Inputs from the left\n    repo --\u003e|\"Source code, docs, git\"| Extraction\n    \n    %% Supporting resources on the right\n    Annotation --\u003e|\"Links entities to ontology\"| Ontology\n    KnowledgeGraph --\u003e|\"Ontology Lookups\"| Ontology\n    triplestore_api \u003c--\u003e|\"SPARQL Endpoint\"| allegrograph\n    \n    %% Feedback loop on the left. The \u003c.-\u003e syntax creates a dotted line automatically.\n    API \u003c.-\u003e|\"Queries \u0026 Manages KG\"| KnowledgeGraph\n\n\n    %% Apply Styling\n    \n    %% 1. Style external elements\n    class user,repo,allegrograph external;\n    \n    %% 2. Style the INNER nodes\n    class upload,dashboard,search,graphviz frontend-inner;\n    class api_server,ext_main,ext_code,ext_doc,ext_git,ext_content,annotator,sim_calc,postproc,graph_manager,namespaces,triplestore_api backend-inner;\n    class ontology_cache,wdo,bfo,dcterms ontology-inner;\n\n    %% 3. Style the OUTER subgraph containers\n    class Portal frontend-container;\n    class API,Extraction,Annotation,KnowledgeGraph backend-container;\n    class Ontology ontology-container;\n```\n\n## License\n\nThis project is licensed under the terms of the [MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshama-llama%2Fsemantic-web-kms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshama-llama%2Fsemantic-web-kms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshama-llama%2Fsemantic-web-kms/lists"}