Thread:Semantic-mediawiki.org:Community portal/Product database/reply (4)

I have successfully installed new MW 1.26 and SMW extension. Now I'm doing tests and thinking how to specify the properties of product and its variants, best if I do not need to repeat them.

For example we have a product A:
 * CPU: MPC5200B
 * LCD size: 10.4"
 * LCD resolution: 640x480 or 800x600
 * RAM memory: 256MB
 * MRAM memory: 1MB
 * Interfaces: Ethernet, USB, video in, audio out

Product A variant /A:
 * LCD resolution: 640x480
 * Interfaces: 3x Ethernet, 2x USB, 0x video in, 0x audio out

Product A variant /B:
 * LCD resolution: 800x600
 * Interfaces: 1x Ethernet, 1x USB, 1x video in, 1x audio out

You see there are attributes that are common to all variants, but there are attributes that are different for each variant. I would like to be able to find:
 * 1) all products that have LCD, resolution (at least) 800x600 and Ethernet and USB interfaces
 * 2) * will find "Product A"
 * 3) all product variants that have LCD, resolution (at least) 800x600 and Ethernet and USB interfaces
 * 4) * will find "Product A/B"
 * 5) all products that have LCD and at least 2xEthernet and 1xUSB interfaces
 * 6) * will find "Product A"
 * 7) all product variants that have LCD and at least 2xEthernet and 1xUSB interfaces
 * 8) * will find "Product A/A"

Actually the last two should satisfy our needs, as the search 1 and 2 is a subset.

I'm in doubt, how to specify the product "has interface" and how to specify the interface count. Also how to share the attributes between the product and its variants so I do not need to specify for example the changing attributes for product and the common attributes for variants.

I could do Has interface:Ethernet Has interface:USB or Has Ethernet interfaces:3 Has USB interfaces:2

Last but not least, on the product page I have now a table showing all variants and the available interfaces. The table shows, which exact interfaces are available: If there are 3 Ethernet ports, there are connectors labeled as ETH-1, ETH-2 and ETH-3. E.g. product variant A can offer ETH-1, ETH-2 and ETH-3 whilst variant B only ETH-2. This is than visualised in 3 columns - and each variant has either + or - if the interface is available or not. Not sure how to store and show this info using SMW.

I would be thankful for any tips.