-
Notifications
You must be signed in to change notification settings - Fork 2
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
Conceptual model as single source of truth (chapters 2.1 and 7.1) #73
Comments
My experience is that json schema provides 90% of the needs (100% for most users) with a very simple syntax, lots of software libraries to integrate it and applications working on real scenarios in actual clients. |
Fully agree with @RiittaA on UML.
+1 Moreover UML was build with a specific focus: OOP. OOP classes are not RDF classes.
+1 We cannot introduce OOP abstractions just to have diagrams. Moreover, this is going to confuse people using UML for generating classes: they expect every single UML bit to be reflected in the actual running code! |
I think json schema is great for implementation, but not for conceptual models. This allows for easily adapting a conceptual model written in RDF/turtle to real implementations based on OpenAPI and JSON Schema. |
I think we should firstly agree on one thing in this topic. Namely the separation between a technical implementation format and representation for a semantical conceptual model. The goal is to create a data specification that is implementation agnostic, focuses only on the semantics and has the ability to connect with implementation choices. This holds for any implementation context: e.g.
Each and every implementation context MUST define its implementation mapping. Sometimes the effort can be limited, sometimes this is extremely complex. Now coming back to UML. This has led us to provide a common guideline on how to exploit the class diagram UML notation to make a diagram that resonates with a semantical textual description. Because the latter is the final goal: to express a semantical data specification: it is not the objective to prepare a OOP system implementation. Now you can argue what should be the editorial environment: the semantical RDF style represenatation and have the diagram derived from it, or start from the diagram and have the RDF derived from it. So the arguments pro or contra UML class diagram notation should not be about its binding to OOP system implementations. Every used "formal-ish" syntax will suffer from that. Note that this graphical notation discussion does not exclude the use of other visual representations. |
Thanks @bertvannuffelen for your reply. I understand the practical goal you expect from using UML. IMHO "exploiting" a notation/specification does not scale
For example, look at the (apparently trivial) work on interoperability between YAML, JSON, JSON-Schema and JSON-LD here https://github.com/ietf-wg-httpapi/mediatypes: weeks of analysis with various implementers to avoid conflicts on the fragment identifier, the standardization of JSON-Schema media type is on hold until YAML mediatype will be published, the YAML-LD work was spun off to the YAML-LD... Long story short, when you "exploit" specs there's always more than meets the eye.
I understood the problem was that the UML was the language used for defining the models, not for just the rendering. I think the problem is the above sentence. Instead, it is OK to define:
I have no problem in using UML just for data visualization. |
I am not sure what you want to argue here. But the complexity to align between technical representations is out-of-scope. What is within (future) scope is that a semantic data specification should provide the anchors to make a YAML implementation connectable with a JSON implementation. (i.e. the area of artefact generators). Technical formats and decisions are by definition ecosystem and organisation limited. The goal with this style guide is not fix a single XSD schema that everyone has to use, but it is about describing the semantics in such a way that profiling is transparently documented. |
We think that UML is not solid enough basis for conceptual modelling. We understand that UML has been chosen e.g. because of the graphical presentation that may be easier to business users to comprehend. But this may result in problems in later phases of the process. Therefore, we suggest an approach where the concepts are expressed in OWL, and the tool visualises them automatically or semi-automatically. Visualisation can be presented in UML-like notation. Shortly, the single source of truth should be based on a formal model, from which different representations are derived from.
The text was updated successfully, but these errors were encountered: