Releases: espositopasquale/KExtractor
Release list
Zero release
KExtractor 0.1.0 — Zero Release
This is the initial release of KExtractor a Java-based CLI that transforms unstructured English text into structured, Semantic Web–compliant knowledge graphs.
Leveraging the Stanford CoreNLP toolkit, KExtractor orchestrates a full linguistic pipeline — coreference resolution, Named Entity Recognition (NER), Open Information Extraction (OpenIE) — using deterministic, rule-based components rather than a probabilistic, black-box approach. The result is a transparent pipeline where a given input consistently yields the same output, prioritizing reproducibility and analytical rigor.
Core Capabilities
- Advanced NLP Pipeline — Uses a shift-reduce dependency parsing strategy for high-fidelity syntactic analysis and relationship extraction.
- Deterministic Coreference Resolution — Resolves pronominal references before relationship extraction, reducing entity ambiguity in the final graph.
- Semantic Web Integration — Outputs linked data as JSON-LD (default), Turtle, RDF/XML, or N-Quads via the
--formatflag. Graphs combine the schema.org vocabulary with a custom project namespace (kex), ready for downstream ingestion into graph databases and reasoning tools. - Corpus Processing — Accepts direct string input or batch processing of flat text documents from the terminal.
- Dual Execution Modes — Run in-process for quick, one-off tasks (Local Mode), or route requests to a local background CoreNLP server on port 9000 (
--server) for large-scale or repeated extraction without reloading models each time. - Cross-Platform Launch Scripts —
run-mac-linux.shandrun-windows.batwrappers detect whether the CoreNLP server is running, start it if needed, and wait for it to initialize before processing input. - Full Analysis Mode —
--full-analysisflag triggers the complete analysis suite.
System Requirements
| Requirement | Details |
|---|---|
| Java Runtime | JDK 21 or later |
| Build Tool | Apache Maven (required for compilation) |
| Memory | Minimum 4 GB RAM recommended |
| curl | Required by launch scripts to check server status |
Recommended heap sizes: -Xmx6g minimum for reliable execution, -Xmx8g as the general default, and -Xmx10g–-Xmx12g for large documents or batch processing.
Getting Started
git clone https://github.com/espositopasquale/KExtractor.git
cd KExtractor
mvn clean package
cp target/KExtractor-0.1.0.jar ./kextractor.jarThen run a quick extraction via the launch script:
./run-mac-linux.sh "Linus Torvalds created the Linux kernel in 1991." output.jsonAdd --server for background-server mode, or --format=ttl / --format=rdf / --format=nquads to change the output serialization.
Licensing Notes
For full setup instructions, all CLI flags, output examples, and troubleshooting (memory tuning, port conflicts, terminating the background server), see the README.