How do you implement a database to support GJXDM or NIEM Schema?

One key concept is that GJXDM and NIEM were designed for information exchange, and have no direct bearing on how one would implement a database that is part of a sending or receiving system; the database should be designed to hold the data required for the system's business purpose. At this time there are no web services that have been identified or documented for use with the GJXDM and NIEM surrounding the DB implementation, although work is being done in that area.

However, a number of organizations have had success deploying web services to exchange information using the GJXDM. Some have used web services conformant with the WS-I Basic Profile. XML messaging standards (depending on what you mean by ''messaging standards'') for the GJXDM are emerging but are not complete, although again, work is being done in that area. Organizations are developing Information Exchange Package Documentation to specify information exchange packages such and Incident Report, Court Filing, etc.

Organizations such as NLETS have released GJXDM-conformant message specifications for the information exchanges they support. An example with SQL is the data exchange project WENET, where a couple of the service points use the MS SQL server XML services to directly extract GJXDM data from SQL. Currently it is only in the early stages of development.

The hardest part seems to be creating a GJXDM or NIEM complaint sub-schema that SQL will like. The sub-sets strip out all of the imports and make them local, redesign some of the global element model and generally look different from the GJXDM or NIEM but still validate. Then they are marked up with SQL-XML tags/attributes specifying tables/fields and relationships. This is demonstrated with simple elements and is working towards it with Person, Warrant, and some others.

The most popular RDBMS and IDE tools, including those from Microsoft and Oracle, can support DB implementations based on GJXDM or NIEM. These tools provide capabilities for parsing XML and moving XML data in and out of databases. However, depending on ones particular database, it may be necessary to use XSLT to transform between a GJXDM- or NIEM-conformant XML schema and an XML schema that works with your database.

WENET Data Exchange Project: