Release status: beta
|Description||Provides a form to help with property chains in Semantic MediaWiki queries involving multiple related categories.|
|Author(s)||Marco Falda <firstname.lastname@example.org>|
|Latest version||0.1.0 (January 2022)|
|Compatibility policy||Master maintains backward compatibility.|
|License||GNU General Public License 2.0 or later|
Property Chains Helper is an extension to Semantic MediaWiki that provides a special page for helping the specification of the correct property chains needed to address properties in queries involving related categories.
Clone 'PropChainsHelper' via Git, place this directory within the main MediaWiki 'extensions' directory. Then, in the file 'LocalSettings.php' in the main MediaWiki directory add the following line:
wfLoadExtension( 'PropChainsHelper' );
To describe the database structure populate the global variables
$pchLinkProps. There is also the possibility to help with the domains of categorical variables by filling the
$pchDomains global variable.
$pchCatLevelsis an associative array with the level of each category, for example:
$pchCatLevels = [ 'Patients' => 0, 'Positives' => 1, // second level (first chain) 'Samplings' => 1 // second level (second chain) ];
$pchPropLevelsis an associative array with the chain numbers and their level. Suppose for instance that there are two chains 'Patients -> Positives' and 'Patients -> Samplings' with a common root and the properties are:
- Patient(Age_of_patient, Gender_of_patient)
- Positives(Contact_of_positive, Type_of_contact)
- Samplings(Date_of_sampling, Result_of_sampling)
$pchPropLevels will be written as:
$pchPropLevels = [ "Age_of_patient" => [0, 0], // First (and second) chain, first level "Gender_of_patient" => [0, 0], "Contact_of_positive" => [0, 1], // First chain, second level "Type_of_contact" => [0, 1], "Date_of_sampling" => [1, 1], // Second chain, second level "Result_of_sampling" => [1, 1], ];
$pchLinkPropsis an associative array with the link properties for each chain, for example in the previous case both the 'Positives' and 'Samplings' chains are linked with the property 'Has Patient':
$pchLinkProps = [ ['Has Patient'], // to Positives ['Has Patient'] // to Samplings ];
In the case more levels are present, the previous array would become an irregular array.
$pchDomainsis useful for helping with categorical domains, for example:
$pchDomains = [ "Gender_of_patient" => ["M", "F"] ];
Property Chains Helper defines a special page, at "Special:PropChainsHelper".
The page "Special:PropChainsHelper" displays a form that can be filled out with the category and the properties. The properties can be considered as printouts or filters. The next step is to prepare the semantic query by clicking on the button: the printouts and the criteria prefixed with the needed property chains will appear below. Finally, running the query will prefill a semantic search form with conditions, filters and printouts and it will execute it.
Contributing to the projectEdit
Bugs and feature requestsEdit
Send any bug reports and requests to Marco Falda (marco.falda gmail.com).
Contributing patches to the projectEdit
If you found bugs and fixed it please create a patch.
git diff >filename.patch
If you created a patch you can send it to Marco Falda.