Page MenuHomePhabricator

It should be possible to get entity id from page title
Closed, ResolvedPublic

Description

<DanielK_WMDE> lazowik: EntityPerPage should provide a function for looking up the ID for a given Title; and/or there should be an inverse of the EntityTitleLookup interface.

This is needed e.g. for showing concept and export urls on action=info

Details

Reference
bz65507

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:24 AM
bzimport set Reference to bz65507.
bzimport added a subscriber: Unknown Object (MLST).

What should be implemented? Function in EntityPerPage or new interface?
Also EntityPerPage has two related todos:
@todo: Combine with the EntityTitleLookup interface?
@todo: At least add a way to get page IDs!

It's clear that we should have an getEntityIdForTitle function somewhere, but it's not clear to me where it should reside, and what the exact signature should be (in the future, we may have more than one entity on a page).

For now though, I suggest to put that method into the EntityTitleLookup interface, and implemented it in EntityContentFactory (which implements EntityTitleLookup) like this:

$id = $idParser->parser( $title->getText() )

This isn't 100% future proof, but will work for now. This should make it easy enough to change the logic later.

Change 134727 had a related patch set uploaded by Michał Łazowik:
Add getting entity id from page title

https://gerrit.wikimedia.org/r/134727

Change 134727 abandoned by Michał Łazowik:
Introduce EntityIdLookup

Reason:
Need to figure out a good place for that and do a bit of refactoring beforehand.

https://gerrit.wikimedia.org/r/134727

Lydia_Pintscher removed a subscriber: Unknown Object (MLST).
Lydia_Pintscher removed a subscriber: Unknown Object (MLST).
hoo claimed this task.
hoo subscribed.

Wikibase\Store\EntityIdLookup::getEntityIdForTitle can do this.

Wikibase\Store\EntityIdLookup::getEntityIdForTitle
How to use that in Scribunto ? I search in many places but don't find it.

@Rical I assume you want a way to find the wikidata item connected to a given page (title), not the item on that page (which only makes sense on the repo). That's a very different task. I agree that it would be useful to have a way to do this in Lua. Please open a separate ticket about that.