Files
TextNLPClassifierApp/graphify-out/cache/ast/v0.9.47-s2/651180962cf2a9253cb0a22429947eb3bf552c26be7defce98ef7583cbcd8fbf.json
T
andreferraro 6a45368cb0 feat(extractor): implement multi-engine article content extractor
- Added scripts/extract_article_contents.py for batch scraping with stealth Foxcape and triple extraction (Trafilatura, Newspaper4k, Readability)
- Created unit, integration, and E2E test suite in tests/test_extract_article_contents.py (90/90 passing)
- Updated specs/003-article-content-extractor and README.md with usage documentation and CLI contracts
- Passed ruff linting/formatting and mypy type checking cleanly
2026-08-20 19:22:20 -03:00

1 line
5.5 KiB
JSON

{"nodes": [{"id": "$graphify-root$_specs_003_article_content_extractor_data_model_md", "label": "data-model.md", "file_type": "document", "node_kind": "page", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L1"}, {"id": "$graphify-root$_specs_003_article_content_extractor_data_model_data_model_article_content_multi_engine_extractor", "label": "Data Model: Article Content Multi-Engine Extractor", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L1"}, {"id": "$graphify-root$_specs_003_article_content_extractor_data_model_1_entities_value_objects", "label": "1. Entities & Value Objects", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L3"}, {"id": "$graphify-root$_specs_003_article_content_extractor_data_model_1_1_inputarticle_value_object", "label": "1.1 InputArticle (Value Object)", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L5"}, {"id": "$graphify-root$_specs_003_article_content_extractor_data_model_1_2_trafilaturadata_value_object", "label": "1.2 TrafilaturaData (Value Object)", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L18"}, {"id": "$graphify-root$_specs_003_article_content_extractor_data_model_1_3_newspaperdata_value_object", "label": "1.3 NewspaperData (Value Object)", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L36"}, {"id": "$graphify-root$_specs_003_article_content_extractor_data_model_1_4_readabilitydata_value_object", "label": "1.4 ReadabilityData (Value Object)", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L54"}, {"id": "$graphify-root$_specs_003_article_content_extractor_data_model_1_5_extractedarticle_entity", "label": "1.5 ExtractedArticle (Entity)", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L67"}, {"id": "$graphify-root$_specs_003_article_content_extractor_data_model_1_6_extractionbatchreport_aggregate_root", "label": "1.6 ExtractionBatchReport (Aggregate Root)", "file_type": "document", "node_kind": "heading", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L84"}], "edges": [{"source": "$graphify-root$_specs_003_article_content_extractor_data_model_md", "target": "$graphify-root$_specs_003_article_content_extractor_data_model_data_model_article_content_multi_engine_extractor", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L1", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_data_model_data_model_article_content_multi_engine_extractor", "target": "$graphify-root$_specs_003_article_content_extractor_data_model_1_entities_value_objects", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L3", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_data_model_1_entities_value_objects", "target": "$graphify-root$_specs_003_article_content_extractor_data_model_1_1_inputarticle_value_object", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L5", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_data_model_1_entities_value_objects", "target": "$graphify-root$_specs_003_article_content_extractor_data_model_1_2_trafilaturadata_value_object", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L18", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_data_model_1_entities_value_objects", "target": "$graphify-root$_specs_003_article_content_extractor_data_model_1_3_newspaperdata_value_object", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L36", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_data_model_1_entities_value_objects", "target": "$graphify-root$_specs_003_article_content_extractor_data_model_1_4_readabilitydata_value_object", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L54", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_data_model_1_entities_value_objects", "target": "$graphify-root$_specs_003_article_content_extractor_data_model_1_5_extractedarticle_entity", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L67", "weight": 1.0}, {"source": "$graphify-root$_specs_003_article_content_extractor_data_model_1_entities_value_objects", "target": "$graphify-root$_specs_003_article_content_extractor_data_model_1_6_extractionbatchreport_aggregate_root", "relation": "contains", "confidence": "EXTRACTED", "source_file": "specs/003-article-content-extractor/data-model.md", "source_location": "L84", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}