Dataspects Business Aspects
HasMarketingPage https://dataspects.com/structured-data-management-suite HasCommunityProjectResource https://www.mediawiki.org/wiki/StructuredDataManagementSuite HasCommunityProjectResource https://phabricator.wikimedia.org/T177496
What's the story behind Application "dataspects"?
Application "dataspects" is a Ruby command-line application for managing/refactoring Semantic MediaWikis. It supports the following use cases:
It plays a vital role in Discuss UseCase "Manage MediaWiki-centric enterprise knowledge management".
It uses connection and configuration profiles (declared in YAML files) for all SMWs that you want to work with.
It supports 2 levels of content/process directives:
- simple (specified within the context of the command line command)
- complex (specified in content-/process-references)
How can Application "dataspects" be used?
Each use case works with a set of pages originating somewhere
This set of
SMWCindyKate::Page instances into its
@pages[page.sPageName] = page:
You can then define selections of pages using these methods
You can then filter these page selections using these methods
In order to reduce complexity, the following NOT_ selectors only select pages if all but the leftmost arguments match.
I.e. for a page to be selected by
NOT_having_FIELD_VALUE_for_FIELD_NAME_in_TEMPLATE_NAME, it must have FIELD_NAME in TEMPLATE_NAME.
If you want to select pages which "don't have FIELD_VALUE in FIELD_NAME" because they don't have FIELD_NAME to begin with, you have to use
On filtered page selections you can mutate wikitext using these methods
When done, you can use these methods to store pages
Finally, you can use monitoring methods for quality control
Methods and Testing
Concepts and Architecture
Example: Using a facets-management-script.rb for managing facets
The command's synopsis is as follows:
[email protected]:~$ SDMS --profile ~/profiles.yaml content manage facets-management-script.rb
- profiles.yaml is passed into the script as @profile (for information about what this contains, see Concept "Connection and Configuration Profiles")
- all command line options are passed into the script as @options