{"id":18778601,"url":"https://github.com/ramsailopal/yottadb-aim","last_synced_at":"2026-01-25T13:01:29.110Z","repository":{"id":164435479,"uuid":"639873814","full_name":"RamSailopal/YottaDB-AIM","owner":"RamSailopal","description":"A working demonstration on YottaDB AIM (Application independent Metadata)","archived":false,"fork":false,"pushed_at":"2023-05-12T12:40:44.000Z","size":67,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T05:36:49.863Z","etag":null,"topics":["aim","mumps","yottadb"],"latest_commit_sha":null,"homepage":"","language":"M","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RamSailopal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-05-12T12:25:29.000Z","updated_at":"2023-05-12T15:03:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"5872d173-53d8-4690-97a6-4cac3c228803","html_url":"https://github.com/RamSailopal/YottaDB-AIM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RamSailopal/YottaDB-AIM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-AIM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-AIM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-AIM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-AIM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RamSailopal","download_url":"https://codeload.github.com/RamSailopal/YottaDB-AIM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RamSailopal%2FYottaDB-AIM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28753411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["aim","mumps","yottadb"],"created_at":"2024-11-07T20:16:41.844Z","updated_at":"2026-01-25T13:01:29.097Z","avatar_url":"https://github.com/RamSailopal.png","language":"M","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YottaDB AIM\r\n\r\nMumps based databases such as YottaDB are notoriously quick when querying subscripts but querying data based on entries can take time. YottaDB's AIM (Application Independant Metadata) overcomes such issues.\r\n\r\n## Example\r\n\r\nA database of UK post codes is used for this example\r\n\r\n    ^PCODE(\"YO18\")=\"Pickering|North Yorkshire|England\"\r\n    ^PCODE(\"YO19\")=\"Wheldrake|York|England\"\r\n    ^PCODE(\"YO21\")=\"Hutton Mulgrave|North Yorkshire|England\"\r\n    ^PCODE(\"YO22\")=\"Snainton|North Yorkshire|England\"\r\n    ^PCODE(\"YO23\")=\"Copmanthorpe|York|England\"\r\n    ^PCODE(\"YO24\")=\"|York|England\"\r\n    ^PCODE(\"YO25\")=\"Driffield|East Riding of Yorkshire|England\"\r\n    ^PCODE(\"YO26\")=\"Upper Poppleton|York|England\"\r\n    ^PCODE(\"YO30\")=\"Rawcliffe|York|England\"\r\n\r\nThe post code e.g. **YO18** serves as the subscript and querying the subscript returns results in fast time. The slower times in querying \"pieces\" of  the entry e.g. North Yorkshire for the region or England for the country is overcome with AIM.\r\n\r\nMore details about YottaDB AIM can be found here https://yottadb.com/wp-content/uploads/2021/11/211020-1YDBAIMIntro.pdf\r\n\r\nWith the **^PCODE** global populated, we run:\r\n\r\n    XREFDATA^%YDBAIM(\"^PCODE\",1,\"|\",\"1:3\",,,,2)\r\n\r\nThis will index the global **^PCODE** working with the data at the first subscript level only (1), using \"|\" as the separator for the indexes and indexing the first to the third | separated fields.\r\n\r\nRunning the above command yields an index global as below:\r\n\r\n    ^%ydbAIMDKAMtqo3xVGHqQ8RwybiAA7(3,\"Wales\",\"SA63\")=\"\"\r\n    ^%ydbAIMDKAMtqo3xVGHqQ8RwybiAA7(3,\"Wales\",\"SA64\")=\"\"\r\n    ^%ydbAIMDKAMtqo3xVGHqQ8RwybiAA7(3,\"Wales\",\"SA65\")=\"\"\r\n    ^%ydbAIMDKAMtqo3xVGHqQ8RwybiAA7(3,\"Wales\",\"SA66\")=\"\"\r\n    ^%ydbAIMDKAMtqo3xVGHqQ8RwybiAA7(3,\"Wales\",\"SA67\")=\"\"\r\n\r\nIn the above global example, 3 represents the relevant index (the country), then the country entry itself and then the post code. The post code attained from the index can then be used as a subscript reference to query data directly from the ^PCODE global.\r\n\r\n## Working demonstration\r\n\r\nTo view a cross compatible working demonstration, follow these steps:\r\n\r\n    git clone https://github.com/RamSailopal/YottaDB-AIM.git\r\n    cd YottaDB-AIM\r\n    docker run --rm --name \"Yottadb\" -it -v ${PWD}/Share:/home/YDB --entrypoint /home/YDB/entrypoint.sh yottadb/yottadb\r\n\r\nWait for the text **Initialisation complete ...** to appear and then open another terminal/powershell. Enter:\r\n\r\n    docker exec -it Yottadb /opt/yottadb/current/ydb\r\n\r\n    YDB\u003eZL \"/opt/yottadb/current/indexsrch.m\" D GO^indexsrch\r\n\r\n    Enter the parameter to search on (1 - Town, 2 - Region, 3 - Country) or Exit to Quit 2\r\n    Enter the text to search for Sandwell\r\n\r\n    Results:\r\n\r\n\r\n    Entry: 1\r\n    Post Code: B43\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 2\r\n    Post Code: B64\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 3\r\n    Post Code: B65\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 4\r\n    Post Code: B66\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 5\r\n    Post Code: B67\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 6\r\n    Post Code: B68\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 7\r\n    Post Code: B69\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 8\r\n    Post Code: B70\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 9\r\n    Post Code: B71\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 10\r\n    Post Code: DY4\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n    Entry: 11\r\n    Post Code: WS10\r\n    Town: West Bromwich\r\n    Region: Sandwell\r\n    Country: England\r\n\r\n\r\nThe routine indexsrch utilises the indexes to attain town, region and country data\r\n\r\n## Reference\r\n\r\nhttps://yottadb.com/\r\n\r\n\r\n\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framsailopal%2Fyottadb-aim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Framsailopal%2Fyottadb-aim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framsailopal%2Fyottadb-aim/lists"}