Hi,

There are several issues that point to the need for Semantic MediaWiki to be
more aware of the Semantic Internal Objects extension. They are, starting
with the most severe:

1) A recently-discovered problem: the script SMW_refreshData.php, when
called for an entire wiki, thinks that internal objects are wiki pages, and
thus tries to refresh their data directly; this can lead to the script
deleting internal objects. The relevant code causing the problem is this,
starting on line 1316 of /includes/storage/SMW_SQLStore2.php:

                                if ( !$title->exists() ) {
                                        $updatejobs[] = new
SMWUpdateJob($title);
                                }

...in other words, even if no corresponding wiki page is found for a certain
SMW entity, the update is still called on it. This probably makes sense some
of the time, but not for internal objects.

2) The RDF output of SMW doesn't include the information stored by SIO -
this was the subject of a previous thread, that turned into a general
discussion of whether the SIO approach was the way to go:
http://www.mail-archive.com/semediawiki-devel@lists.sourceforge.net/msg01730.html

3) The display and interface of internal objects in Special:Browse could be
better; see here:
http://discoursedb.org/wiki/Special:Browse/France

Internal objects should be un-linked but browsable, as opposed to linked and
un-browsable as they are now.

--------------

Each of these problems can be solved separately, using hooks and the like in
SMW; but maybe the real solution is to merge SIO itself, i.e. the handling
of #set_internal, into SMW directly. After all, these hooks are only
necessary for SIO, so it might be overkill to add them in just for SIO's
usage, especially since SIO itself only contains about 200 lines of code. If
that still seems like too much of an addition, given that the goal is to
keep SMW small, consider the idea that adding in #set_internal could
eliminate the need for having many-valued properties (i.e., what's known
currently as "n-ary relations") in the first place, since these could all be
stored as internal objects, with easier querying and display.

Anyway, I'm happy to have any of these three conversations: either talking
about the specific fixes needed in SMW to support SIO; or talking about
merging SIO into SMW; or talking about whether #set_internal is in fact the
right way to go in the first place.

-Yaron
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to