From: Temlakos <tem...@gm...> - 2008-11-06 16:59:00
|
Someone once built an "invert-property" template to generate code automatically to annotate any article with a designated inverse of any Page property that points to the article in question. For example: {{Invert-property|Member of|Includes}} annotates the article in which it appears with several [[Includes::...]] brackets, each naming an article that names the index article as [[Member of::...]] That's as close as SMW currently gets to rule support. The kind of rule support you named would obviously replace this kind of inverse annotation, and would be especially useful with the syllogism you mentioned in your second example. And here's another suggestion: If A is the brother of B, then B might be either the brother /or the sister/ of A. It all depends on the gender of B. Therefore there's more to that relationship than a simple inverse. Rule-making would make such annotation a lot simpler. I would point out just one problem, however. Storage refreshment is a continual problem in SMW, and will only get worse with this kind of rule support. That's because queries always go to the stored value in the SMW tables, not the table containing the article text. And whenever you change a primary annotation, you have to refresh every article that refers to it. I've noticed something else, though this might not be germane to this problem. If, for any reason, the supporting script for a data type has any material change, that requires an edit-and-save to virtually every article that uses that data type in a way that the change affects. As you all know, I have a custom data type in my wiki. Earlier this week I noticed that it was storing some wrong date values. Specifically, it was storing Julian days that were a year ahead of where they should have been, and it was causing that data type to report wrong dates in other calendar formats. So I finally debugged the functions involved, but then I had to edit-and-save every single article annotated in that calendar, so that other articles that /queried/ those articles with #ask or #show statements could see the change. BTW: I have a wiki with 3,870 articles in it. The script SMW_refreshData.php doesn't seem to get everywhere I need it to get, even if I run it in slow doses. Can anyone recommend a better technique for using that file? Temlakos Jie Bao wrote: > Hi all > > I'm wondering if rule support is gonna to be part of SMW at the php > level in the near future. What I mean "rules" are like > > * if A is brother of B, then B is brother of A > * if A is a member of B and B is part of C, then A is a member of C > * if A has an author B, then B is a person > > Thanks > > Jie > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Semediawiki-user mailing list > Sem...@li... > https://lists.sourceforge.net/lists/listinfo/semediawiki-user > > |