{"adoption": {"forks": 522, "observed_at": "2026-08-28T04:08:59.673819+00:00", "stars": 4784}, "canonical_url": "https://ross.abutalabs.com/products/apache-age", "card": {"archived": false, "artifact_type": "library", "description": "Graph database optimized for fast analysis and real-time data processing. It is provided as an extension to PostgreSQL.", "domain": ["databases", "graph-processing", "big-data", "analytics"], "enriched": true, "function": ["database", "search-engine", "analytics"], "health_score": 100, "homepage": "https://age.apache.org", "language": "C", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["apache/age"], "name": "apache/age", "platform": ["windows", "self-hosted", "cross-platform"], "pushed_at": "2026-08-26T17:16:58+00:00", "repo": "apache/age", "stars": 4784, "tags": ["postgresql-extension", "graph-database", "opencypher", "multi-model", "c", "linux", "macos", "docker"], "topics": ["postgresql", "graph-database", "analytics", "postgresql-extension", "graphdb", "multi-model-dbms", "agensgraph", "age-database"], "urls": [], "use_cases": ["add graph queries to an existing postgres database", "run openCypher queries against relational data", "store and analyze graph and relational data in one database", "build social network or fraud detection graph analytics", "migrate from AgensGraph to a postgres extension", "perform real-time graph analysis on postgres data"], "what_it_is": "Apache AGE is a PostgreSQL extension that adds graph database capabilities on top of existing relational databases, supporting openCypher queries alongside standard ANSI SQL. It is inspired by Bitnine's AgensGraph and enables a single storage engine handling both relational and graph data models.", "when_to_avoid": ["you need a standalone dedicated graph database with its own ecosystem", "your workload is purely relational with no graph relationships", "you require graph features beyond what openCypher and AGE currently support"], "when_to_choose": ["you already run PostgreSQL and want graph capabilities without a separate database", "you need both SQL and openCypher in a single storage engine", "you want graph analytics with real-time performance on relational data"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/apache-age", "repo": "apache/age", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:59.673819+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:42.998050+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fb1b6c4421cc6a92bbe8eca8a92eda088725963e822a840d3909265595ad9203", "fetched_at": "2026-08-28T04:08:59.673819+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/age"}, {"content_hash": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a", "fetched_at": "2026-08-29T09:01:54.103461+00:00", "kind": "homepage", "missing": false, "url": "https://age.apache.org"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 80}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2254, "days_push": 7, "days_rel": 56, "gap_med": 39.0, "n_releases_24m": 7}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}