X3D has been evolving for nearly 20 years (counting the VRML era). This long period, covering a wide range of uses (ComputerAided Design, medical, Geographic Information System ...) has led to a lot of possibly inconsistent or even conflicting features. By reasoning on the X3D data model, it is possible to detect such issues, list them and propose solutions.In order to allow such a study of the model, we propose a conversion of the current XML schema to an ontology and then a systematic detection of possible issues. We then categorize them and propose solutions to fix them.
MotivationX3D is an XML dialect for the web dedicated to the description of 3D scenes and animations. Its origins go back to 1994 and the first efforts on VRML [Brutzman and Daly 2007]. It is now developed through the work of several Web3D Consortium Working Groups, each dedicated to a specific topic. This long and rich history has one drawback : maintaining consistency is a complex task at best. The X3D data model is formalized as an XML schema (XSD) which does not offer many tools for model validation.The question of the X3D consistency was raised in 2009 when one of the authors worked on a first specification for boundary representation (BREP) to be proposed as an extension for the X3D standard [Web3D 2012b]. In order to build a semantically consistent expression of a BREP description of a solid, the initial work was based on a formal ontological description. After the first successful tests the Resource Description Framework (RDF) / Web Ontology Language (OWL) expression was converted to XML Schema elements, attributes and complexTypes.The idea of an inverse conversion was then formulated from the current X3D XML Schema to an OWL expression of the standard. That experiment showed the risk of inconsistencies in the standard * [Boccon-Gibod 2011] from which follows the need of a systematic study of the X3D schema quality. However this topic was not instantly recognized as a priority.Some applications (art, entertainment) might not require a high level of consistency but for other uses (engineering, for example) any issue can compromise a lot of investment (for instance, space rockets have already been lost because of unchecked value domains [Le Lann 1996]).
Related WorkThe main ISO Standards dedicated to product data exchange of the STEP family (ISO 10303 and ISO 13584) are based on two languages : first EXPRESS which is a kind of rich formal ontology language [Uschold et al. 1999]. It has been designed to allow the description of any kind of product. Then other "STEP" languages are designed for actual data expression based on EXPRESS modelling. Due to the quality and the extensibility of its formal definition, the family of STEP protocols is widely used in manufacturing industries.The recommendation for a Web Ontology Language (OWL) came later, with a wider range of purposes. Despite the fact that OWL provides less expression features, there is at least one ISO standard to migrate towards the W3C standard for descriptions (ISO 15926 [Batre...