NeTEx can be used to describe zone based fare systems of any topology ranging from a simple patchwork (adjacent zones) to the complex, (honeycomb, doughnut) etc). The TARIFF ZONE allows zones to be associated with stops and stations. Mixed zonal and stage systems are also possible. Fare pricing may be a flat fare system per zone, or zone to zone using a (DISTANCE MATRIX ELEMENT), or be differentially priced for particular sequences of zones (using FARE STRUCTURE ELEMENTs in SEQUENCE)
International standards process are consensual, with periods for review and voting. This makes it relatively slow to incorporate official changes. As an interim measure, the NeTEx extension mechanisms can be used to include additional elements informally prior to ratification.
Where possible NeTEx enforces validity checks in the XML schema so that data is correct and consistent. XML schema can provide data typing and useful identity and referential integrity checks, so for example it is possible to ensure that not only are fields in the right format (as say for dates, times, email addresses or enumerated values) but also that a document is complete (every referenced element is present) and unique (a given identifier is only used once). However schema cannot describe a number of more complex integrity constraints (for example; that passing times on successive stops in a journey are monotonically increasing) and such checks need to be implemented programmatically by validation or import tools.
A deliberate decision has been made to leave out one type of validity check. In XML schema it is also possible to specify whether an element must be present or is optional. However in order to allow a single XML schema to be used for many different uses case, NeTEx makes the majority of schema elements optional, and leaves it up to the individual application to check for completeness. (Note that NeTEx profiles can be used to express this requirement also).
NeTEx uses XML technology; large documents require more processing power to handle than some formats with a lower semantic content, especially if extensive validation and integrity checking is done (though noted that the referential integrity checks can be omitted if documents are known to be correct). In mitigation, computer power continues to get cheaper whereas the cost of skilled resource to resolve issues arising from unchecked data errors has not.
XML is verbose, with both start and end tags being required, and NeTEx documents can be large. Various feature help to reduce size notably; the ability to declare default value at a frame and other levels, and the ability to reference data from other frames, and the ability to exchange just elements that have changed. Bandwidth can be saved by sipping documents for transmission.
NeTEx in some cases abstracts concepts into several separate elements in order to separate concerns, this in turn increases reusability and gives greater flexibility. This can make it harder to understand which combination of elements should be used to represent a solution, and even in some cases allows alterative representations. This can be mitigated by a profile setting out how NeTEx should be used for a specific set of data and by examples.
Although it is possible to omit most unwanted functions, certain core properties are required and this can make implementations of simple functions more complex.
NeTEx is undoubtedly large and quite complex, and uses a sophisticated model that has been evolved over more than fifteen years to cover the requirements of many different types of system – this imposes a significant learning curve, especially if you are unfamiliar with Transmodel, or with software engineering notations such as UML. However, it is also highly modular, so only the required modules need to be considered and once the core principles have been assimilated, the use of a consistent terminology and a uniform set of design patterns facilitates learning of new areas of functionality. The provision of reusable components such as calendar conditions, stops, etc also reduces the effort needed to understand the system.
NeTEx is not a panacea and there are also a number of potential disadvantages to using it
- Additional complexity from using a large, generalised model. See ‘Is NeTEx hard to understand?’
- Fragmentation of semantics from generality see ‘Does increased generality make NeTEx is harder to work with?
- ‘Addition computational expense for processing large XML models with extensive integrity checks..
- Limited expressiveness of XML
- Slow speed of standards process
As a CEN standard with international support independent of any one supplier, and a process to support future evolution NeTEx offers an inherent degree of protection of investment. The use of mainstream technologies, such as UML and XML means that design and content is available in robust form with widely available skill sets.
Assembling and managing public transport content models represents a significant long term investment for a Transport Operator Much of the data is inherently complex (e.g. timetables or fares) and is changing continuously. Accurate coherent data sets need to be created to integrate many different types of data and be kept up to date though many different workflows. NeTEx is concerned precisely with such a content model including the necessary metadata to manage it, and gives a long term strategic model for exchanging data between many different systems, one that is already ‘future proofed’ by the inclusion of many advanced features and additional functional modules.
A significant part of the lifetime expense of a system comes from maintenance and support to meet changing business needs. Whereas with modern web technologies new web services to request data can be constructed with relative ease, (e.g. adding new syntactic views as different APIS), changing the underlying data model is harder and must be managed in a distributed context – different systems will upgrade at different times, so multiple versions must be able to exist concurrently and without confusion. The NeTEx model is strictly versioned and designed to allow a managed evolution. Successive versions can easily be regression tested against existing XML documents to ensure compatibility and correctness.
NeTEx can help to reduce complexity at the design level in that it is based on Transmodel, using a well-established set of well-defined concepts with an official terminology set in different European languages. Careful abstracted to separate different design concerns. For example NeTEx separates out the concepts of a route (a sequence of possible stops), a journey pattern (a specific set of stops on the route), the timings to traverse the links of the journey pattern, and the resulting passing times at the stop making up a given timetabled journey, thereby allowing many different journeys to be computed simply by specifying a starting time, As a result of this approach, NeTEx achieves a high degree of reuse, using the same core elements in all three parts and building Part 3 from part2, and Part 2 from Part 2 elements, reducing the overall number of elements needed. A small number of design patterns are used very consistently reducing the overall cognitive burden needed to understand a large number of different functional areas.
The existence of high level models with transforms to the detailed implementation gives developers a full documented overview of the design, making it easier to understand the purpose of specific components and to assess the impact of changes.
NeTEx can help to reduce complexity at the implementation level in that it takes a uniform approach to many common aspects of data handling, for example, versioning, data frames, data identifiers, validity conditions, etc, greatly simplifying the implementation of such features and allowing a high degree of code reuse for common services. NeTEx includes explicit mechanisms to allow the continuous, repeated large scale integration of data from different sources as is found in modern internet based environments.
NeTEx offers a degree of protection of investment in that not only does it use mainstream technologies and have a process to support future evolution, but it also already includes in its design a high degree of functionality. Because it has been systemised from and validated against leading National Standards it covers most of the commonly found features of public transport information systems and represents a significant amount of free, ready to use IPR in how to abstract the separate concerns of a transport information system into coherent a software model. There is a high degree of reuse of elements. The model also considers a full consideration of many advanced features, such as frequency based services, flexible services, capped fares, etc not full accommodated in many existing national standards. Not all of the features need to be implemented in a given deployment, but their presence in the design gives a clear roadmap for where to include such function if it is needed at any time.
NeTEx is the only standard to put forward a comprehensive fare data standard, one that covers not only classic multimodal fares, but also modern products such as card based pay as you fare products, relating them to a common transport model.