https://bugzilla.wikimedia.org/show_bug.cgi?id=37777

--- Comment #2 from Markus Krötzsch <[email protected]> 2012-10-18 
08:20:57 UTC ---
Part of this might be a documentation issue, and part of the internal behaviour
also changed on master recently. So let me briefly explain how containers work
now. Containers are "virtual" data items that are merely wrappers for a number
of property-value assignments that they contain. The DIContainer class only
exists to allow many annotations to be packaged into one value for interfaces
that expect a single value (e.g., the result of parsing user input should be
one value).

However, once the DIContainer is passed to an SMWSemanticData object, it gets
decomposed immediately: the subject DIWikiPage of the container will be used as
the property value, the remaining annotations about the subject get stored
separately as "subsemanticdata". If you store more than one container with the
same subject, then the data about this subject will be merged. This has always
been happening more or less implicitly in the database, but until recently it
had not been happening in SMWSemanticData right away. As it now is, no
SMWSemanticData can ever hold a DIContainer value -- you can give one to it but
it is the same as if you had used the subject and added the subsemanticdata
directly (there are methods for this now).

Now when you query for the data of a page, the store will only fetch its actual
property values, not the property values of its subobjects. Thus, you will see
the DIWikiPage (subject) but not the subsemanticdata (the rest of the
container). To get this data, you need to call getSemanticData() for the
subject DIWikiPage.

Maybe this information already allows you to solve your problem (together with
the recent code).

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to