Difference between revisions of "PyMetaModel"
Jump to navigation
Jump to search
| (27 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
|title=pyMetaModel | |title=pyMetaModel | ||
|url=https://github.com/WolfgangFahl/pyMetaModel | |url=https://github.com/WolfgangFahl/pyMetaModel | ||
| − | |version=0. | + | |version=0.6.6 |
|description=Migration of https://wiki.bitplan.com/index.php/MetaModel#tab=Model | |description=Migration of https://wiki.bitplan.com/index.php/MetaModel#tab=Model | ||
| − | |date= | + | |date=2025-09-19 |
| − | |since=2022- | + | |since=2022-12-04 |
|storemode=property | |storemode=property | ||
}} | }} | ||
| + | {{pip|pyMetaModel}} | ||
| + | = Usage = | ||
| + | <source lang='bash'> | ||
| + | mm_cmd -h | ||
| + | usage: mm_cmd [-h] [--about] [--context CONTEXT] [--copyright COPYRIGHT] [-d] | ||
| + | [-i INPUT] [-l] [-t TITLE] [-u] [--wikiId WIKIID] | ||
| + | |||
| + | pyMetaModel: MetaModel for Knowledge Graphs | ||
| + | |||
| + | Created by Wolfgang Fahl on 2022-11-30. | ||
| + | Copyright 2022 Wolfgang Fahl. All rights reserved. | ||
| + | |||
| + | Licensed under the Apache License 2.0 | ||
| + | http://www.apache.org/licenses/LICENSE-2.0 | ||
| + | |||
| + | Distributed on an "AS IS" basis without warranties | ||
| + | or conditions of any kind, either express or implied. | ||
| + | |||
| + | USAGE | ||
| + | |||
| + | options: | ||
| + | -h, --help show this help message and exit | ||
| + | --about show about info [default: False] | ||
| + | --context CONTEXT context to read [default: MetaModel] | ||
| + | --copyright COPYRIGHT | ||
| + | copyright message for diagrams | ||
| + | -d, --debug show debug info | ||
| + | -i INPUT, --input INPUT | ||
| + | input file | ||
| + | -l, --linkml create linkml yaml file | ||
| + | -t TITLE, --title TITLE | ||
| + | the title of a diagram | ||
| + | -u, --uml create plantuml diagram | ||
| + | --wikiId WIKIID id of the wiki to generate for [default: wiki] | ||
| + | </source> | ||
| + | |||
| + | = Overview = | ||
| + | == Mermaid == | ||
| + | {{#mermaid: | ||
| + | erDiagram | ||
| + | Context { | ||
| + | |||
| + | } | ||
| + | Property { | ||
| + | |||
| + | } | ||
| + | SMWType { | ||
| + | |||
| + | } | ||
| + | Topic { | ||
| + | |||
| + | } | ||
| + | Action { | ||
| + | |||
| + | } | ||
| + | TopicLink { | ||
| + | |||
| + | } | ||
| + | }} | ||
| + | |||
| + | == PlantUML == | ||
| + | <uml> | ||
| + | title | ||
| + | MetaModel | ||
| + | 2015-2025 Wolfgang Fahl | ||
| + | end title | ||
| + | package MetaModel { | ||
| + | Note top of Context | ||
| + | A Context groups some topics like a Namespace/Package | ||
| + | End note | ||
| + | class Context { | ||
| + | name:Text | ||
| + | since:Date | ||
| + | updated:Date | ||
| + | copyright:Text | ||
| + | demo: URL | ||
| + | master:URL | ||
| + | } | ||
| + | Note top of Property | ||
| + | a Property is a Feature/Attribute of a Topic | ||
| + | End note | ||
| + | class Property { | ||
| + | name:Text | ||
| + | label:Text | ||
| + | type:Page | ||
| + | index:Number | ||
| + | sortPos:Number | ||
| + | primaryKey:Boolean | ||
| + | mandatory:Boolean | ||
| + | namespace:Text | ||
| + | size:Number | ||
| + | uploadable:Boolean | ||
| + | defaultValue:Code | ||
| + | inputType:Text | ||
| + | allowedValues:Text | ||
| + | documentation:Text | ||
| + | values_from:Code | ||
| + | externalFormatterURI:Text | ||
| + | showInGrid:Boolean | ||
| + | isLink:Boolean | ||
| + | nullable:Boolean | ||
| + | } | ||
| + | Note top of SMW_Type | ||
| + | an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/false values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes | ||
| + | End note | ||
| + | class SMW_Type { | ||
| + | type:Text | ||
| + | documentation:Text | ||
| + | id:Text | ||
| + | helppage:URL | ||
| + | typepage:Page | ||
| + | javaType:Text | ||
| + | } | ||
| + | Note top of Topic | ||
| + | A Topic is a Concept/Class/Thing/Entity | ||
| + | End note | ||
| + | class Topic { | ||
| + | name:Text | ||
| + | pluralName:Text | ||
| + | icon:Page | ||
| + | iconUrl:Code | ||
| + | documentation:Text | ||
| + | wikiDocumentation:Text | ||
| + | defaultstoremode:Text | ||
| + | listLimit:Number | ||
| + | cargo:Boolean | ||
| + | headerTabs:Boolean | ||
| + | } | ||
| + | Note top of Action | ||
| + | An action/function/operation to be performed | ||
| + | End note | ||
| + | class Action { | ||
| + | name:Text | ||
| + | servicetype:Text | ||
| + | service:URL | ||
| + | inputtype:Text | ||
| + | input:Code | ||
| + | actionpage:Page | ||
| + | output:Text | ||
| + | engine:Text | ||
| + | author:Page | ||
| + | since:Date | ||
| + | comment:Text | ||
| + | } | ||
| + | Note top of TopicLink | ||
| + | A TopicLink links two Concepts | ||
| + | End note | ||
| + | class TopicLink { | ||
| + | name:Text | ||
| + | source:Page | ||
| + | sourceRole:Text | ||
| + | sourceMultiple:Boolean | ||
| + | sourceDocumentation:Text | ||
| + | separator: Text | ||
| + | target:Page | ||
| + | targetRole:Text | ||
| + | targetMultiple:Boolean | ||
| + | targetDocumentation:Text | ||
| + | masterDetail:Boolean | ||
| + | } | ||
| + | } | ||
| + | Topic "topic 1" -- "properties *" Property | ||
| + | Topic "topic 1" -> "extends 1" Topic | ||
| + | Context "context 1" -- "topics *" Topic | ||
| + | Property "usedByProperties *" -- "smw_type 1" SMW_Type | ||
| + | |||
| + | ' BITPlan Corporate identity skin params | ||
| + | ' Copyright (c) 2015-2023 BITPlan GmbH | ||
| + | ' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI | ||
| + | ' skinparams generated by com.bitplan.restmodelmanager | ||
| + | skinparam note { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | skinparam component { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | skinparam package { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | skinparam usecase { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | skinparam activity { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | skinparam classAttribute { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | skinparam interface { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | skinparam class { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | skinparam object { | ||
| + | BackGroundColor #FFFFFF | ||
| + | FontSize 12 | ||
| + | ArrowColor #FF8000 | ||
| + | BorderColor #FF8000 | ||
| + | FontColor black | ||
| + | FontName Technical | ||
| + | } | ||
| + | hide Circle | ||
| + | ' end of skinparams ' | ||
| + | </uml> | ||
| + | |||
=tickets= | =tickets= | ||
Latest revision as of 13:44, 19 September 2025
OsProject
| OsProject | |
|---|---|
| id | pyMetaModel |
| state | active |
| owner | WolfgangFahl |
| title | pyMetaModel |
| url | https://github.com/WolfgangFahl/pyMetaModel |
| version | 0.6.6 |
| description | Migration of https://wiki.bitplan.com/index.php/MetaModel#tab=Model |
| date | 2025-09-19 |
| since | 2022-12-04 |
| until | |
Installation
pip install pyMetaModel
# alternatively if your pip is not a python3 pip
pip3 install pyMetaModel
# local install from source directory of pyMetaModel
pip install .
upgrade
pip install pyMetaModel -U
# alternatively if your pip is not a python3 pip
pip3 install pyMetaModel -U
Usage
mm_cmd -h
usage: mm_cmd [-h] [--about] [--context CONTEXT] [--copyright COPYRIGHT] [-d]
[-i INPUT] [-l] [-t TITLE] [-u] [--wikiId WIKIID]
pyMetaModel: MetaModel for Knowledge Graphs
Created by Wolfgang Fahl on 2022-11-30.
Copyright 2022 Wolfgang Fahl. All rights reserved.
Licensed under the Apache License 2.0
http://www.apache.org/licenses/LICENSE-2.0
Distributed on an "AS IS" basis without warranties
or conditions of any kind, either express or implied.
USAGE
options:
-h, --help show this help message and exit
--about show about info [default: False]
--context CONTEXT context to read [default: MetaModel]
--copyright COPYRIGHT
copyright message for diagrams
-d, --debug show debug info
-i INPUT, --input INPUT
input file
-l, --linkml create linkml yaml file
-t TITLE, --title TITLE
the title of a diagram
-u, --uml create plantuml diagram
--wikiId WIKIID id of the wiki to generate for [default: wiki]
Overview
Mermaid
PlantUML
