-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I've thought about the derivation mechanisms in SMW. Currently when creating
sublcasses using ie. owl:subClassOf or owl:subAttributeOf, I'm missing the
functionality of high-level programming languages which are defining keywords,
giving the developer finer control over the derivation process. I recommend to
implement keyword-like semantic-relations to mimic this.
As a practical example I want to define the Relations abstract, virtual, and
override:
Relation:abstract
- -----------------
The Relation or Attribute is not used in this class, but needs to get
implemented/used in the child-classes. If not a warning message will appear in
the fact-box asking the user to fill out this property. This is practically
when a specific minimum-information is needed about a specific article-type.
Ie. Article City might implement
[[abstract::Attribute:Numer_of_Inhabitants]]
[[abstract::Inhabitants-Count]]
[[abstract::Postal-Number]]
[[abstract::Geographic-Coordinates]]
...
so all
[[owl:subClassOf::City]]
marked Articles need to define there Inhabitants-Count, Postal-Number,
Geographic-Coordinates, etc. too.
Relation:virtual
- ----------------
The Relation or Attribute is copied virtually 1:1 into the child-classes.
Anyway, using the Attribute in the child will replace the value of the specific
Relation or Attribute value from the parent. This is useful when wanting to
spread a lot of same valued information to a broad range of articles, where
only some Articles form a exception from the general rule.
Ie. take the countries in the European Union, which are geograpically resisting
all on the european continent.
[[[[virtual::located_in]]::european_continent]]
But then, keeping in terms of a example, Turkey joins the European Union.
Because Turkey is resisting in both, the european and asian continent, the
European Unions needs to extend:
[[located_in::asian_continent]]
[[[[virtual::located_in]]::european_continent]]
Now, only turkey needs the extension of
[[located_in::asian_continent]]
to this rule. Anyway, in this example you could also state that the European
Union resists in all those Locations its Members are resisting. But this will
be more complex to implement--at least for the common user.
Relation:override
- -----------------
For the relations stated till now it should be possible to supress the need to
give a specific Relation or Attribute by overriding with a Null-Value in the
kind of:
[[Number_of_Inhabitants:=]]
or with the more consistent syntax
[[override::Numer_of_Inhabitants]]
Because the correct rendering of the factbox needs implicit reasoning within
SMW, and the syntax I've used for the Example of the virtual-Relation (which
seems to be less important then the abstract-Attribute anyway), this seems a
possible application to SMW 2.0, where there might be no real need for SMW 1.0.
But this techniques might lead to reduced work for users wanting a
standardisized minimum-set of knowledge for a specific Article type ie. for
building automatically generated tables.
lg, MovGP0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)
iD8DBQFFdOpjddQj+s6ozAwRAjd5AJwKBmKtnnneH1OqsS8U+F7Gx5vSQgCdE7B6
F6riF6QcBCbcvz/JNOe7TF4=
=r9CC
-----END PGP SIGNATURE-----
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Semediawiki-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/semediawiki-user