{"id":21031965,"url":"https://github.com/navid2zp/go-wikidata","last_synced_at":"2025-05-15T12:31:26.967Z","repository":{"id":41070581,"uuid":"195587004","full_name":"Navid2zp/go-wikidata","owner":"Navid2zp","description":"Wikidata API bindings in go.","archived":false,"fork":false,"pushed_at":"2023-10-02T21:36:42.000Z","size":28,"stargazers_count":27,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T09:12:23.560Z","etag":null,"topics":["api","go","golang","wikidata","wikidata-api","wikipedia","wikipedia-api"],"latest_commit_sha":null,"homepage":"","language":"Go","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/Navid2zp.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}},"created_at":"2019-07-06T22:08:25.000Z","updated_at":"2024-03-31T06:05:29.000Z","dependencies_parsed_at":"2024-06-20T07:01:08.790Z","dependency_job_id":"11f7c0e5-f014-4b0c-802b-cfaa14953fd8","html_url":"https://github.com/Navid2zp/go-wikidata","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Navid2zp%2Fgo-wikidata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Navid2zp%2Fgo-wikidata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Navid2zp%2Fgo-wikidata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Navid2zp%2Fgo-wikidata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Navid2zp","download_url":"https://codeload.github.com/Navid2zp/go-wikidata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254341127,"owners_count":22054984,"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":["api","go","golang","wikidata","wikidata-api","wikipedia","wikipedia-api"],"created_at":"2024-11-19T12:39:17.617Z","updated_at":"2025-05-15T12:31:25.709Z","avatar_url":"https://github.com/Navid2zp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-wikidata\n\n[![GoDoc](https://godoc.org/github.com/Navid2zp/go-wikidata?status.svg)](https://pkg.go.dev/github.com/Navid2zp/go-wikidata?tab=doc)\n[![Build](https://img.shields.io/github/workflow/status/Navid2zp/go-wikidata/Test)](https://github.com/Navid2zp/go-wikidata/actions/workflows/go.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/Navid2zp/go-wikidata)](https://goreportcard.com/report/github.com/Navid2zp/go-wikidata)\n[![GitHub license](https://img.shields.io/github/license/Navid2zp/go-wikidata.svg)](https://github.com/Navid2zp/go-wikidata/blob/master/LICENSE)\n\n\nWikidata API bindings in golang.\n\nThis package is suitable for retrieving data from wikidata database using its public API.\nMethods for updating, editing and adding to wikidata are not implemented (yet).\n\nRead more about wikidata API: https://www.wikidata.org/w/api.php\n\n## Contents\n\n- [Installation](#install)\n- [Get Entities](#get-entities)\n    - [Methods](#get-entity-methods)\n- [Get Claims](#get-claims)\n    - [Methods](#get-claims-methods)\n- [Search](#search)\n    - [Methods](#search-methods)\n- [Get Wikipedia Page Item](#get-wikipedia-page-item)\n- [Get Available Badges](#get-available-badges)\n- [License](#license)\n\n\n### Install\n```\ngo get github.com/Navid2zp/go-wikidata\n```\n\n\n### Get Entities\n\n- Receives a list of entity ids.\n- Response will be a pointer to `map[string]Entity` which the key being the entity ID and \"Entity\" being the data for that entity.\n- WikiData action: `wbgetentities`\n- WikiData API page: https://www.wikidata.org/w/api.php?action=help\u0026modules=wbgetentities\n```go\n// Create a request\nreq, err := gowikidata.NewGetEntities([]string{\"Q1\"})\n\n// Configurations such as props, sites and etc.\nreq.SetSites([]string{\"enwiki\", \"fawiki\"})\n\n// Call get to make the request based on the configurations\nres, err := req.Get()\n```\n\n###### Get entity methods:\n\nRequest methods:\n\n```go\n// Param: props\n// Default: info|sitelinks|aliases|labels|descriptions|claims|datatype\nreq.SetProps([]string{\"info\", \"claims\"})\n\n// Param: sites\nreq.SetSites([]string{\"enwiki\", \"fawiki\"})\n\n// Param: sitefilter\nreq.SetSiteFilter([]string{\"enwiki\", \"fawiki\"})\n\n// Param: normalize\nreq.SetNormalize(true)\n\n// Param: languagefallback\nreq.SetLanguageFallback(true)\n\n// Param: languages\nreq.SetLanguages([]string{\"en\", \"fa\"})\n\n// Param: redirects\nreq.SetRedirects(true)\n\n// Param: titles\nreq.SetTitles([]string{\"title\", \"another\"})\n\n\n// Method chaining is also supported\nreq.SetNormalize(true).SetSites([]string{\"enwiki\", \"fawiki\"})\n```\n\nResponse methods:\n```go\nclaimReq, err := res[\"Q1\"].NewGetClaims()\n```\n\nSame as calling `NewGetClaims`. See \"Get Claims\" for more information.\n\n\n### Get Claims\n\n- Receives an entity ID or a claim GUID.\n- Response will be a pointer to `map[string][]Claim` which the key being the entity ID and value being a list of claims for that entity.\n- WikiData action: `wbgetclaims`\n- WikiData API page: https://www.wikidata.org/w/api.php?action=help\u0026modules=wbgetclaims\n\n```go\n// Create a request\n// You must either provide entity id or a claim GUID\nreq, err := gowikidata.NewGetClaims(\"Q1\", \"\")\n\n// Call get to make the request based on the configurations\nres, err := req.Get()\n```\n\nYou can also call `NewGetClaims` on `Entity` type.\n\n###### Get claims methods:\n\nRequest methods:\n\n```go\n// Param: props\n// Default: references\nreq.SetProps([]string{\"references\"})\n\n// Param: rank\n// One of the following values: deprecated, normal, preferred\nreq.SetRank(\"normal\")\n\n// Param: property\nreq.SetProperty(\"P31\")\n```\n\n### Search\n\n- Receives search string and search language string.\n- Response will be a pointer to `SearchEntitiesResponse` type containing the result as `SearchEntitiesResponse.SearchResult`.\n- WikiData action: `wbsearchentities`\n- WikiData API page: https://www.wikidata.org/w/api.php?action=help\u0026modules=wbsearchentities\n\n```go\n// Create a request\n// Both search and language are required\nreq, err := gowikidata.NewSearch(\"abc\", \"en\")\n\n// Call get to make the request based on the configurations\nres, err := req.Get()\n```\n\n###### Search methods:\n\nRequest methods:\n\n```go\n// Param: props\n// Default: url\nreq.SetProps([]string{\"url\"})\n\n// Param: limit\n// Default: 7\nreq.SetLimit(10)\n\n// Param: strictlanguage\nreq.SetStrictLanguage(true)\n\n// Param: type\n// One of the following values: item, property, lexeme, form, sense\n// Default: item\nreq.SetType(\"item\")\n\n// Param: continue\n// Default: 0\nreq.SetContinue(7)\n```\n\nResponse methods:\n```go\n// Next page of results\n// new coninue = limit + previous continue value\nnextPage, err := res.Next()\n```\n\n### Get Wikipedia Page Item\n\nFind Wikipedia page item ID in wikidata by page slug (https://en.wikipedia.org/wiki/[SLUG]).\n\n```go\nwikiDataID, err := gowikidata.GetPageItem(\"Earth\")\nfmt.Println(wikiDataID) // \"Q2\"\n```\n\n\n\n### Get Available Badges\n\n- Returns a pointer to a list of strings.\n- WikiData action: `wbavailablebadges`\n- WikiData API page: https://www.wikidata.org/w/api.php?action=help\u0026modules=wbavailablebadges\n\n```go\nbadges, err := gowikidata.GetAvailableBadges()\n```\n\nLicense\n----\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavid2zp%2Fgo-wikidata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnavid2zp%2Fgo-wikidata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnavid2zp%2Fgo-wikidata/lists"}