Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UML support #190

Open
ceteri opened this issue May 10, 2021 · 3 comments
Open

UML support #190

ceteri opened this issue May 10, 2021 · 3 comments
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects

Comments

@ceteri
Copy link
Collaborator

ceteri commented May 10, 2021

Provide support for working with UML diagrams as graphs, e.g., applying inference, shape constraints, probabilistic rules, etc.

These are the approximate steps to follow:

  1. Identify a reasonably small UML diagram to use as test case.
  2. Scope/Discovery: in what ways are UML diagrams represented commonly?
  1. Reuse a Python library or write new code to parse UML
  2. As this stage, @ceteri can assist on RDF semantic representation
  3. Add an import_uml method to KnowledgeGraph
@ceteri ceteri added enhancement New feature or request help wanted Extra attention is needed good first issue Good for newcomers labels May 10, 2021
@ceteri ceteri added this to To do in kglab May 10, 2021
@charlesvardeman
Copy link

There is a python tool called shacl2plantuml that can generate Plant UML from SHACL files that could be relatively straight forward to add to kglab. I think standard UML "boxology" is ok for SHACL but not expressive enough for an OWL or RDFS based ontology. Chowlk visual notation may be more useful for diagramming OWL based ontologies because of the added expressivity. There is a template for diagrams.net and a web service that can generate a turtle rdf serialization from the diagrams.net xml file. The workflow I am playing with/considering is excalidraw for collaborative concept mapping (I kind of like the "hand drawn" aesthetic) -> redraw concept map using chowlk notation in diagrams.net and generate initial OWL output in Turtle -> Protege for sanity check and additional formalism/annotations for FAIR ontologies -> committed to GitHub, generation of W3ID namespace that resolves to GitHub, Generation of Documentation using [PyLODE(https://github.com/RDFLib/pyLODE) or Widoco -> Generation of Shapes (SHACL or ShEx) generating a "closed world" based on application user stories/use case.

@ceteri
Copy link
Collaborator Author

ceteri commented May 26, 2021

Thank you so much @charlesvardeman !

Integrating shacl2plantuml into the SHACL features should be quick. If you'd like to drop in a PR, we'd be delighted – or I can put that in soon too.

BTW, have you seen anything attempting the opposite direction? In other words, parsing some popular means of representing UML diagrams, so that we could translate into the graph abstractions here?

@charlesvardeman
Copy link

Interesting new paper "Visual Notations for Viewing RDF Constraints with UnSHACLed" that combines VOWL and UML visualizations. There is a node based editor KNowledgeOnWebScaleunshacled. To be useful it would probably need to be integrated in with JupyterLab similar to the jupyterlab-drawio.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed
Projects
No open projects
kglab
  
To do
Development

No branches or pull requests

2 participants