PyMetaModel: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (34 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 11: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
