-
Notifications
You must be signed in to change notification settings - Fork 3
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
Justification #46
Comments
CN02 has an up-front section on Motivation for JADN. The introductory paragraph is very concise and could be expanded with a brief summary of the benefits of JADN, something along the lines of:
This could be followed by a brief example in JIDL form with its corresponding JSON Schema and XSD representations before diving into the 1.1.x subsections. Ideally that example would showcase a meaningful range of JADN data types without trying to be exhaustive (i.e., overwhelming). More detail related to the problems identified above could be added throughout 1.1.x but starting with "accentuating the positive" seems like a good strategy. |
Great set of bullets. The examples in the introduction probably cannot cover a "meaningful range" without being overwhelming, but something with a Record, a Choice and an Enumerated (e.g., an excerpt from the music library) might do the trick. |
I'm thinking that the Track-Info record from the music library (with some explanatory tweaking of the comments) has enough variety of types, provides a good example of how concise JIDL is vs. JSON or XML schema, and can be supported with a forward reference to the full example later in the document. It does lack a
We don't show much by way of examples of |
It would be good to have a description of "what problems does it solve" near the beginning, because people aren't going to read about it if they don't know what it adds to the tools and techniques they are currently using. This isn't well-thought-out yet to propose text, but something like:
Problem: different strings representing the same thing can't be compared for equality or sorted into order. There's no way to compare times without converting to a common format; the information 1690402891 decimal or 64C1804B hex correspond to time in a wide variety of formats (XSD has 9 different built-in times):
"07/26/2023 @ 4:21pm"
"2023-07-26T16:21:31+00:00"
"Wed, 26 Jul 2023 16:21:31 +0000"
"Wednesday, 26-Jul-23 16:21:31 UTC"
JSON at least has a number type, but XSD has only strings - "decimal" is a string of digits, and "integer" is a subclass of decimal with no fractional digits. That's backwards, and because XSD doesn't it can't tell that "1.0E6" is the same as "1,000,000" or "1000000".
Problem: UML has four fundamental kinds of collections: ordered/unordered + unique/non-unique. Defining those 4 as information building blocks with standard representations in JSON and XML would allow [25, 89] to be recognized as equal to {"x": 25, "y": 89}
Problem: RDF has widespread adoption, but it is saddled with being based on XML and its string and structure limitations. RDF defines datatypes but does not require support for them or define any mechanism to define them, nobody uses them. An IM could be the basis for an "Information RDF" where "time" information values are distinguished from lexical representations and datatypes like {"x": 25, "y": 89} can be defined, operated on, and reasoned about without the overhead of assigning indices and cluttering the graph with unnecessary nodes. JSON Schema with path property names, regexes, and ABNF as datatype expressions usable directly in RDF/XML should be explored.
(That was the motivation for updating the parsing diagram to include classtype and datatype as distinct kinds of collection).
Problem: complex-to-read schemas. The advantage of using JIDL as a template language for JSON Schema and XSD should be highlighted up front. JADN needs to be translated into existing technologies supported by mature tools in order to be accepted, it can't be pitched as an alternative. The vision of "common front end for XML, JSON, plus CBOR, Protobuf" needs better explanation.
The text was updated successfully, but these errors were encountered: