Last modified: 2013-03-31 10:12:11 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T20406, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 18406 - Pages without wiki content in query results ("ghostpages")
Pages without wiki content in query results ("ghostpages")
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
Semantic MediaWiki (Other open bugs)
unspecified
All All
: Normal normal with 1 vote (vote)
: ---
Assigned To: Markus Krötzsch
:
: 29892 42896 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-04-08 23:20 UTC by DaSch
Modified: 2013-03-31 10:12 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description DaSch 2009-04-08 23:20:43 UTC
When querying for a namespace also pages are displayed that whre deleted or even never existed and only whre linked once, the whole query behaves very strange. I hope the example here http://www.wecowi.de/view/WeCoWi:Attribut is enough to reproduce the problem
Comment 1 Markus Krötzsch 2009-07-06 08:25:53 UTC
This is normal behaviour, but I agree that it can be confusing. SMW creates internal objects as soon as they are used in any annotation, and these objects are never deleted. I am aware that this can be confusing, but it is necessary to correctly handle queries that ask for the existence of annotations. E.g. the query [[property::+]] returns all pages that have some value for "property" even if this value is a page that does not exist yet.

This makes some sense: an annotation [[property::pagename]] assigns the value "pagename" even if there is no page of that title yet. This is the reason why the semantic object "pagename" must exist even if there is no wiki page. If you only want to retrieve existing pages, you can query for [[Modification date::+]].

To improve SMW's behaviour here, the internal query construction would need to be changed so that top-level namespace queries are extended with additional side-conditions that restrict results to existing pages.
Comment 2 Markus Krötzsch 2012-02-11 18:32:35 UTC
*** Bug 29892 has been marked as a duplicate of this bug. ***
Comment 3 Markus Krötzsch 2013-02-28 11:05:46 UTC
*** Bug 42896 has been marked as a duplicate of this bug. ***
Comment 4 Markus Krötzsch 2013-02-28 11:12:19 UTC
Some further clarification. This problem really has two distinct aspects. The first is described above: a page that is used as a value must "exist" as an SMW object, even if it has no wiki page. The second aspect is that SMW does not have any effective cleanup functionality to remove objects that were needed once but are no longer needed now. This means that page objects will still "exist" after removing all properties that point to them, and deleting their wikipage.

In a sense, these could need two distinct solutions, but they are still closely related. Basically, page objects of the first type can only be filtered out if there is some additional check in the query that makes sure the page exists. Page objects of the second type could also be removed from the database entirely, since they are not needed by SMW any more. However, I suppose that most users are more interested in a solution for the first case (which would also solve the second case; but not the other way around).
Comment 5 Markus Krötzsch 2013-03-31 10:12:11 UTC
*** Bug 46729 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links