Module: WikidataAdaptor::RestApi::Sitelinks

Included in:
WikidataAdaptor::RestApi
Defined in:
lib/wikidata_adaptor/rest_api/sitelinks.rb

Overview

Instance Method Summary collapse

Instance Method Details

Delete an Item's sitelink for a specific site.

Parameters:

  • item_id (String)

    The ID of the Item.

  • site_id (String)

    The site identifier (e.g., 'enwiki').

  • payload (Hash)

    Edit metadata (comment).

Returns:

  • (String)

    Confirmation message.



54
55
56
# File 'lib/wikidata_adaptor/rest_api/sitelinks.rb', line 54

def delete_item_sitelink(item_id, site_id, payload)
  delete_json("#{endpoint}/v1/entities/items/#{CGI.escape(item_id)}/sitelinks/#{CGI.escape(site_id)}", payload)
end

Retrieve an Item's sitelink for a specific site.

Parameters:

  • item_id (String)

    The ID of the required Item.

  • site_id (String)

    The site identifier (e.g., 'enwiki').

Returns:

  • (Hash)

    Item's sitelink for the given site.



22
23
24
# File 'lib/wikidata_adaptor/rest_api/sitelinks.rb', line 22

def get_item_sitelink(item_id, site_id)
  get_json("#{endpoint}/v1/entities/items/#{CGI.escape(item_id)}/sitelinks/#{CGI.escape(site_id)}")
end

Retrieve an Item's sitelinks.

Parameters:

  • item_id (String)

    The ID of the required Item.

Returns:

  • (Hash)

    Item's sitelinks by site ID.



12
13
14
# File 'lib/wikidata_adaptor/rest_api/sitelinks.rb', line 12

def get_item_sitelinks(item_id)
  get_json("#{endpoint}/v1/entities/items/#{CGI.escape(item_id)}/sitelinks")
end

Apply JSON Patch operations to an Item's sitelinks.

Parameters:

  • item_id (String)

    The ID of the Item.

  • payload (Hash)

    JSON Patch operations and edit metadata.

Returns:

  • (Hash)

    The updated sitelinks.



43
44
45
# File 'lib/wikidata_adaptor/rest_api/sitelinks.rb', line 43

def patch_item_sitelinks(item_id, payload)
  patch_json("#{endpoint}/v1/entities/items/#{CGI.escape(item_id)}/sitelinks", payload)
end

Replace an Item's sitelink for a specific site.

Parameters:

  • item_id (String)

    The ID of the Item.

  • site_id (String)

    The site identifier (e.g., 'enwiki').

  • payload (Hash)

    Sitelink value and edit metadata.

Returns:

  • (Hash)

    The new sitelink.



33
34
35
# File 'lib/wikidata_adaptor/rest_api/sitelinks.rb', line 33

def put_item_sitelink(item_id, site_id, payload)
  put_json("#{endpoint}/v1/entities/items/#{CGI.escape(item_id)}/sitelinks/#{CGI.escape(site_id)}", payload)
end