/** * Try to map an ExpElement to a representative DataItem which may return null * if the attempt fails. * * @since 2.4 * * @param ExpElement $expElement * * @return DataItem|null */ public function tryToFindDataItemForExpElement(ExpElement $expElement) { $dataItem = null; if (!$expElement instanceof ExpResource) { return $dataItem; } $uri = $expElement->getUri(); if (strpos($uri, $this->wikiNamespace) !== false) { $dataItem = $this->tryToMatchDataItemForWikiNamespaceUri($uri); } else { // Not in wikiNamespace therefore most likely an imported URI $dataItem = $this->tryToMatchDataItemForUnmatchedWikiNamespaceUri($uri); } return $dataItem; }