# Generic Language for Partial Model Extraction from an IFC Model Based on Selection Set
## 2 Related Work
### Partial Model Extraction According to User-Defined Requirements
#### 2.2.1 Methods at the Schema Level  
Partial Model Query Language (PMQL) [25] and Generalized Model Subset Definition schema (GMSD) [26] are two early partial model extraction methods based on the schema level. PMQL was developed based on XML, Structured Query Language (SQL), and Simple Object Access Protocol (SOAP). It aims to extract a partial instance model from the original IFC model through the select, update, and delete operations. Inspired by PMQL and SPARQL Protocol and RDF Query Language (SPARQL), [PERSON] and [PERSON] [9] adopted the BIM Server to develop an open query language (BIMQL, Building Information Model Query Language). The purpose of this language is to select, set, create, and delete IFC model data for managing BIM models, and the functions'select' and'set' have been developed. However, IFC schema includes numerous logical relations. When extracting specific relations using the PMQL, it requires many iterative cycles of request and response [26]. Furthermore, the PMQL method has room for improvement, such as path expression, nested queries, and inheritance hierarchies. As a result, GMSD was developed to support the dynamic selection of object instances and the filtering of a building model through predefined model view definitions. GMSD was designed to support EXPRESS-based models for consistency with IFC. Users need to define or edit MVDs within the GMSD method, but the MVD definition is a challenge for users. To solve this problem, bSI developed an official standardization specification data format for capturing MVDs based on the XML format, called mvdXML [27]. The mvdXML is a machine-interpretable representation for information exchange in IFC schema, and can be easily processed by software tools. More and more software tools are expected to support mvdXML. Inspired by this method, the proposed method in this paper was also developed based on the XML. The new model view definitions generated based on the schema level need to be validated in the syntax and semantics, so [PERSON] and [PERSON] [28] defined a serial of rules for subset generation by using set theory, aiming at supporting specific exchanges through the generation of valid model views. Furthermore, [PERSON] [29] proposed the'minimal set', the smallest complete subset of a schema related to a concept. Several conditions for extracting valid subsets from EXPRESS schema were defined to match the concepts. A tool called 'IFC Model View Extractor' (alpha version) was developed for generating subschema from IFC schema. According to subset generation rules [28], [PERSON] et al. [30] proposed a semi-automatic generation method for MVDs, which could extract partial models according to core concepts of specific tasks. However, these core concepts need to be accurately predefined by users. In this study, with reference to the rule-based subset generation method [28], the rules for Selection Set-based partial model extraction were designed based on mathematical logic and set theory. Some other researchers attempted to convert IFC models into a generic data schema. Given the requirement on spatial analysis, [PERSON] and [PERSON] [31; 32] carried out a topological analysis of BIM models and proposed Query Language for Building Information Models (QL4 BIM). This method enables users to extract the partial model by defining boundary representation. [PERSON] and [PERSON] [33] developed a language called Multi-Model Query Language (MMQL), which required homogeneous data access to link and filter multi-model information, such as the bill of quantities, building, and schedule. Nevertheless, the export results are documented in textual format, rather than IFC-based data format or other model formats. [PERSON] and [PERSON] [34; 35] developed an automated BIM Information Extraction method to extract the required information from IFC models with semantic Natural Language Processing techniques and Java Data Access Interface. Some limitations still exist in this method.