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

Review the Data Modeling in NIEM Project Note #72

Open
cabralje opened this issue Feb 3, 2024 · 10 comments
Open

Review the Data Modeling in NIEM Project Note #72

cabralje opened this issue Feb 3, 2024 · 10 comments

Comments

@cabralje
Copy link
Contributor

cabralje commented Feb 3, 2024

The NTAC has been asked to review the Data Modeling in NIEM Project Note

​From Dr. Scott:

I just pushed a new draft of the data modeling paper. This draft has everything I want to say in section 1 – all the introductory stuff that I want to have described before I talk about it in the metamodel, CMF, XSD sections. Looking for feedback like:

  • This isn’t explained very well; do it like this instead
  • Why are you even talking about this here?
  • Why didn’t you talk about FOO here?

I want to switch from writing to coding for a while: Put out a CMF 1.0-alpha that lines up with the metamodel, fix CMFTool to work with the new CMF.

I don’t know if the paper is going to remain “data modeling in NIEM”. I don’t know what to call it yet. Seems to me there could be new sections like this:

  • Rules for the metamodel; e.g. namespace URIs must be absolute URIs. NIEM6-XNDR has a list of 20+ NDRs that could be expressed at the metamodel level.
  • CMF mapped to metamodel. Easy, just add a CMF component name column in the metamodel property tables, then point them to the CMF spec.
  • Rules for CMF? Think these are all captured at metamodel level, but could be wrong…
  • CMF (or metamodel?) mapped to RDF; ie. RDF entailments of CMF components
  • XSD mapped to CMF
  • Rules for XSD – basically current NDR sections 9-12.
  • NIEM XML mapped to JSON-LD
@cabralje
Copy link
Contributor Author

cabralje commented Feb 3, 2024

Section 1.2 NIEM and RDF starts with "NIEM expresses semantics in terms of RDF plus well-known RDF vocabularies...". While technically correct, I think most readers will infer from this that they need to go learn RDF, RDF-S and OWL before they can use NIEM. As we know, this is all under the covers and most people modeling in NIEM don't really need to know or use those. I think we need say something like "NIEM semantics are based on RDF, etc., but you don't need to be familiar with these to use NIEM".

@cabralje
Copy link
Contributor Author

Section 1.5 introduces the term "community agreement model". We used to call this a "reference model". Is there a better name for this?

@cabralje
Copy link
Contributor Author

Section 2.2.2 has "Relationships between the Augmentation, ClassType, and Property classes in the metamodel exist, but are not shown on the UML diagram." We should either include these relationships in the UML diagram or explain why they are not shown.

@cabralje
Copy link
Contributor Author

Section 1.7 defines augmentation and 1.8 defines relationship properties. For completeness, shouldn't Section 1 also define classes, properties, data types, data properties, code lists, and local terms?

@cabralje
Copy link
Contributor Author

We should define "domain" somewhere, probably in Section 1.5.

@cabralje
Copy link
Contributor Author

Replace "builtin" either with "BUILTIN" or "built-in".

@cabralje
Copy link
Contributor Author

Define "RefCodeType" in Section 2

@cabralje
Copy link
Contributor Author

Define MaxOccursType in Section 2.

@cabralje
Copy link
Contributor Author

Define Facet in Section 2.

@cabralje
Copy link
Contributor Author

Section 2.5 includes "EXTERNAL – a non-conforming namespace that is not a builtin namespace" and "BUILTIN – a namespace in the NIEM XSD technical architecture (e.g. structures, appinfo)". The definition of EXTERNAL appears to incorrectly use the term "builtin".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant