Misplaced Pages

NIEMOpen

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

NIEMOpen ( neemopen ), frequently referred to as NIEM, originated as an XML -based information exchange framework from the United States , but has transitioned to an OASIS Open Project . This initiative formalizes NIEM's designation as an official standard in national and international policy and procurement. NIEMOpen's Project Governing Board recently approved the first standard under this new project; the Conformance Targets Attribute Specification (CTAS) Version 3.0. A full collection of NIEMOpen standards are anticipated by end of year 2024.

#144855

87-630: NIEM offers a common vocabulary that enables effective information exchanges across diverse public and private organizations. NIEM is currently developing the NIEM Metamodel and Common Model Format which can be expressed in any data serialization that NIEM supports, including, but not limited to JSON . Formed from an interagency partnership, NIEM has come to represent a collaborative partnership of agencies and organizations across all levels of government (federal, state, tribal, and local) in addition to private industry. The purpose of this partnership

174-750: A configuration language . However, it does not support comments . In 2012, Douglas Crockford, JSON creator, had this to say about comments in JSON when used as a configuration language: "I know that the lack of comments makes some people sad, but it shouldn't. Suppose you are using JSON to keep configuration files, which you would like to annotate. Go ahead and insert all the comments you like. Then pipe it through JSMin before handing it to your JSON parser." MongoDB uses JSON-like data for its document-oriented database . Some relational databases, such as PostgreSQL and MySQL, have added support for native JSON data types. This allows developers to store JSON data directly in

261-455: A JSON-based format to define the structure of JSON data for validation, documentation, and interaction control. It provides a contract for the JSON data required by a given application and how that data can be modified. JSON Schema is based on the concepts from XML Schema (XSD) but is JSON-based. As in XSD, the same serialization/deserialization tools can be used both for the schema and data, and it

348-785: A MarriageAssociationType to represent the fact they are married. The MarriageAssociationType could contain its own properties, such as date of marriage, number of children, date of divorce, death of one spouse, etc. Augmentation of a NIEM data type allows the addition of domain- or model-specific information to the concept embodied in the NIEM type, without creating a new NIEM type. It would be impractical and unwieldy to include all possible domain model-specific properties in NIEM Core schemas for general use. Instead, domain modelers need to be able define data for their use, independently from common definitions. Furthermore, that data needs to be applicable to

435-411: A Web server by holding two Hypertext Transfer Protocol (HTTP) connections open and recycling them before standard browser time-outs if no further data were exchanged. The cofounders had a round-table discussion and voted on whether to call the data format JSML (JavaScript Markup Language) or JSON (JavaScript Object Notation), as well as under what license type to make it available. The JSON.org website

522-463: A cohesive group of data stewards who are subject matter experts (SMEs), have some level of authority within the domains they represent, and participate in the processes related to harmonizing conflicts and resolving data component ambiguities. Communities of Interest. Communities of interest (COIs) are collaborative groups of users who exchange information in pursuit of shared goals, interests, missions, or business processes and who therefore must have

609-457: A correct subset, however the IEPD specification requires that an IEPD include an exchange schema (along with the reference schemas or subsets) to be considered a complete IEPD. The NIEM schemas may import additional schemas, such as code table schemas, as needed. An optional extension schema may be used to add extended types and properties for components not contained in NIEM, but which are needed for

696-467: A practice which would have destroyed interoperability." JSON disallows "trailing commas", a comma after the last value inside a data structure. Trailing commas are a common feature of JSON derivatives to improve ease of use. RFC 8259 describes certain aspects of JSON syntax that, while legal per the specifications, can cause interoperability problems. In 2015, the IETF published RFC 7493, describing

783-572: A relational database without having to convert it to another data format. JSON being a subset of JavaScript can lead to the misconception that it is safe to pass JSON texts to the JavaScript eval () function. This is not safe, due to certain valid JSON texts, specifically those containing U+2028 LINE SEPARATOR or U+2029 PARAGRAPH SEPARATOR , not being valid JavaScript code until JavaScript specifications were updated in 2019, and so older engines may not support it. To avoid

870-424: A replacement for XML-RPC or SOAP . It is a simple protocol that defines only a handful of data types and commands. JSON-RPC lets a system send notifications (information to the server that does not require a response) and multiple calls to the server that can be answered out of order. Asynchronous JavaScript and JSON (or AJAJ) refers to the same dynamic web page methodology as Ajax , but instead of XML , JSON

957-415: A role when the role has specific data associated with it and its own life cycle. A role type has a property, RoleOf, which indicates what object is assuming this role. A single entity may assume multiple roles. For example, many different entities may assume the role of a weapon. Therefore, if a vehicle is used as a weapon (to attempt to injure or kill a person), then an instance of WeaponType would contain

SECTION 10

#1732781069145

1044-534: A shared vocabulary for the information they exchange. COIs reuse data components and artifacts found in NIEM to document their information exchanges. One or more COIs can coordinate to develop new domain content as they identify gaps in the data components needed for documenting information exchanges. NIEM Conformance. There are NIEM conformance rules that serve as guidelines for agencies utilizing NIEM to implement their information sharing exchanges. Grantees developing inter-agency XML-based exchanges must comply with

1131-469: A single value and each attribute can appear at most once on each element. XML separates "data" from "metadata" (via the use of elements and attributes), while JSON does not have such a concept. Another key difference is the addressing of values. JSON has objects with a simple "key" to "value" mapping, whereas in XML addressing happens on "nodes", which all receive a unique ID via the XML processor. Additionally,

1218-553: A system. The system was sold to Sun Microsystems , Amazon.com , and EDS . JSON was based on a subset of the JavaScript scripting language (specifically, Standard ECMA -262 3rd Edition—December 1999 ) and is commonly used with JavaScript, but it is a language-independent data format. Code for parsing and generating JSON data is readily available in many programming languages . JSON's website lists JSON libraries by language. In October 2013, Ecma International published

1305-474: A training video series on NIEM.gov/learn that includes a technical deep dive and is intended to support developers and implementers. Monthly users can sign up for virtual training sessions which includes the pre-recorded videos in addition to a live session with a NIEM expert who will answer questions in real-time. NIEM.gov provides written training materials, such as briefings and process-related documentation on NIEM GitHub , as well as other resources, such as

1392-574: A universal component, consensus by all domains is needed on the semantics and structure of the component. The set of NIEM universal components is stable (once established) and relatively small. Domains. For purposes of NIEM, a domain refers to a business enterprise broadly reflecting the agencies, units of government, operational functions, services, and information systems which are organized or affiliated to meet common objectives. NIEM domains are organized to facilitate governance, and each has some measure of persistency. Each domain traditionally includes

1479-574: A user friendly interface and smarter search results. It is also open source: the community who inspired its creation can contribute to it. The Migration Tool enables the user to upgrade a NIEM XML Schema release subset generated by the SSGT to the next release. Multiple migrations can be run to upgrade to a non-consecutive release. See the NIEM Tools Catalog for other tools developed by the NIEM community. As of December 2022, NIEM 5.2

1566-510: A valid JSON text must consist of only an object or an array type, which could contain other types within them. This restriction was dropped in RFC   7158 , where a JSON text was redefined as any serialized value. Numbers in JSON are agnostic with regard to their representation within programming languages. While this allows for numbers of arbitrary precision to be serialized, it may lead to portability issues. For example, since no differentiation

1653-400: Is a commonly used data format with diverse uses in electronic data interchange , including that of web applications with servers . JSON is a language-independent data format. It was derived from JavaScript , but many modern programming languages include code to generate and parse JSON-format data. JSON filenames use the extension .json . Douglas Crockford originally specified

1740-497: Is a tangible representation of the entire NIEM data dictionary. It includes all of the element names that are organized hierarchically under core data components (person, property, organization, etc.) with hyperlinks to related elements. This spreadsheet also provides information on the type of data being represented (date, integer, string, etc.) and a precise, context-rich definition of each dictionary component. The Schema Subset Generation Tool (SSGT) enables users to search through

1827-514: Is allowed and ignored around or between syntactic elements (values and punctuation, but not within a string value). Four specific characters are considered whitespace for this purpose: space , horizontal tab , line feed , and carriage return . In particular, the byte order mark must not be generated by a conforming implementation (though it may be accepted when parsing JSON). JSON does not provide syntax for comments . Early versions of JSON (such as specified by RFC   4627 ) required that

SECTION 20

#1732781069145

1914-470: Is also owned by 3DO ). Upon discovery of early Ajax capabilities, digiGroups, Noosh, and others used frames to pass information into the user browsers' visual field without refreshing a Web application's visual context, realizing real-time rich Web applications using only the standard HTTP, HTML, and JavaScript capabilities of Netscape 4.0.5+ and Internet Explorer 5+. Crockford then found that JavaScript could be used as an object-based messaging format for such

2001-520: Is also valid JavaScript syntax. The specification was started in 2012 and finished in 2018 with version 1.0.0. The main differences to JSON syntax are: JSON5 syntax is supported in some software as an extension of JSON syntax, for instance in SQLite . JSONC (JSON with Comments) is a subset of JSON5 used in Microsoft's Visual Studio Code : Several serialization formats have been built on or from

2088-563: Is built to ensure conformant subsets and development without requiring implementers to have detailed knowledge of the formal Naming and Design Rules. Additionally tools such as the CAM toolkit can check schema for NDR conformance, compare to NIEM dictionary and report potential interoperability issues. The NIEM IEPD Lifecycle and other best practice models for developing exchanges take full advantage of these tools to help ensure consistent design and development. Information Exchange Packages (IEPs) and

2175-513: Is for the sender and receiver of information to share a common, unambiguous understanding of the meaning of that information. Conformance to NIEM ensures that a basic core set of information (the NIEM components) is well understood and carries the same consistent meaning across various communities. The result enables a level of interoperability to occur that would be unachievable with the proliferation of custom schemas and dictionaries. These conformance rules serve as guidelines for any agency utilizing

2262-422: Is made between integer and floating-point values, some implementations may treat 42 , 42.0 , and 4.2E+1 as the same number, while others may not. The JSON standard makes no requirements regarding implementation details such as overflow , underflow , loss of precision, rounding, or signed zeros , but it does recommend expecting no more than IEEE 754 binary64 precision for "good interoperability". There

2349-405: Is necessary is the serialization of data types that are not part of the JSON standard, for example, dates and regular expressions . The official MIME type for JSON text is application/json , and most modern implementations have adopted this. Legacy MIME types include text/json , text/x-json , and text/javascript . The standard filename extension is .json. JSON Schema specifies

2436-535: Is no inherent precision loss in serializing a machine-level binary representation of a floating-point number (like binary64) into a human-readable decimal representation (like numbers in JSON) and back since there exist published algorithms to do this exactly and optimally. Comments were intentionally excluded from JSON. In 2012, Douglas Crockford described his design decision thus: "I removed comments from JSON because I saw people were using them to hold parsing directives,

2523-401: Is not a data interchange language. CBOR has a superset of the JSON data types, but it is not text-based. Ion is also a superset of JSON, with a wider range of primary types, annotations, comments, and allowing trailing commas. XML has been used to describe structured data and to serialize objects. Various XML-based protocols exist to represent the same kind of data structures as JSON for

2610-476: Is not a rigid standard that must be used exactly as it is in its entirety. NIEM was designed as a core set of building blocks that are used as a consistent baseline for creating exchange documents and transactions across government. While an XML Schema rendering of the entire model exists, it is not a requirement for NIEM conformance that this entire schema be used for validation. Nonetheless, there are several conformance requirements. The goal of NIEM conformance

2697-465: Is not the fifth version of JSON). YAML version 1.2 is a superset of JSON; prior versions were not strictly compatible. For example, escaping a slash / with a backslash \ is valid in JSON, but was not valid in YAML. YAML supports comments, while JSON does not. CSON (" CoffeeScript Object Notation") uses significant indentation , unquoted keys, and assumes an outer object declaration. It

NIEMOpen - Misplaced Pages Continue

2784-452: Is self-describing. It is specified in an Internet Draft at the IETF, with the latest version as of 2024 being "Draft 2020-12". There are several validators available for different programming languages, each with varying levels of conformance. The JSON standard does not support object references , but an IETF draft standard for JSON-based object references exists. JSON-RPC is a remote procedure call (RPC) protocol built on JSON, as

2871-872: Is sponsored by the Joint Staff J6 Directorate within the U.S. Department of Defense, the Department of Homeland Security Science and Technology Directorate (DHS S"&"T), the FBI Criminal Justice Information Services (CJIS) within the U.S. FBI, Equivant, Georgia Tech Research Institute, the National Association for Justice Information Systems, sFractal Consulting LLC, the IJIS Institute, the US Department of Transportation, and

2958-557: Is the current release. It was released on December 23, 2022, and contains minor changes. Notable to NIEM 5.2 are these changes to content and tools. Changes to the specifications, and tools are reflected below: JSON JSON ( JavaScript Object Notation , pronounced / ˈ dʒ eɪ s ən / or / ˈ dʒ eɪ ˌ s ɒ n / ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of name–value pairs and arrays (or other serializable values). It

3045-589: Is the current version of the Internet Standard STD 90, and it remains consistent with ECMA-404. That same year, JSON was also standardized as ISO/IEC 21778:2017. The ECMA and ISO/IEC standards describe only the allowed syntax, whereas the RFC covers some security and interoperability considerations. JSON grew out of a need for a real-time server-to-browser session communication protocol without using browser plugins such as Flash or Java applets,

3132-452: Is the data component. Data components are the basic business data elements that represent real-world objects and concepts. Information exchanged between agencies can be broken down into individual components – for example, information about people, places, material things, and events. Components that are frequently and uniformly used in practice are specified in NIEM and can then be reused by practitioners for information exchanges, regardless of

3219-472: Is the data format. AJAJ is a web development technique that provides for the ability of a web page to request new data after it has loaded into the web browser . Typically, it renders new data from the server in response to user actions on that web page. For example, what the user types into a search box , client-side code then sends to the server, which immediately responds with a drop-down list of matching database items. JSON has seen ad hoc usage as

3306-465: Is to effectively and efficiently share critical information at key decision points throughout the whole of the justice , public safety , emergency and disaster management , intelligence , United States Department of Defense and homeland security enterprise. NIEM is designed to develop, disseminate, and support enterprise-wide information exchange standards and processes that will enable jurisdictions to automate information sharing. Today, NIEMOpen

3393-551: The Internet Engineering Task Force obsoleted RFC   7159 when it published RFC   8259 , which is the current version of the Internet Standard STD 90. Crockford added a clause to the JSON license stating, "The Software shall be used for Good, not Evil", in order to open-source the JSON libraries while mocking corporate lawyers and those who are overly pedantic. On the other hand, this clause led to license compatibility problems of

3480-551: The National Information Sharing Standards Help Desk and Knowledge Base . Training provides the knowledge and know-how stakeholders need to use the tools and other capabilities provided by NIEM. NIEM tools and training opportunities are further described below. Other training materials, such as executive briefings, marketing material, and briefings for conferences and workshops, are offered from time to time and are tailored depending on

3567-523: The Unicode line terminators U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR to appear unescaped in quoted strings, while ECMAScript 2018 and older do not. This is a consequence of JSON disallowing only "control characters". For maximum portability, these characters should be backslash-escaped. JSON exchange in an open ecosystem must be encoded in UTF-8 . The encoding supports

NIEMOpen - Misplaced Pages Continue

3654-592: The United States Department of Justice 's Global Justice XML Data Model (GJXDM) project. As an interagency project it was expanded to include other federal and state agencies such as the Office of the Director of National Intelligence , United States Department of Defense , Federal Bureau of Investigation , Texas , Florida , New York , Pennsylvania , and others. NIEM is designed to facilitate

3741-411: The "I-JSON Message Format", a restricted profile of JSON that constrains the syntax and processing of JSON to avoid, as much as possible, these interoperability issues. While JSON provides a syntactic framework for data interchange, unambiguous data interchange also requires agreement between producer and consumer on the semantics of specific use of the JSON syntax. One example of where such an agreement

3828-765: The IEPDs that define them conform to the NIEM; systems do not. The way data is labeled or used in one system does not impact NIEM conformance. Conformance depends upon how data is packaged as XML for an information exchange to be shared between two or more systems. Use of some components of the NIEM to exchange information with other agencies does not guarantee conformance to NIEM. Users should be careful to avoid violating conformance Rule 2, listed above. An information exchange either conforms to NIEM or it does not. To support government-wide information sharing, all recipients of grants for projects implementing information exchange capabilities using XML technology are required to use

3915-642: The JADC2 Reference Architecture (RA) Version 3.0 Enclosure D (JADC2 Capability Development and Analytical Framework) within the Application and services, Interface and Data & Information principals. JADC2 Reference Design (RD) Version 1.0, Standard View 2 (StdV-2). NIEM most recently was referred to as the National Information Exchange Model. That interagency government project was an outgrowth of

4002-517: The JSON format in the early 2000s. He and Chip Morningstar sent the first JSON message in April 2001. The 2017 international standard (ECMA-404 and ISO/IEC 21778:2017) specifies that "JSON" is "pronounced / ˈ dʒ eɪ . s ə n / , as in ' Jason and The Argonauts ' ". The first (2013) edition of ECMA-404 did not address the pronunciation. The UNIX and Linux System Administration Handbook states, " Douglas Crockford , who named and promoted

4089-423: The JSON format, says it's pronounced like the name Jason. But somehow, 'JAY-sawn' seems to have become more common in the technical community." Crockford said in 2011, "There's a lot of argument about how you pronounce that, but I strictly don't care." After RFC 4627 had been available as its "informational" specification since 2006, JSON was first standardized in 2013, as ECMA -404. RFC 8259, published in 2017,

4176-438: The JSON license with other open-source licenses since open-source software and free software usually imply no restrictions on the purpose of use. The following example shows a possible JSON representation describing a person. Although Crockford originally asserted that JSON is a strict subset of JavaScript and ECMAScript , his specification actually allows valid JSON documents that are not valid JavaScript; JSON allows

4263-403: The JSON specification. Examples include NIEM Conformance The National Information Exchange Model (NIEM) is the result of a collaborative effort by the United States Department of Justice and Department of Homeland Security to produce a set of common, well-defined data elements to be used for data exchange development and harmonization. NIEM is a reference model . This means it

4350-859: The NIEM Concept of Operations (ConOps) and NIEM Naming and Design Rules. These concepts are still being developed as NIEM continues to grow and mature. For an example of how the Global Justice Information Sharing Initiative has developed a user guide for the Global Justice XML Data Model (GJXDM), and for links to all other information related to the justice-specific model, visit the Global Justice XML Data Model website. In addition to document support, tools are also provided to help simplify conformance when developing exchanges. The NIEM Schema Subset Generation Tool (SSGT), along with others,

4437-552: The NIEM NDR. See Tools section below for information on creating EIEM dictionaries. NIEM provides a reference set of tools freely available with each NIEM release. The tools implement all of the structural and content features of the release, including the NIEM NDR. NIEM's well-defined interfaces and output products also support the development of independent third-party tools. Example supporting third-party tools are listed below. The NIEM XML data dictionary spreadsheet

SECTION 50

#1732781069145

4524-542: The NIEM User Guide and the NIEM NDR. The NIEM data model uses concepts originating from object-oriented programming (OOP). OOP defines a class as a specific entity in the data model, which may represent a real-world object but may also represent any conceptual object , such as relationships and messages. An object's properties are said to describe the object. When the NIEM XML Schemas are generated from

4611-412: The NIEM data model, data model classes are represented as XML Schema types, and data model properties are represented as XML elements and attributes. There are two approaches for extending the NIEM data model for use in information exchange schemas and documents. Specialization is used when a base object class (type) contains or can be subcategorized into a more specific subclass. When this can be done,

4698-416: The NIEM data model, view information about NIEM elements and types, and build a custom XML Schema subset of a NIEM release. The NIEM data model contains over 12,000 elements and represents over a dozen domains; subsets allows users developing an IEPD to select only what they need based on the specific requirements of the exchange. With this tool users can: The Conformance Testing Assistant (ConTesA) enables

4785-458: The NIEM data object itself, and reusable in multiple exchanges. The augmentation approach built into NIEM utilizes XML Schema constructs to reuse the existing XML schema representations for the data model, by allowing them to be augmented with the new information. NIEM uses several techniques from XML Schema to allow as-needed element substitutions for pre-existing NIEM properties and into pre-existing NIEM types. Element substitution techniques allow

4872-415: The NIEM to implement their information sharing exchanges. Grantees that are developing inter-agency XML-based exchanges must comply with the special condition language contained in the grant, and follow the associated NIEM implementation guidelines outlined below. The rules for NIEM conformance are as follows: Further guidance on the proper development of conformant exchange schemas is provided in part by

4959-467: The National Information Exchange Model (NIEM) in accordance with these Implementation Guidelines. Grantees are further required to assemble, register and make available without restriction all IEPDs and related artifacts generated as a result of the grant to the component registry. Assembly of NIEM IEPDs within the NIEM IEPD Tool is optional. However, NIEM IEPDs must be assembled in accordance with

5046-529: The Virginia Office of Data Governance and Analytics. NIEM provides a working and collaborative partnership among governmental agencies, operational practitioners, systems developers, and standards bodies across Federal, State, Local, Tribal, Territorial, International and Private organizations. NIEM has been identified as a key enabler for Joint All Domain Command and Control (JADC2) . NIEM is cited in

5133-552: The Web site will expand as the hub for these supplemental resources. NIEM adopts standard XML schema constructs and methods, such as roles, associations, and augmentation from industry standards, such as the World Wide Web Consortium (W3C) XML Schema language. The NIEM reference schemas are a set of interrelated schemas that define NIEM data components. Each schema defines its own target namespace. Schemas in

5220-447: The XML standard defines a common attribute xml:id , that can be used by the user, to set an ID explicitly. XML tag names cannot contain any of the characters !"#$ %&'()*+,/;<=>?@[\]^`{|}~ , nor a space character, and cannot begin with - , . , or a numeric digit, whereas JSON keys can (even if quotation mark and backslash must be escaped). XML values are strings of characters , with no built-in type safety . XML has

5307-504: The audience. A selection of online materials are also available both from the main NIEM.gov web site and resources such as Youtube.com (search on NIEM training). The NIEM Web site serves as a primary means by which NIEM can provide the latest documentation and downloads to those interested in NIEM. It also serves as a starting point for those wishing to contact NIEM staff with questions, support, and information requests. As related projects, tools, and support resources develop around NIEM,

SECTION 60

#1732781069145

5394-553: The concept of schema , that permits strong typing, user-defined types, predefined tags, and formal structure, allowing for formal validation of an XML stream. JSON has several types built-in and has a similar schema concept in JSON Schema . XML supports comments, while JSON does not. Support for comments and other features have been deemed useful, which has led to several nonstandard JSON supersets being created. Among them are HJSON, HOCON, and JSON5 (which despite its name,

5481-475: The creation of automated enterprise-wide information exchanges which can be uniformly developed, centrally maintained, quickly identified and discovered, and efficiently reused. The following key concepts are essential to understanding the purpose, architecture, processes, and other capabilities of NIEM, as well as to establish a common knowledge base with which to develop the ability to use NIEM effectively. Data Components. The fundamental building block of NIEM

5568-475: The dominant methods used in the early 2000s. Crockford first specified and popularized the JSON format. The acronym originated at State Software, a company cofounded by Crockford and others in March 2001. The cofounders agreed to build a system that used standard browser capabilities and provided an abstraction layer for Web developers to create stateful Web applications that had a persistent duplex connection to

5655-561: The exchange. The naming and design rules for NIEM are documented in the NIEM NDR , which specifies the data model, XML components, and XML data for use with NIEM and provides a basis for NIEM conformance . The current version is NDR v5.0, which was released on December 18, 2020. NIEM is based on several concepts from the International Organization for Standardization (ISO) 11179 , which provides guidelines for

5742-437: The first edition of its JSON standard ECMA-404. That same year, RFC   7158 used ECMA-404 as a reference. In 2014, RFC   7159 became the main reference for JSON's Internet uses, superseding RFC   4627 and RFC   7158 (but preserving ECMA-262 and ECMA-404 as main references). In November 2017, ISO/IEC JTC 1/SC 22 published ISO/IEC 21778:2017 as an international standard. On December 13, 2017,

5829-612: The form of the data represented. These terms have been derived from ISO 11179 representation terms, and include Amount, Code, Date, Time, Indicator, Measure, Name, Numeric, Percent, Picture, Quantity, Rate, and Time. Qualifier Term: The object class and property terms can have qualifiers; i.e., a word or words that help define and differentiate the element name. The NIEM technical modeling and schema concepts and mechanisms which support building new data components that meet specific requirements and reusing existing NIEM data components are briefly described below. More detail can be found in

5916-616: The full Unicode character set, including those characters outside the Basic Multilingual Plane (U+0000 to U+FFFF). However, if escaped, those characters must be written using UTF-16 surrogate pairs . For example, to include the Emoji character U+1F610 😐 NEUTRAL FACE in JSON: JSON became a strict subset of ECMAScript as of the language's 2019 revision. JSON's basic data types are: Whitespace

6003-409: The individual arrested (i.e., the person component described above) but also information about the person's alleged offense, the location of the offense, the arresting officer, etc. The IEP represents a set of data that is actually transmitted between agencies for a specific business purpose (e.g., initiating a charging document by the local prosecutor). It includes the actual XML instance that delivers

6090-481: The language's 2019 revision. Various JSON parser implementations have suffered from denial-of-service attack and mass assignment vulnerability . JSON is promoted as a low-overhead alternative to XML as both of these formats have widespread support for creation, reading, and decoding in the real-world situations where they are commonly used. Apart from XML, examples could include CSV and supersets of JSON. Google Protocol Buffers can fill this role, although it

6177-520: The many pitfalls caused by executing arbitrary code from the Internet, a new function, JSON . parse () , was first added to the fifth edition of ECMAScript, which as of 2017 is supported by all major browsers. For non-supported browsers, an API-compatible JavaScript library is provided by Douglas Crockford . In addition, the TC39 proposal "Subsume JSON" made ECMAScript a strict JSON superset as of

6264-467: The naming and definition of data elements, as well as information about the metadata captured about data elements. Part 5 of the ISO 11179 standard establishes a methodology for naming items in data dictionaries. The ISO 11179-based NIEM NDR naming convention uses object class, property, and representation terms to constitute a multiple-part name as shown in the figure below: Object Class Term: Represents

6351-523: The nature of their business or the operational context of their exchanges, provided they are semantically consistent. Information Exchange Package Documentation. The information that is commonly or universally exchanged between participating domains can be organized into information exchange packages (IEPs) in the form of XML Schemas. An example of this collection of information is data associated with an arrest. The data to be exchanged includes not only descriptive and personal identification data regarding

6438-405: The object to which the property is applicable. In NIEM, we interpret that object to be the real-world object. (An object class refers to a group of objects that share the same attributes, operations, methods, relationships, and semantics.) Property Term: Identifies the property that the data element represents (e.g., last name, expiration date, height, total). Representation Term: Describes

6525-608: The payload or information. Additional information regarding this specific exchange can be further documented in the form of an information exchange package documentation ( IEPD ), which also contains data describing the structure, content, and other artifacts of the information exchange. An IEPD supports a specific set of business requirements in an operational setting. NIEM Core. Data components within an information exchange that are universally shared and understood among all (or almost all) domains are identified as universal components (e.g., person, address, and organization). To become

6612-679: The pedigree or source (when reported, who reported, how reliable, etc.) of instance data to any data component of the model (type or object, property, association, role, or augmentation) in any namespace. It allows sets of metadata to be extended with additional properties for local requirements and enables metadata properties to be repeated. NIEM has introduced the concept of Enterprise Information Exchange Model (EIEM) dictionaries to allow NIEM implementers to position local collections of components specific to their own enterprise. Typically these may be drawn from an Enterprise Data Model (EDM) and then exported and refactored as XML components that conform to

6699-431: The property, RoleOf, which references the vehicle instance used as the weapon. The WeaponType (the role) might also contain properties that describe the persons and activities involved, dates and times of involvement, and how the entity was used as a weapon. An association type is an object that represents a relationship between data components. For example, two PersonType instances, Abigail and Bob, could be referenced by

6786-464: The reference set may import one another by namespace in order to use (or reuse) components they define. In general, domain reference schemas import schemas from the Core. The NIEM reference schema set represents the full set of data components in NIEM. The following kinds of XML schemas are associated with the NIEM architecture: The only mandatory schemas for validation are the NIEM reference schemas or

6873-427: The same kind of data interchange purposes. Data can be encoded in XML in several ways. The most expansive form using tag pairs results in a much larger (in character count) representation than JSON, but if data is stored in attributes and 'short tag' form where the closing tag is replaced with /> , the representation is often about the same size as JSON or just a little larger. However, an XML attribute can only have

6960-523: The special condition language contained in the grant, and follow the associated NIEM implementation guidelines. The NIEM Management Office (NMO) operates to: NIEM is a continually evolving program, and new agencies and COIs are joining the effort all the time. As new stakeholders come on board, they need to receive information to gain understanding and knowledge of the core capabilities of NIEM and how to engage in NIE information exchanges. In 2022, NIEM created

7047-437: The subclass derived from the base class inherits the properties of the more general base or parent class. This mechanism is used to share or reuse properties between the general data component and its specialization. For example, a vehicle type (or class) is identified as a data component with properties of vehicle identification number (VIN), make, and model. Truck type (or class) is a specialization of vehicle and thus inherits

7134-402: The substitution of new XML Schema elements, representing derived NIEM properties that can be used where the parent properties are expected. There are three XML Schema techniques that support the NIEM use of element substitutions: In addition to adding new NIEM types and properties to NIEM, it is possible to adapt existing external (non-NIEM) namespaces for use in the NIEM framework. This allows

7221-475: The use of external standards within NIEM IEPDs, without requiring that the external standards themselves be NIEM-conformant. The intent here is to allow use of external standard components exactly as they were defined. Metadata , or data about data, defines information that supports the actual content of XML instances. The metadata feature provides a mechanism for attaching structured properties that describe

7308-484: The user to test NIEM XML schemas against the automated rules from the NIEM Naming and Design Rules (NDR) . This is an important first step in verifying NIEM conformance . Users can upload a single NIEM XML schema or a zip file (typically representing an IEPD) and view or download the results as a conformance report. Movement enables the user to search and explore the content of the latest NIEM release. It provides

7395-414: The vehicle's properties but also has its own characteristic properties, such as truck bed length. Specialization is time independent and is generally used only when the base class and subclass always exist. A role is a special type which represents a particular function, purpose, context, or activity for an entity. Roles are generally time dependent and, therefore, temporary. A new type can be created for

7482-493: Was launched in 2001. In December 2005, Yahoo! began offering some of its Web services in JSON. A precursor to the JSON libraries was used in a children's digital asset trading game project named Cartoon Orbit at Communities.com (the State cofounders had all worked at this company previously) for Cartoon Network , which used a browser side plug-in with a proprietary messaging format to manipulate DHTML elements (this system

7569-426: Was used for configuring GitHub 's Atom text editor . There is also an unrelated project called CSON ("Cursive Script Object Notation") that is more syntactically similar to JSON. HOCON ("Human-Optimized Config Object Notation") is a format for human-readable data, and a superset of JSON. The uses of HOCON are: JSON5 ("JSON5 Data Interchange Format") is an extension of JSON syntax that, just like JSON,

#144855