Romain Richard

Denis Guillaume

Marc Jacquin

Kinetics Modeling of the Heterogeneously Catalyzed Esterification of 2,3-Butanediol with Acetic Acid

Esterification of 2,3-butanediol using a homogeneous catalyst was studied in 1945 under the Synthetic Rubber Program. The aim of this paper is to show that this reaction can be carried out with a heterogeneous catalyst, which presents many advantages such as the possibility of separation and recycling. The kinetic behavior of heterogeneous esterification of 2,3-butanediol with acetic acid over an ion-exchange resin Amberlyst 36 was investigated in a batch reactor. The experiments were conducted with different amounts of catalyst (from 1.1% to 4.4%, relatively to the initial molar quantity of 2,3-butanediol), with molar ratios of reactants (acetic acid to 2,3-butanediol) varying from 2 to 12, and at temperatures from 50 to 110 °C. Our experimental system was able to acquire kinetic data, even during the first minutes of the reaction. A simple model based on reliable hypotheses was built and the experimental data were used to determine all the kinetic and thermodynamic constants of the reaction. A single set of parameters is able to represent correctly the evolution of all different species present during the esterification reaction in function of time.

INTRODUCTION

Due to the lack of petroleum worldwide, alternative sources of energy are worth being developed. [START_REF] Okkerse | From fossil to green[END_REF] Among renewable energies such as sunlight, wind, rain, tides, waves, geothermal heat, and biomass, the latter is particularly studied to replace fossil fuels. [START_REF] Corma | Chemical Routes for the Transformation of Biomass into Chemicals[END_REF][START_REF] Gallezot | Catalytic conversion of biomass: challenges and issues[END_REF] Several feedstocks derived from biomass can be used: sugars, vegetable oils, lignocellulosic biomass, or algae. Fermentation processes of glucose can lead to various alcohols such as ethanol [START_REF] Chen | Development and application of co-culture for ethanol production by co-fermentation of glucose and xylose: a systematic review[END_REF] or 2,3-butanediol (2,3-BDO). [START_REF] Ji | Development of an industrial medium for economical 2,3-butanediol production through co-fermentation of glucose and xylose by Klebsiella oxytoca[END_REF] These alcohols can also be transformed into other value-added products [START_REF] Van Haveren | Bulk chemicals from biomass[END_REF][START_REF] Ji | Microbial 2,3-butanediol production: A state-of-the-art-review[END_REF] such as 1,3-butadiene (1,3-BDE) which is mainly used in the production of synthetic rubber. Indeed, 1,3-BDE is currently produced by three petrochemical processes: [START_REF] White | Butadiene production process overview[END_REF] mainly by steam cracking of hydrocarbons (as a coproduct of ethylene manufacturing), and to a lesser extent by catalytic dehydrogenation of n-butane and n-butene (Houndry process), and oxidative dehydrogenation of n-butene (Oxo-D or O-X-D process).

In previous works, 2,3-BDO was used as a raw material to obtain 1,3-BDE. As the direct dehydration of 2,3-BDO leads to methylethylketone (MEK), which is thermodynamically stable, an intermediate product has to be obtained. Thus, a diester of 2,3-BDO, synthesized by an esterification process, can lead to 1,3-BDE with really good yields (about 90%) by pyrolysis without any catalyst. The esterification using a homogeneous catalyst was studied in 1945 under the Synthetic Rubber Program (SRP). [START_REF] Blom | Liquid-Vapor Equilibrium in Mixtures of 2,3-Butylene Glycol and Water[END_REF][START_REF] Schniepp | Continuous Process for Acetylation of 2,3-Butylene Glycol[END_REF][START_REF] Morell | Conversion of 2,3-Butylene Glycol to 1,3-Butadiene by Pyrolysis of Diacetate[END_REF][START_REF] Schniepp | Pilot-Plant Conversion of 2,3-Butylene Glycol Diacetate to 1,3-Butadiene[END_REF][START_REF] Othmer | Liquid-Liquid Extraction Data[END_REF][START_REF] Othmer | Composition of Vapors From Boiling Binary Solutions[END_REF][START_REF] Othmer | Esterification of 2,3-Butylene Glycol with Acetic Acid[END_REF][START_REF] Othmer | Pyrolysis of 2,3-Butylene Glycol Diacetate to Butadiene[END_REF] In this work, the esterification reaction between 2,3-BDO and acetic acid (AA) is discussed using a heterogeneous catalyst.

Esterification reactions are balanced reactions. In this case, as 2,3-BDO has two alcohol functions, the esterification reaction proceeds in two steps. A first step involves one mole of 2,3-BDO and one mole of AA to yield one mole of 2,3-BDO-monoacetate (2,3-BDOmonoAc) and one mole of water. The second step consists in esterifying the alcohol function of the residual monoester with a second mole of AA to give one mole of 2,3-BDO-diacetate (2,3-BDOdiAc) and a second mole of water (Figure 1).

Rate constants k i can be defined as the rate constants of forward reactions (formation of esters) and rate constants k -i as the rate constants of reverse reactions (hydrolysis of esters). The thermodynamic constants of these reactions (K i ) can be written as the ratio between the forward rate constants and the reverse rate constants:

∏ = = - K j k k [ ] i j v i i j (1)
where [j] is the concentration of species j (mol•L -1 ) and v j is the stoichiometric coefficient of species j. Thus, thermodynamic constants can be defined as follows: (2) (3)

= × × = - K k k [2,3BDOmonoAc] [H O] [2,3BDO] [AA]
= × × = - K k k [2,3BDOdiAc] [H O] [2,3BDOmonoAc] [AA]
= × × = × K K K [2,3BDOdiAc] [H O] [2,3BDO] [AA] 3 2 2 2 1 2 (4)
The reaction was first studied in the SRP in 1945. Two homogeneous acid catalysts were tested: sulfuric acid H 2 SO 4 (from 1% to 1.5%) and para-toluenesulfonic acid APTS (3%). [START_REF] Othmer | Esterification of 2,3-Butylene Glycol with Acetic Acid[END_REF] Sulfuric acid was used for the pilot plant process. The esterification reaction of 2,3-BDO was thus conducted in a batch reactor with H 2 SO 4 , using two various AA/2,3-BDO molar ratios and six different temperatures. To monitor the reaction, only the titration of AA as a function of time was achieved. Hence, it was not sufficient to establish a kinetic model. Nevertheless, thermodynamic constants have been determined and it appears that the reactions are balanced. The second step of the double esterification, that is, the esterification of 2,3-BDOmonoAc, is even less favorable (0.1 < K 2 < 0.2) than the first step of the reaction, that is, the esterification of 2,3-BDO (0.8 < K 1 < 2.3). [START_REF] Othmer | Esterification of 2,3-Butylene Glycol with Acetic Acid[END_REF] This esterification reaction of 2,3-BDO was also recently studied [START_REF] Baek | Selective production of 1,3-butadiene using glucose fermentation liquor[END_REF] using a mixture of formic acid and acetic acid with a homogeneous catalyst (sulfuric acid), leading to good yields in diesters of 70% and 85%, respectively. Nevertheless, a kinetic model was not determined in this study either.

It is therefore necessary to implement a more complete reaction monitoring in order to build a model able to represent the evolution of the different compounds in the function of reaction time. Moreover, the aim of this paper is to show that the reaction of esterification of 2,3-BDO with AA can be carried out with Amberlyst 36, which presents many advantages of separation and recycling, compared to the several treatments involved with a homogeneous catalyst at the end of the reaction such as neutralization and filtration. Amberlyst 36 is a heterogeneous catalyst which is widely used for esterification. Indeed, it has been used to study the esterification of acetic acid with various alcohols (methanol, [START_REF] Tsai | Kinetics behaviour of esterification of acetic acid with methanol over Amberlyst 36[END_REF] pentanol, [START_REF] Akbay | Kinetics of esterification of acetic acid with n-amyl alcohol in the presence of Amberlyst-36[END_REF] and octanol [START_REF] Akyalcin | Kinetics of esterification of acetic acid with 1-octanol in the presence of Amberlyst 36[END_REF] ) and the esterification of methanol with various carboxylic acids (acetic acid [START_REF] Tsai | Kinetics behaviour of esterification of acetic acid with methanol over Amberlyst 36[END_REF] and propionic acid [START_REF] Tsai | Kinetics of catalytic esterification of propionic acid with methanol over Amberlyst 36[END_REF] ). In addition, this heterogeneous catalyst has also been used to perform the esterification of ethylene glycol with acetic acid, [START_REF] Schmid | Esterification of ethylene glycol with acetic acid catalyzed by Amberlyst 36[END_REF] and similar performance with 2,3-BDO can be expected.

EXPERIMENTAL SECTION

2.1. Materials. As 2,3-BDO has two asymmetric carbons and a symmetry plan, three different stereoisomers can exist: an enantiomeric pair which is composed of the (-) dextrogyre (also called RR) and the (+) levogyre (also called SS); and the meso form (RS form which is the same as the SR form). Pure isomers being very expensive, experiments were carried out with a mixture of diastereoisomers of 2,3-BDO (70% of RS and 30% of (RR+SS)) with a 99% purity from Sigma-Aldrich. On the counterpart, an analytical method was developed to quantify each diastereoisomer of the 2,3-BDO, the 2,3-BDOmonoAc, and the 2,3-BDOdiAc.

Glacial acid acetic was purchased from Sigma-Aldrich and its water content was determined before each reaction by Karl Fischer titration.

The heterogeneous catalyst is an ion exchanged resin, Amberlyst 36 produced by Rhom and Haas, with an acid sites concentration of 5.4 mequiv•g -1 of wet resin, a harmonic mean size of 0.60-0.85 mm, a BET surface area of 33 m 2 •g -1 , an average pore diameter of 240 Å, and a total pore volume of 0.2 cm 3 •g -1 . Mercury porosimetry was measured on dry Amberlyst 36, and showed a porosity of 42%.

2.2. Analysis Methods. Mixtures were analyzed by gas chromatography (GC) using an Agilent Technologies apparatus (6890 N Network GC System) coupled to a flame ionization detector (FID) in order to determine 2,3-BDO, 2,3-BDOmonoAc, and 2,3-BDOdiAc amounts. With several different columns tested, one diastereoisomer of the 2,3-BDO and one diastereoisomer of the 2,3-BDOmonoAc were systematically coeluted. Only the capillary column (DB-WAX column, 10 m, 50 μm, 0.1 μm) from Agilent J&W GC Colums (JW 126-7013) allowed a complete separation of all components of the reaction media. The chromatograph was equipped with an automatic split injector and the injections (0.1 μL) were performed with a split ratio of 4270 (split flow =500.0 mL•min -1 and total flow =502.3 mL•min -1 ). The carrier gas was helium and the column head pressure was adjusted to 100 psi. Injector temperature was 250 °C. Initial temperature in the oven was 60 °C. The temperature in the oven was ramped to 110 °C at 2 °C•min -1 , and then ramped to 200 °C at 10 °C•min -1 and finally held 1 min at 200 °C. The total running time was 35 min. The temperature of the detector (FID) was 250 °C. Each sample was analyzed three times and the values of mass fractions (w i ) given in this paper are the average of the three injections. The uncertainty is u(w i ) = 0.001, which corresponds to the maximum standard deviation calculated.

AA could also be quantified by GC-FID but results are less reliable. Indeed, an automatic titrator (751 GPD Titrino, Metrohm) was used to determine the quantity of AA in each sample. It was verified that no hydrolysis of 2,3-BDOdiAc occurred during the titration with sodium hydroxide (0.1 M), by using standard mixtures of AA and 2,3-BDOdiAc over the whole range of composition. The pH of the solution was measured throughout the titration thanks to the electrode, accuracy being more important with an electrode than an indicator. The end point corresponds to a sudden change in the measured pH, and then the equivalence point allows the determination of AA amount in the sample.

Moreover, the amount of water was determined using a coulometric Karl Fischer apparatus (831 KF Coulometer (KFC), Metrohm).

2.3. Experimental Procedure. The esterification reaction was carried out in a 30 mL-batch reactor with a double-jacket. Specific oil from a temperature-controlled bath flows inside the double-jacket to maintain the targeted reactor temperature. The reactor was equipped with a condenser also regulated at a temperature of -4 °C. All the reactions were led under atmospheric pressure with magnetic stirring at 800 rpm, which avoids any mass transfer resistance due to external diffusion limitations. [START_REF] Akbay | Kinetics of esterification of acetic acid with n-amyl alcohol in the presence of Amberlyst-36[END_REF][START_REF] Akyalcin | Kinetics of esterification of acetic acid with 1-octanol in the presence of Amberlyst 36[END_REF] Esterification reactions between 2,3-BDO and AA were carried out by using the following procedure: a mixture of the reactant with the highest quantity (generally AA) and the heterogeneous catalyst was introduced into the dry reactor, and the magnetic stirring was turned on at 800 rpm. The mixture was heated until the desired temperature was reached. At this point, the second reactant (generally 2,3-BDO) was added to the mixture of AA and catalyst. 2,3-BDO addition was considered as time zero of the reaction. Concerning the off-line analysis, homogeneous samples of 0.1 mL (without catalyst) were collected from the reactor at different reaction times in order to determine the kinetics of the reaction. These samples were immediately quenched in an ice-water batch and analyzed by GC-FID, automatic titrator (for AA content) and Karl Fischer apparatus (for water content).

Different conditions were applied for the batch esterification reactions. Several AA to 2,3-BDO molar ratios were tested (r = 2, 6, and 12). A series of experiments were also performed with different amounts of heterogeneous catalyst: 1.1, 2.2, and 4.4 mol % (referring to the initial 2,3-BDO amount). Finally, the temperature was ranged from 50 to 110 °C which is close to AA boiling point (50 °C, 70 °C, 90 °C, 110 °C). Experiments were performed at high temperatures and high molar ratios of AA over 2,3-BDO, with and without catalyst. The uncatalyzed kinetics for both consecutive reactions appear to be 10 times slower than the catalyzed kinetics with 2.2%. It can be concluded that the uncatalyzed reaction kinetics can be neglected in the whole range of conditions tested.

Characteristic time for the diffusion through a porous catalyst can be roughly estimated with the following formula:

= ε τ t R D m D 2 P ( 5
)
where t D is the diffusion characteristic time (s), R is the average radius of the particles (m), ε P is the porosity (-), τ is the tortuosity (-), and D m is the diffusion coefficient of 2,3-BDO (m 2 •s -1 ) which can be estimated using the Wilke-Chang correlation, [START_REF] Wilke | Correlation of diffusion coefficients in dilute solutions[END_REF] knowing the viscosity of acetic acid and the density of 2,3-BDO [START_REF] Grineva | Densities and dielectric permittivities of three butanediols and their solutions with 10 mol % water[END_REF] over the temperature range explored. Characteristic time for the diffusion is about 0.5 h at 50 °C, whereas approximately 100 h are necessary to reach the equilibrium. Moreover, t D is about 0.3 h at 100 °C, whereas it takes 3 h to reach the equilibrium. Therefore, the mass transfer limitation due to internal diffusion limitation can be neglected. Adsorption thermodynamics on a heterogeneous catalyst can be acquired measuring nonreactive isotherms, as it has been done by Tsai et al. [START_REF] Tsai | Kinetics behaviour of esterification of acetic acid with methanol over Amberlyst 36[END_REF] for the esterification of acetic acid and methanol in order to form methyl acetate and water with Amberlyst 36. With this system of four components, four nonreactive binary isotherms can be measured: water-acetic acid, water-methanol, acetic acid-methyl acetate and methanol-methyl acetate. Actually, measurement of only three nonreactive isotherms is necessary in order to get the relative adsorption selectivity of each component. Since this is a more complex system with two consecutive reactions of esterification and five components involved, at least four nonreactive binary isotherms have to be determined. Unfortunately, the only nonreactive binary isotherms that can be measured are water-acetic acid, water-2,3-BDO, and acetic acid-2,3-BDOdiAc. Indeed, mixing 2,3-BDO and 2,3BDODiAc over the catalyst produces 2,3-BDOmonoAc, water, and acetic acid. Moreover, if the 2,3-BDOmonoAc could be available or isolated, it would react with all the other components of the system, either by esterification/hydrolysis or transesterifiaction/ dismutation. Thus, only partial information on the adsorption selectivity can be experimentally obtained, and that is why a simple model not taking into account any adsorption phenomenon (pseudohomogeneous model) was used. To determine the apparent kinetic constants, a model representing the evolution of different species of the reaction is built with the following hypotheses:

(i) 1st order for all compounds (other orders have been checked but only these results are presented in this paper) (ii) no mass transfer limitation, neither external nor internal (iii) no order for the heterogeneous catalyst: as its quantity is constant, it will be part of the apparent kinetic constant of the reactions (iv) balanced reactions: as the two esterification reactions are balanced, 2,3-BDO, 2,3-BDOmonoAc and 2,3-BDOdiAc are present at chemical equilibrium (v) no secondary reactions: this hypothesis was validated by GC-FID which did not show any byproducts (vi) the volume of the mixture is constant during the reaction: samples are neglected relative to the total volume and the medium density is constant during the reaction (d 2,3-BDO = 1,002 ; d AA = 1,082 ; d 2,3-BDOdiAc = 1,035 and d water = 1) (vii) activity coefficient equal to 1 for all the species (viii) the model was solved using a first order discretization: concentration of component j can be written as follows

≈ - Δ + j t j j t d[ ] d [ ] [ ] t t t t d (6)
Thus, from the initial concentration values, it is possible to calculate the concentrations at time t = 0.1 h. By recurrence, knowing the concentrations at time t, the concentrations at time t + Δt can be determined using the following formula:

≈ + Δ × + ⎡ ⎣ ⎢ ⎢ ⎤ ⎦ ⎥ ⎥ j j t j t [ ] [ ] d[ ] d t t t t d (7)
Using all these hypotheses, the following equations of the model represent first order reaction kinetics for all the compounds:

= - + - t k k d[2,3BDO] d [2,3BDO][AA] [2,3BDOmonoAc][H O] 1 1 2 (8) = - + - + - - t k k k k d[2,3BDOmonoAc] d [2,3BDO][AA] [2,3BDOmonoAc][H O] [2,3BDOmonoAc][AA] [2,3BDOdiAc][H O] 1 1 2 2 2 2 (9) = + - t k k d[2,3BDOdiAc] d [2,3BDOmonoAc][AA] [2,3BDOdiAc][H O] 2 2 2 (10) = + + - - - t k k k k d[H O] d [2,3BDO][AA] [2,3BDOmonoAc][H O] [2,3BDOmonoAc][AA] [2,3BDOdiAc][H O] 2 1 1 2 2 2 2
(11)

= - + - + - - t k k k k d[AA] d [2,3BDO][AA] [2,3BDOmonoAc][H O] [2,3BDOmonoAc][AA] [2,3BDOdiAc][H O] 1 1 2 2 2 2 (12)
The model was solved using a first order discretization. A 0.1 h step time was chosen as it presents satisfying accuracy and is a good compromise between calculation time and numerical errors.

Determination of Kinetics and Thermodynamic

Constants. The parameters involved in the system are the four kinetic constants (k 1 , k -1 , k 2 , and k -2 ) and the two thermodynamic constants (K 1 and K 2 ). As these constants are related by two eqs (eq 2 and 3), only four parameters are adjustable so that the kinetics model best represents the experimental data obtained by GC-FID. We decided to vary two rate constants (k 1 and k 2 ) and the two thermodynamic constants (K 1 and K 2 ) in order to properly represent the evolution of the different compounds of the reaction system. The two thermodynamic constants are easily determined, as in all experiments thermodynamic equilibrium was reached. Thus, only two kinetic constants had to be determined by parameter identification. Criterion minimization was used for identifying these two kinetic parameters. The criterion is defined by the sum of the relative squared differences between the experimental measured data and the model output for each component of the reaction mixture (2,3-BDO, 2,3-BDOmonoAc, 2,3-BDOdiAc, AA, and H 2 O) at different reaction times:

∑ ∑ = - ⎛ ⎝ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ C i C i C i minimization criterion ( ) ( ) ( ) j i j j j mod exp exp 2 (13)
where C j (i) mod is the calculated concentration of component j at reaction time i, C j (i) exp is the experimental concentration (GC-FID data) of component j at reaction time i with j = 2,3-BDO, 2,3-BDOmonoAc, 2,3-BDOdiAc, AA, and H 2 O and i = 1 min, 3 min, ..., several hours. The Solver function of Microsoft Office Excel (2013 version) was used to minimize this criterion, working on the four kinetic constants as variables, which leads to the determination of these four constants. The criterion chosen in this work is based on the squared sums of relative variations and not on the squared sums of absolute variations because some concentrations such as those of 2,3-BDOdiAc at the beginning of the reaction or those of 2,3-BDO at the end of the reaction can be much lower than the other concentrations. Thus, by working with a criterion on relative variations, errors on all compounds are balanced, which is more representative of the system.

RESULTS AND DISCUSSION

3.1. Preliminary Experiment. First of all, we carried out an esterification reaction with a commercial 2,3-BDO (70% of RS compound and 30% of RR+SS compounds) in order to determine the kinetics of the different stereoisomers. We observed that the kinetics of esterification of (RS)-2,3-BDO and (RR+SS)-2,3-BDO were nearly the same. Indeed, the difference of kinetics between the two stereoisomers is in the same order of magnitude as the uncertainty of analyses. Therefore, in the rest of this paper, the amount of 2,3-BDO will represent the sum of the amount of (RS)-2,3-BDO and (RR+SS)-2,3-BDO. In the same way, the amount of 2,3-BDOmonoAc (respectively 2,3-BDOdiAc) will be the sum of (RS)-2,3-BDOmonoAc (respectively (RS)-2,3-BDOdiAc) and (RR+SS)-2,3-BDOmonoAc (respectively (RR+SS)-2,3-BDOdiAc):

= + - - + - = n n n 2,3 BDO 2,3 BDO RR SS 2,3 BDO RS SR (14) = + - - + - = n n n 2,3 BDOmonoAc 2,3 BDOmonoAc RR SS 2,3 BDOmonoAc RS SR (15) = + - - + - = n n n 2,3 BDOdiAc 2,3 BDOdiAc RR SS 2,3 BDOdiAc RS SR (16)
3.2. Influence of Catalyst Amount. In this section, the feasibility of the esterification reaction of 2,3-BDO with AA using Amberlyst 36 was shown. This catalyst is stored with a significant water content (given by the supplier as 50-60 wt %). It was dried (72 h in an oven at 120 °C) to determine precisely its water content, which is of 55.52 wt %. In the experiments we carried out, the wet form of the catalyst was used in order to have a constant value for the water content. This value was taken into account in our calculations to determine the initial amount of water, and is always consistent with the water concentration measured by Karl Fischer in the first aliquot taken, where almost no reaction had occurred. Indeed, the dry catalyst immediately hydrates in contact with air, which makes uncertain the water content when it is introduced into the reactor.

We conducted experiments with three different amounts of catalyst: 1.1%, 2.2%, and 4.4%, expressed relatively to the initial molar amount of 2,3-BDO. The other two parameters were set to 110 °C for the temperature and 2 for the initial AA/2,3-BDO molar ratio (stoichiometric ratio). Figure 2 shows the evolution of molar fractions of 2,3-BDO, 2,3-BDOmonoAc, and 2,3-BDOdiAc for the experiments conducted with 1.1%, 2.2%, and 4.4% of heterogeneous catalyst (at T = 110 °C and an initial molar ratio n AA /n 2,3-BDO = 2). Experimental data are compared with the kinetic model.

The three experiments converge toward a similar thermodynamic equilibrium. The slight differences in thermodynamic equilibrium can be explained by the initial amount of water in each experiment which is a bit different because of the different water contents due to the catalyst amount: w H 2 O = 1.23%, 2.37%, and 4.51% for experiments with respectively 1.1%, 2.2%, and 4.4% of catalyst. The amount of catalyst does not influence the thermodynamics of the reaction but influences the kinetics of the reaction.

It may be noted that the proportion of 2,3-BDO decreases monotonically: 2,3-BDO is consumed by the esterification reaction with AA. As a result, the proportion of 2,3-BDOdiAc, the reaction product, increases monotonically with time until it reaches the thermodynamic equilibrium. Besides, we note that the proportion of 2,3-BDOmonoAc passes through a maximum before decreasing slightly, which means that the esterification reaction of the diol into monoester is faster than the esterification reaction of the monoester into the diester, which causes an accumulation of monoester. For the three experiments, the kinetic model generally fits with the experimental data representing the evolution of all the compounds in function of time.

Thanks to the model, it is possible to extract the kinetic and thermodynamic constants of the reaction in function of the amount of catalyst (Table 1):

We also carried out an experiment without catalyst. As it was previously stated in this paragraph, the thermodynamic equilibrium is unchanged without catalyst but the reaction rate is the slowest in this experiment (about 100 h to reach equilibrium). Moreover, it may be noted that the kinetics of the reaction is lower with 1.1% of catalyst (about 10-20 h to reach equilibrium) than with 2.2% and 4.4% of catalyst (approximately 5 h) for which kinetics are substantially the same within experimental errors.

Evolution of kinetic constants in function of the catalyst amount were also calculated. For example, Figure 3 shows the kinetics constants of the two forward esterification reactions (ln k 1 and ln k 2 ).

The catalyst amount only affects the kinetics of the reaction: kinetic constants are the same for 2.2% and 4.4% of catalyst, are lower for 1.1% of catalyst, and even lower without catalyst at all. A catalyst amount of 2.2% relatively to the initial molar quantity of 2,3-BDO seems to be the suitable amount for this esterification reaction.

3.3. Influence of Temperature. The evolution over time of the molar composition of the reaction mixture was also studied at various temperatures: 50 °C, 70 °C, 90 and 110 °C. The initial molar ratio AA/2,3-BDO was set at 2, whereas the amount of heterogeneous catalyst was set at 2.2% relative to the initial molar amount of 2,3-BDO. The initial water content (water originally contained in 2,3-BDO and AA) was measured by KFC before the start of the reaction and is equal to 2.4 wt %. Figure 4 represents the evolution over time of the composition of the medium during reactions carried out between 50 and 110 °C.

Regarding the kinetics, it can be noticed that this reaction is relatively slow, since the equilibrium is reached after several hours. The classical influence of temperature is shown here: the higher is the temperature, the faster is the reaction. Indeed, it takes about 200 h to reach equilibrium with a temperature of 50 °C, whereas it takes approximately 10 h to reach the equilibrium at 110 °C. Moreover, we can notice that the thermodynamic equilibrium reached during these four reactions is quite similar to the following molar compositions: from about 25% to 28% of 2,3-BDO, from 52% to 56% of 2,3-BDOmonoAc, and from 16% to 20% of 2,3-BDOdiAc, whatever the temperature. It means that the temperature has a low influence on the thermodynamics of this system. Although the model seems to be less representative for the experiment at 50 °C (the reaction may be too slow at this temperature and limitation of the hypothesis made for our model may be reached in these conditions: viscosity of 2,3-BDO may be too high at this temperature, which involves a slower internal diffusion), the corresponding kinetic and thermodynamic constants can be obtained thanks to the model (Table 2).

k 1 (L•mol -1 •h -1 ) 0.0108 0.0400 0.1000 0.1000 k -1 (L•mol -1 •h -1 ) 0.0064 0.0235 0.0588 0.0588 k 2 (L•mol -1 •h -1 ) 0.0030 0.0120 0.0400 0.0400 k -2 (L•mol -1 •h -1 ) 0.0091 0.0364 0.1212 0.1212 K 1 = k 1 /k
The thermodynamic constants determined can be compared with those obtained in 1945 for the esterification of 2,3-BDO with AA using a homogeneous catalyst [START_REF] Othmer | Esterification of 2,3-Butylene Glycol with Acetic Acid[END_REF] (Table 3).

The analytical technique available at that time was not able to determine the equilibrium proportion of 2,3-BDO, 2,3-BDOmonoAc, and 2,3-BDOdiAc. We can therefore not understand how the thermodynamic constants K 1 and K 2 were determined (Table 3). Nevertheless, some reactions were carried out using 2,3-BDOmonoAc. However, no information is given on how this product was obtained. It can be noticed that it is still not commercialized nowadays.

As a result, the different activation energies of the esterification reaction of 2,3-BDO with AA can be determined using the kinetic constants at different temperatures. Indeed, using the Arrhenius law (eq 17), pre-exponential factors A i (L•mol -1 •h -1 ) and activation energies E a i (J•mol -1 ) associated with forward and reverse reactions can be calculated:

= - ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ k A E RT exp i i a i ( 17
)
where R is the gas constant (R = 8.314 J•mol -1 •K -1 ) and T is the temperature (K). This equation can also be written as

= - × k A Ea R T ln ln 1 i i i ( 18
)
The relation

= ( ) k f ln i T 1 is linear, with a slope equal to - E R i a and a y-intercept of ln A i .
As can be seen in Figure 5, the curves obtained are similar to straight lines with R 2 correlation coefficients between 0.88 and 0.98. Using this representation, the activation energies can be determined. The results are summarized in Table 4.

These activation energies (about 80 kJ•mol -1 ) can be compared with those involved in the esterification of ethylene glycol with acetic acid catalyzed by Amberlyst 36 [START_REF] Schmid | Esterification of ethylene glycol with acetic acid catalyzed by Amberlyst 36[END_REF] (about 40 kJ•mol -1 ). Although they are of the same order of magnitude, the difference can be explained by steric hindrance of the two methyl groups present in the 2,3-BDO compared to ethylene glycol which is a more accessible molecule.

The activation energies of the two successive esterification reactions of 2,3-BDO have the same order of magnitude (Table 4), which means that an increase of temperature does not favor the kinetics of a reaction regarding the other. Nevertheless, it can be noticed that the pre-exponential factors of the second esterification (A 2 and A -2 ) are about four times smaller than those of the first esterification (A 1 and A -1 ), which means that the esterification of 2,3-BDO to monoester is approximately four times faster than the esterification of monoester to diester. This difference in kinetics can explain the "roll-up" observed on the curves showing the evolution of the amount of monoester over time. Furthermore, using the Van't Hoff law (eq 19), it is possible to calculate enthalpies ΔH i (J•mol -1 ) and entropies ΔS i (J•mol -1 •K -1 ) of the two consecutive and reversible reactions and thus the overall enthalpy and entropy of the esterification reaction of 2,3-BDO with AA.

= - Δ ⎛ ⎝ ⎜ ⎞ ⎠ ⎟ K G RT exp i i ( 19
)
where

Δ = Δ -× Δ G H T S i i i ( 20
)
is the Gibbs free energy of reaction i (J•mol -1 ). Combining these two equations, we can write

= - Δ × + Δ K H R T S R ln 1 i i i (21)
The relation ln

= ( ) k f ln i T 1 is thus linear, with a slope equal to - ΔH R i and a y-intercept of ΔS R i .
On Figure 6, we can see that the curves are significantly linear with correlation coefficients R 2 of 0.9944 for K 1 and 0.9596 for K 2 . Using this representation, the enthalpy and entropy of reaction can be determined. The results are summarized in Table 5. The thermodynamic constants of the overall reaction ΔH 3 and ΔS 3 can be written as

Δ = Δ + Δ H H H 3 1 2 (22) Δ = Δ + Δ S S S 3 1 2 (23)
Thus, we showed that the overall enthalpy ΔH 3 is almost zero (0.47 kJ•mol -1 ), which means that the reaction is athermal: the temperature change does not affect the thermodynamics of the reaction. However, working at a high temperature enables to reach thermodynamic equilibrium more quickly, which is preferable if an equipment is up to be designed.

To conclude, in the range of 50 to 110 °C, the highest temperature (110 °C) appears to be preferable to conduct the esterification reaction of 2,3-BDO with AA in the presence of a heterogeneous catalyst, considering various constraints. Indeed, temperature cannot be increased because of AA boiling point (118 °C) at atmospheric pressure, and also catalyst degradation (above 150 °C) or side reactions.

3.4. Influence of the Initial AA/2,3-BDO Molar Ratio. One of the most important variables affecting the diester yield is the initial molar ratio between acetic acid and 2,3-butanediol. Regarding the stoichiometric coefficients of the reaction, the esterification of 2,3-BDO requires two moles of AA per mole of 2,3-BDO to form one mole of diester and two moles of water. However, as the esterification is a balanced reaction, a large excess of AA shifts the equilibrium to the forward reaction of diester formation.

In this part, we conducted three experiments with different initial molar ratios of AA/2,3-BDO (r): r = 2 (stoichiometric ratio), r = 6 (3 equiv of AA compared to 2,3-BDO) and r = 12 (6 equiv). The two other parameters were set: the amount of catalyst at 2.2% and the temperature at 110 °C.

Figure 7 represents the experiments with respectively 1 equiv of AA (a), 3 equiv of AA (b), and 6 equiv of AA (c).

As it was expected, it is clear that the equilibrium is shifted to the forward reaction, that is, the product formation, when one of the reactants (here AA) is in excess. Indeed, an increase of the initial molar ratio AA/2,3-BDO leads to a better conversion of 2,3-BDO into monoester and diester. The resulting compositions of these three balanced reactions carried out with the same amount of catalyst (2.2%) and the same temperature (110 °C) are summarized in the following Table 6.

The reaction carried out with 6 equiv of AA regarding the 2,3-BDO amount (r = 12) yields to a mixture containing 71.1% of diester, 27.1% of monoester, and 1.8% of unreacted diol. It can be noticed that the thermodynamic constants (K 1 and K 2 ) are slightly different: it may be due to activity coefficients which have not been taken into account in our model. Indeed, between r = 2 and r = 12, the composition of the medium is very different and activity coefficients may thus have a low influence. Furthermore, regarding the kinetics of these three reactions (Table 7), kinetic constants decrease with increasing initial molar ratio AA/2,3-BDO. This is due to a dilution effect: AA concentration is certainly higher when the initial molar ratio AA/2,3-BDO is increased, but the other species (containing four atoms of carbon) concentrations are much lower. For example, initially, the product [AA]*[2,3-BDO] is equal to 49.6 mol 2 •L -2 for r = 2, whereas this value is only 33.6 mol 2 •L -2 for r = 6 and 21.0 mol 2 •L -2 for r = 12.

When the ratio r is increased, equilibrium are shifted toward the monoester and diester formation but the time to reach equilibrium is also increased. The dilution of the medium (because of a higher amount of AA) would thus involve higher cost on an industrial plant (cost of separation units). Therefore, a molar ratio AA/2,3-BDO of 2 may be used for this reaction of esterification. 3.5. Comparison of Homogeneous and Heterogeneous Catalysis. As only AA composition in the medium was measured in 1945 (no data on the diol, monoester, and diester), kinetic constants could not be determined. However, times to reach thermodynamic equilibrium were obtained in 1945. At low temperatures, time to reach equilibrium with a homogeneous catalyst is thus lower than this time with a heterogeneous catalysis (Table 8).

E ai (kJ•mol -1 ) A i (L•mol -1 •h -1 )
Table 5. Thermodynamic Parameters of the Esterification of 2,3-BDO with AA (n AA /n 2,3-BDO = 2, n cata /n 2,3-BDO = 2.2%) ΔH i (kJ•mol -1 ) (our work) ΔS i (J mol -1 •K -1 ) (our work) ΔH i (kJ•mol -1 ) (1945 data) [START_REF] Othmer | Esterification of 2,3-Butylene Glycol with Acetic Acid[END_REF] ΔS i (J mol - Nevertheless, under elevated temperatures (between 110 and 120 °C), times to reach thermodynamic equilibrium, either with a homogeneous or heterogeneous catalyst, are similar. As the working temperature would be 110 °C, using a heterogeneous catalyst should present great advantages such as possibility of easy separation compared to operations involved by a homogeneous catalyst.

CONCLUSIONS

This study of the esterification of 2,3-BDO with acetic acid showed that the reaction can be carried out with a heterogeneous catalysis (Amberlyst 36). The main advantage of working with this type of catalyst is its implementation on a fixed bed or on trays of a reactive distillation column, which enables its recycling but also avoids separation operations of the catalyst at the end of the reaction, as it usually occurs with a homogeneous catalyst. Thus, a heterogeneous catalyst seems more attractive than a homogeneous catalyst because it is much easier to implement (no precipitation/filtration stage of the homogeneous catalyst) for equivalent performance. The influence of various parameters such as the amount of catalyst, the initial molar ratio of the two reactants AA/2,3-BDO and temperature was studied over a wide range of values. Favorable parameters were determined to be an initial molar ratio AA/2,3-BDO of 2, with 2.2% of heterogeneous catalyst at 110 °C. Thanks to the different analytical techniques (GC-FID, AA titration, KFC), it was possible to quantitatively determine the composition of the reaction mixture in the function of time. Thus, the mathematical model built is able to accurately represent the evolution of the compounds involved in the reaction and was used to determine kinetic and thermodynamic parameters which have not yet been published to our knowledge. Among the outlooks of this work, a coupling of reaction-separation could be implemented in order to shift the thermodynamic equilibrium and obtain a total conversion of 2,3-BDO into 2,3-BDOmonoAc and 2,3-BDOdiAc.

■ AUTHOR INFORMATION

Corresponding Author *E-mail: romain.richard@iut-tlse3.fr. Tel: (33) 5 34 32 36 26. Fax: (33) 5 34 32 37 00. Address: Laboratoire de Geńie Chimique, 4 alleé Emile Monso CS 84234, 31432 Toulouse cedex 4, France.

Notes

The authors declare no competing financial interest.

■ ACKNOWLEDGMENTS

We gratefully acknowledge the financial support from the Scientific Direction of IFPEN (French Institute of Petroleum and New Energies) which enabled us to lead this research work in the Separation Department.

Figure 1 .

 1 Figure 1. Two steps of the esterification reaction of 2,3-BDO with AA and the global reaction.

2 . 4 .

 24 Numerical Study. 2.4.1. Modeling the Kinetics: Hypotheses and Resulting Equations. Modeling experiments performed with a heterogeneous catalyst require to decouple different physical phenomena: reaction kinetics (catalyzed and uncatalyzed), mass-transfer, and adsorption.

Figure 2 .

 2 Figure 2. Comparison of the kinetic model (continued lines) and experimental data (singular points) for the esterification of 2,3-BDO with AA with 1.1% (a), 2.2% (b), and 4.4% (c) of catalyst (n AA /n 2,3-BDO = 2, T = 110 °C).

Figure 3 .

 3 Figure 3. Comparison of kinetic constants during 2,3-BDO esterification with AA over different catalyst amounts (n AA /n 2,3-BDO = 2, T = 110 °C).

Figure 4 .

 4 Figure 4. Comparison of the kinetic model (continued lines) and data (singular points) for the esterification of 2,3-BDO with AA at 50 °C (a), 70 °C (b), 90 °C (c), and 110 °C (d) (n AA /n 2,3-BDO = 2, n cata /n 2,3-BDO = 2.2.%).

Figure 5 .

 5 Figure 5. Determination of kinetics parameters (E a i and A i ) of esterification of 2,3-BDO with AA (n AA /n 2,3-BDO = 2, n cata /n 2,3-BDO = 2.2 %) Table 4. Kinetic Parameters of the Esterification of 2,3-BDO with AA (n AA /n 2,3-BDO = 2, n cata /n 2,3-BDO = 2.2%)

Figure 6 .

 6 Figure 6. Determination of thermodynamic parameters (ΔH i and ΔS i ) of esterification of 2,3-BDO with AA (n AA /n 2,3-BDO = 2, n cata /n 2,3-BDO = 2.2%) and comparison with 1945 data.[START_REF] Othmer | Esterification of 2,3-Butylene Glycol with Acetic Acid[END_REF]

Figure 7 .

 7 Figure 7. Comparison of the kinetic model (continued lines) and experimental data (singular points) for the esterification of 2,3-BDO with AA at r = 2 (a), r = 6 (b), and r = 12 (c) (T = 110 °C, n cata /n 2,3-BDO = 2.2%).

Table 7 .

 7 Kinetic Constants for the Three Different Experiment Varying the Initial Molar Ratio AA/2,3-BDO (T = 110 °C, n cata /n 2,3-BDO = 2.2%)

Table 1 .

 1 Kinetic and Thermodynamic Constants for Different Amounts of Catalyst (n AA /n 2,3-BDO = 2, T = 110 °C)

	0%	1.1%	2.2%	4.4%

Table 2 .

 2 Kinetics and Thermodynamic Constants for Different Temperatures (n AA /n 2,3-BDO = 2, n cata /n 2,3-BDO = 2.2%)

			50 °C	70 °C	90 °C	110	°C
	k 1 (L•mol -1 •h -1 )	0.0013	0.0035	0.0280	0.1000
	k -1 (L•mol -1 •h -1 )	0.0007	0.0018	0.0156	0.0588
	k 2 (L•mol -1 •h -1 )	0.0005	0.0006	0.0060	0.0400
	k -2 (L•mol -1 •h -1 )	0.0019	0.0021	0.0200	0.1212
	K 1 = k 1 /k	-1	2.00	1.90	1.80	1.70
	K 2 = k 2 /k	-2	0.27	0.29	0.30	0.33

Table 3 .

 3 Thermodynamic Constants at Different Temperatures[START_REF] Othmer | Esterification of 2,3-Butylene Glycol with Acetic Acid[END_REF]

	temp	K 1	K 2	K 3 = K 1 × K 2
	62 °C	0.856	0.115	0.098
	64 °C	0.839	0.115	0.097
	81 °C	1.106	0.123	0.136
	85 °C	1.286	0.126	0.162
	112 °C	2.106	0.132	0.278
	120 °C	2.281	0.135	0.308

  •K -1 ) (1945 data)[START_REF] Othmer | Esterification of 2,3-Butylene Glycol with Acetic Acid[END_REF]

	reaction 1	-2.777	-2.798	19.546	56.644
	reaction 2	3.251	-0.855	3.075	-8.780
	reaction 3	0.474	-3.652	22.621	47.865

Table 6 .

 6 Comparison of the Medium Compositions at Equilibrium and Thermodynamic Constants for the Three Different Experiment Varying the Initial Molar Ratio AA/2,3-BDO (n cata /n 2,3-BDO = 2.2%, T = 110°C)

	at equilibrium	x 2,3-BDO	x 2,3-BDOmonoAc	x 2,3-BDOdiAc	K 1	K 2
	r = 2	26.0%	53.9%	20.1%	1.7	0.33
	r = 6	5.8%	42.7%	51.5%	2.5	0.37
	r = 12	1.8%	27.1%	71.1%	2.6	0.44

Table 8 .

 8 Comparison of Times to Reach Equilibrium of the Esterification Reaction of 2,3-BDO with AA (r = 2) with a Homogeneous Catalyst 15 or a Heterogeneous Catalyst (Our Work)

	62 °C	81 °C 120	°C


Sébastien Ferré
email: ferre@irisa.fr

Analytical Queries on Vanilla RDF Graphs with a Guided Query Builder Approach

As more and more data are available as RDF graphs, the availability of tools for data analytics beyond semantic search becomes a key issue of the Semantic Web. Previous work require the modelling of data cubes on top of RDF graphs. We propose an approach that directly answers analytical queries on unmodified (vanilla) RDF graphs by exploiting the computation features of SPARQL 1.1. We rely on the NF design pattern to design a query builder that completely hides SPARQL behind a verbalization in natural language; and that gives intermediate results and suggestions at each step. Our evaluations show that our approach covers a large range of use cases, scales well on large datasets, and is easier to use than writing SPARQL queries.

Introduction

Data analytics is concerned with groups of facts whereas search is concerned with individual facts. Consider for instance the difference between Which films were directed by Tim Burton? (search) and How many films were produced each year in each country? (data analytics). Data analytics has been well studied in relational databases with data warehousing and OLAP [START_REF] Chaudhuri | An overview of data warehousing and OLAP technology[END_REF], but is still in its infancy in the Semantic Web [START_REF] Colazzo | RDF analytics: lenses over semantic graphs[END_REF][START_REF] Höffner | CubeQA -question answering on RDF data cubes[END_REF][START_REF] Sherkhonov | Semantic faceted search with aggregation and recursion[END_REF]. Most of the existing work adapts the OLAP approach to RDF graphs. Typically, data administrators first derive data cubes from RDF graphs by specifying what are the observations, the dimensions, and the measures [START_REF] Cyganiak | The RDF data cube vocabulary[END_REF]. End-users can then use traditional OLAP-based user interfaces for cube transformations and visualizations. More recently, other kinds of user interfaces have been proposed to ease analytical querying: natural language interfaces [START_REF] Unger | 6th open challenge on question answering over linked data (QALD-6)[END_REF][START_REF] Höffner | CubeQA -question answering on RDF data cubes[END_REF][START_REF] Atzori | QA 3 : a natural language approach to statistical question answering[END_REF]; guided query construction, for instance based on pre-defined query templates [START_REF] Kovacic | Guided query composition with semantic OLAP patterns[END_REF]; and high-level query languages that can be translated to SPARQL [START_REF] Papadaki | Analytics over RDF graphs[END_REF]. The main drawback of using data cubes is that end-users have no direct access to the original RDF graphs, and can only explore the cubes that have been defined by some data administrator. This drawback is mitigated in [START_REF] Colazzo | RDF analytics: lenses over semantic graphs[END_REF] by an Analytical Schema (AnS), from which end-users can derive themselves many different cubes. However, there is still the need for a data administrator to define the AnS. A consequence of the lack of direct access is a limited expressivity for the end-user, compared to the direct use of SPARQL 1.1 [START_REF] Kaminski | Semantics and expressive power of subqueries and aggregates in SPARQL 1.1[END_REF]. Indeed, every OLAP view can be expressed as a SPARQL aggregation query (where each SPARQL result corresponds to a cube cell), while each data cube allows for a limited range of questions. Each new question may require the definition of a new data cube, which can generally be done by the data administrator only. The counterpart of SPARQL's expressivity is that it is much more difficult for an end user to write SPARQL queries than to interact with an OLAP user interface. Another drawback is that SPARQL engines are not optimized for data analytics like OLAP engines. However, they are already usable in practice as we show in this work, their optimization is out of the scope of this paper.

In this paper, we propose an alternative approach that exploits the computation features of SPARQL 1.1 (aggregations, expressions) to directly answer analytical queries on vanilla RDF graphs, i.e. RDF graphs not customized to data analytics. We rely on the NF design pattern [START_REF] Ferré | Bridging the gap between formal languages and natural languages with zippers[END_REF] to design a query builder user interface that is user-friendly and responsive. In particular, it is user-friendly by completely hiding SPARQL behind a verbalization of the built queries in natural language. It is also made responsive by giving intermediate results and suggestions for refining the query, at each step, not only at the end of the building process. Therefore, the user interface of our approach shares features with QA (verbalization of queries and suggestions in natural language), and OLAP (interactive visualization of results).

The paper is organized as follows. Section 2 shortly explains and illustrates the NF design pattern, which serves as a formalization framework for this work. Section 3 formalizes the building of analytical queries as a new instance of NF. Section 4 presents an evaluation of the expressivity, responsiveness, and usability of our approach. A Web application1 is available online, and includes the permalinks of about 70 analytical queries, and some screencasts.

The NF Design Pattern

The purpose of the NF design pattern [START_REF] Ferré | Bridging the gap between formal languages and natural languages with zippers[END_REF] is to bridge the gap between natural languages (NL) and formal languages (FL, here SPARQL), as summarized in Figure 1. The user stands on the NL side, and does not understand the FL. The machine, here a SPARQL endpoint, stands on the FL side, and does not understand the NL. The design pattern has already been instantiated to three tasks with different FLs [START_REF] Ferré | Bridging the gap between formal languages and natural languages with zippers[END_REF]: (a) semantic search with SPARQL basic graph patterns (including cycles), and their combination with UNION, OPTIONAL, and MINUS (hereafter called simple graph patterns (SGP)) [START_REF] Ferré | Sparklis: An expressive query builder for SPARQL endpoints with guidance in natural language[END_REF], (b) semantic authoring with RDF descriptions [START_REF] Hermann | An interactive guidance process supporting consistent updates of RDFS graphs[END_REF], and (c) ontology design and completion with OWL class expressions [START_REF] Ferré | Semantic authoring of ontologies by exploration and elimination of possible worlds[END_REF]. The central element of the bridge is made of the Abstract Syntax Trees (AST) of an Intermediate Language (IL), which is designed to make translations from ASTs to both NL (verbalization) and FL (formalization) as simple as possible. IL has no proper concrete syntax, NL and FL play this role, respectively for the user and the machine. ASTs are tree structures where the nodes represent query components and subqueries. Each node X = C(X 1 , . . . , X n ) is characterized by a construct C, the type of the node, and a tuple of nodes X 1 , . . . , X n , the children of X. NF follows the query builder approach, where the structure that is incrementally built is precisely an AST. Unlike other query builders, the generated query (FL) and the displayed query (NL) may strongly differ in their structure thanks to the mediation of IL. The AST is initially the simplest query, and is incrementally built by applying transformations. A transformation may insert or delete a query component at the focus. The focus is a distinguished node of the AST that the user can freely move to control which parts of the query should be modified. Transformations are suggested by the machine based on query semantics and actual data, and controlled by users after they have been verbalized in NL.

We illustrate NF on simple graph patterns (SGP). The AST That(A(:Film), Has(:director, Term(:Spielberg)))

is a nesting of constructs inspired by NL syntactic constructs, with RDF terms as atomic components (e.g., class :Film, term :Spielberg). The tree structure of the AST is traversed recursively to generate its translations to FL and NL.

-SPARQL: ?x a :Film. ?x :director :Spielberg.

-English: 'a film whose director is Spielberg'

The AST is built through the following sequence of transformations and ASTs (the current focus is underlined):

(0) initial AST : Something (1) class :Film : A(:Film) (2) prop. :director : That(A(:Film), Has(:director, Something)) (3) term :Spielberg: That(A(:Film), Has(:director, Term(:Spielberg))) (4) move focus : That(A(:Film), Has(:director, Term(:Spielberg)))

The transformations are suggested according to the focus and actual results of the current query. For example, at step (2) only properties having a film as subject or object are suggested, and at step (3) only film directors are suggested as terms. At each step, the user interface shows: (a) the verbalization of the current query with the focus highlighted, (b) the results of the generated SPARQL query, and (c) the lists of suggested transformations.

The contribution of this paper is to fill the gap between the end-user and the computation features of SPARQL 1.1 (expressions, filters, bindings, and aggregations) to the purpose of the direct data analytics of vanilla RDF graphs. We realize this by designing a new instance of the NF design pattern, i.e. new kinds of ASTs, along with their transformations, their formalization, and verbalization. Starting from the instance on simple graph patterns (see Section 2), this new instance introduces two new kinds of ASTs that cover the computation features of SPARQL, in addition to graph patterns: tables and expressions. The ASTs of analytical queries are table ASTs, and are composed of graph pattern ASTs and expression ASTs. A simple graph pattern AST P evaluates to a set of mappings M (P ), where each mapping µ ∈ M (P ) is a partial function from variables of the graph pattern to RDF terms. An expression AST E evaluates to an RDF term, computed as eval(E). A table AST T evaluates to a tabular structure with a set of columns C(T ), and a set of rows R(T ) where each row r ∈ R(T ) is a partial mapping from columns to RDF terms.

In the following subsections we progressively cover the computation features of SPARQL by defining new AST constructs. Each subsection presents one or two use cases to motivate the new feature, and then formally defines the new construct. Use cases are based on a concrete dataset, Mondial [START_REF] May | Information extraction and integration with Florid: The Mondial case study[END_REF], that contains geographical knowledge (e.g., countries, cities, continents, bodies of water) with a lot of numerical data (e.g., population, area).

The constructs of expression ASTs are defined at once in Section 3.2. For each new construct of a table AST T , we define:

-C(T ): the set of columns, -R(T ): the set of rows (defined with relational algebra), sparql(T ): the formalization in SPARQL, nl(T ): the verbalization in NL (here English), a set of transformations to build the construct.

An important note is that function sparql() is not always applied to the table AST itself but sometimes to a variation of it that depends on the focus. Variations are explained below where needed. The global formalization of a table T is SELECT * WHERE { sparql(T ) } where T is the focus-dependent variant of T .

Primitive Tables

All of our computation constructs define a table as a function of another table, and so we need primitive tables to start with. Possible candidates for a primitive table are a table of a relational database, an OLAP data cube or a spreadsheet. However, in order to allow direct analytics of vanilla RDF graphs, we propose to use SPARQL simple graph patterns (SGP) to extract arbitrary tables of facts. Indeed, the results of a SPARQL SELECT query are returned as a table. We can then reuse previous work on the NF-based building of SGPs, implemented in the Sparklis tool [START_REF] Ferré | Sparklis: An expressive query builder for SPARQL endpoints with guidance in natural language[END_REF], to help users build those primitive tables.

Definition 1. Let P be a simple graph pattern AST, and sparql(P ) its translation to SPARQL. The table AST T = GetAnswers(P ) represents the primitive table whose columns are the variables of sparql(P ), and rows are the solutions.

-C(T ) = Vars(sparql(P )) -R(T ) = Sols(sparql(P ))

sparql(T ) = sparql(P ) nl(T ) = 'give me nl(P )'

For example, if a user wants to build a primitive table of countries along with their population and area, four steps are enough to build the following AST:

T 0 := GetAnswers(That(A(:Country), And(Has(:population, Something), Has(:area, Something))))

which translates to SPARQL: ?x1 a :Country. ?x1 :population ?x2. ?x1 :area ?x3. and to English: 'give me every country that has a population and that has an area'.

Expressions in Bindings and Filters

Use case (E): Give me the population density for each country, from population and area. SPARQL expressions (e.g., ?pop / ?area) are used in two kinds of contexts: filterings (FILTER) and bindings (SELECT, BIND, GROUP BY). Given a table, a filtering performs a selection on the set of rows based on a Boolean expression. Given a table, a binding adds a column and computes its value for each row with an expression. In both cases, the expression can only refer to the columns of the table. In data analytics, filterings are important to select subsets of data, and bindings are important to derive information that is not explicitely represented, e.g. population density in use case (E).

We first define expression ASTs as they are a component of filterings and bindings. We define them in a classical way, as a composition of constants, variables, and operators/functions. Definition 2 (expression). An expression AST E is composed of RDF terms (constants), table columns (variables), and SPARQL operators/functions. We add the undefined expression construct ?? to allow for the incremental building of expressions. An expression E is said defined when it does not contain ??. We note C(E) the set of columns refered to in the expression.

The evaluation of an expression AST E is denoted by eval r (E), where r is the row on which the evaluation is performed. eval r (E) and sparql(E) are defined in the obvious way, but are only defined when E is defined itself. If the focus is on a subexpression E , then only that subexpression is evaluated and formalized in SPARQL in order to show the value at focus. The verbalization of expression ASTs results from the nesting of the verbalization of its functions and operators. It mixes mathematical notations and text depending on which is the clearer: 'E1 + E2' is clear to everybody and less verbose than 'the addition of E1 and E2', while 'E1 or E2' is less obscure than 'E1 || E2' for non-IT people.

The verbalization of columns is derived from the names of classes and properties used in the graph pattern that introduce them as variables: e.g., in sparql(T 0), 'the population' for x 2 , 'the area' for x 3 . The parts of the expression that are not under focus are displayed in a different way (e.g., gray font) to show that they are not actually computed.

The transformations used to build expression ASTs are the following: (a) insert an RDF term at focus, (b) insert a column at focus, (c) apply an operator or a function at focus. When an operator/function is applied, the focus is automatically moved to the next undefined expression if any (e.g., other function arguments), and to the whole expression otherwise. For instance, the sequence of ASTs and transformations that builds the expression of use case (E), which computes population density from population and area, is the following (the focus is underlined):

(0) inital expression : E = ?? (1) insert column p (population): E = p (2) apply operator / (division) : E = p / ?? (3) insert column a (area)

:

E = p / a
There are constraints on which transformations are applicable so as to avoid misformed expressions. Only columns that are in scope can be inserted. That scope is defined by table AST constructs that contain expressions. Type constraints are also used to determine which operators and functions can be applied, and for which datatypes RDF terms can be inserted. In previous example, at step (2) only numeric operators/functions can be applied because p is an integer, and at step (3) only numeric columns and terms can be inserted. We now define the two table constructs that contain an expression. -

C(T ) = C(T 1 ) -R(T ) = {r | r ∈ R(T 1 ), eval r (E) = true} if E is defined, R(T 1 ) otherwise -sparql(T ) = sparql(T 1 ) FILTER ( sparql(E) ) if E is defined sparql(T 1 ) otherwise -nl(T ) = 'nl(T1) where nl(E)'
Definition 4 (binding). Let T 1 be a table AST, x be a column s.t. x / ∈ C(T 1 ), and E be an expression AST s.t. C(E) ⊆ C(T 1 ). The table AST T = AddColumn(T 1 , x, E) represents the addition of a column x to T 1 , and the binding of x to E.

-C(T ) = C(T 1 ) ∪ {x} -R(T ) = {r ∪ {x → eval r (E)} | r ∈ R(T 1 )} if E is defined, R(T 1 ) otherwise (x is unbound) -sparql(T ) = sparql(T 1 ) BIND ( sparql(E) AS ?x ) if E is defined, sparql(T 1 ) otherwise -nl(T ) =
'nl(T1) and give me name(x) = nl(E)' if name(x) is defined, 'nl(T1) and give me nl(E)'

otherwise

In both constructs, the columns that are in scope of the expression are the columns C(T 1 ). If the focus is on a subexpression E , then function sparql() is applied respectively to T = SelectRows(T 1 , E ) and T = AddColumn(T 1 , x, E ), thus ignoring the rest of the expression in the computation. It suffices to move the focus upward in the AST in order to recover the complete computation.

Filterings and bindings are introduced in the AST by putting the focus on a column, and by applying a function or operator, this initiates the building of an expression. The choice between SelectRows and AddColumn is based on the type of the whole expression under the assumption that Boolean expressions are primarily used to select rows. However, another transformation allows to force the choice of AddColumn to allow a column of Boolean values. Finally, there is a transformation to give a user-defined name name(x) to the new column, which can be used in the verbalization. For instance, starting from the primitive table T 0 defined in Section 3.1, use case (E) can be built through the following sequence of transformations and ASTs: (0-3) ... : T = T 0 (see Section 3.1) (4) focus on x 2 (population):

(5) apply operator / : T = AddColumn(T 0, x 4 , x 2 / ??) (6) insert column x 3 (area) : T = AddColumn(T 0, x 4 , x 2 / x 3 ) (7) name column x 4 as 'population density':

The resulting table AST can be translated to SPARQL: and to English:

'give me every country that has a population and that has an area, and give me the population density = the population / the area'.

Aggregations

We call a basic aggregation the application of an aggregation operator on a set of entities or values, resulting in a single value. Use case (A1): How many countries are there in Europe?. A simple aggregation consists in making groups out of a set of values according to one or several criteria, and then applying an aggregation operator on each group of values. A multiple aggregation extends simple aggregation by having several aggregated values for each group. Use case (A2): Give me the average population and the average area of countries, for each continent.

An aggregation corresponds to an OLAP view, where the grouping criteria are its dimensions, and where the aggregated values are its measures. In SPARQL, aggregations rely on the use of aggregation operators in the SELECT clause, and on GROUP BY clauses. We introduce a new construct for table ASTs that cover all those aggregations.

Definition 5 (aggregations). Let T 1 be a table AST, X ⊆ C(T 1 ) be a set of columns (possibly empty), and G = {(g j , y j , z j )} j∈1..m be a set of triples (aggregation operator, column, column) s.t. for all j ∈ 1..m, y j ∈ C(T 1 ) \ X and z j / ∈ C(T 1 ). The table AST T = Aggregate(T 1 , X, G) represents the table obtained by grouping rows in T 1 by columns X, and for each (g j , y j , z j ) ∈ G, by binding z j to the application of g j to the multiset of values of y j in each group. In C(T ), the y-columns disappear and are replaced by the aggregated zcolumns. In the definition of R(T ), the notation {{...}} is for multisets (a.k.a. bags), and the distinction with sets is important for aggregators such AVG or SUM. Because other table constructs generate a SPARQL graph pattern, we here use a subquery in the definition of sparql(T ) to allow the free combinations of different kinds of computations (see Section 3.4 for examples). If the focus is in T 1 then both R() and sparql() are applied to T 1 instead of T , hence ignoring the aggregation. In this way, the columns that are hidden by the aggregation (C(T 1 )\ X) can be temporarily accessed by moving the focus in T 1 . The verbalization of each aggregated column z j is the verbalization of g j (y j ): e.g., 'the number of nl(yj)', 'the average nl(yj)'. The brackets around 'for each...' indicate an optional part, in the case where X = ∅.

-C(T ) = X ∪ {z j } j∈1.m -R(T ) = {r X ∪ {z j → g j (V j )} j∈1..m | r X ∈ π X R(T 1 ), for each (g j , y j , z j ) ∈ G, V j = {{r(y j ) | r ∈ R(T 1 ), π X r = r X }} } -sparql(T ) = { SELECT ?x 1 . . . ?x n (
Similarly to bindings and filters, an aggregation is introduced in the AST by moving the focus on a column, and by applying an aggregation operator. Then, other columns can be selected, either as grouping criteria or as an additional aggregated column. Type constraints are also used here to restrict which aggregator can be applied to which column. Here is the sequence of transformations that leads to use case (A2) from primitive table T 0:

(0-4) ... : T = T 0 (see Section 3.1) (5) property :continent : T = T 1 = GetAnswers(. . . , Has(:continent, . . .) (6) move focus on x2 (population) [START_REF] Ferré | Sparklis: An expressive query builder for SPARQL endpoints with guidance in natural language[END_REF] apply aggregation AVG :

T = Aggregate(T 1, {}, {(AVG, x2, x5)}) (8) group by x4 (continent): T = Aggregate(T 1, {x4}, {(AVG, x2, x5)}) (9) apply AVG on x3 (area) : T = Aggregate(T 1, {x4}, {(AVG, x2, x5), (AVG, x3, x6)})
Different sequences are possible, elements can be introduced in almost any order, and it is also possible to remove query parts. For example, in (A2), it is possible to first build the query without column x 4 in T 1 (continent), and without grouping by x 4 . This computes the average population and area over all countries. Then the focus can be moved back in T 1 on x 1 (country), insert property :continent to add column x 4 in T 1, and finally move the focus back on the aggregation to group by continent. The resulting AST for (A2) can be translated to SPARQL: 'give me every country that has a population and that has an area and that has a continent and for each continent, give me the average population and the average area'

Combinatorics of Table Constructs

The real power of our approach lies in the combinatorics of the above table constructs (GetAnswers, SelectRows, AddColumn, Aggregate), which can be chained arbitrarily to build more and more sophisticated tables. We illustrate this with three new use cases. Aggregation of bindings. Use case (C1): What is the average GDP per capita, for each continent?. This use case requires to retrieve information about countries, to compute the GDP per capita as (total GDP ×10 6 / population) for each country, and to average the GDP per capita over each continent. The query can be built in 11 steps, producing 3 nested table constructs.

Comparison of aggregations. Use case (C2): Which continents have an average agricultural GDP greater than their average service GDP?. This use case requires to retrieve information about countries, to compute two aggregations for the same grouping (multiple aggregation), and then to express an inequality between the two aggregations (filtering). It can be built in 9 steps, and a nesting of 3 table constructs.

Nested aggregations. Use case (C3): Give me for every number of islands in an archipelago, the number of archipelagos having that number of islands. This use case requires to retrieve islands and their archipelagos, to compute the number of islands per archipelago (simple aggregation), and then to compute for each number of islands, the respective number of archipelagos (simple aggregation). The query can be built in 6 steps, and 3 nested table constructs.

Implementation

We have fully implemented our approach into Sparklis. Its previous version covered all simple graph patterns, and therefore provided everything needed for the building of our primitive tables. Thanks to the genericity of NF, no change was required in the user interface. The impact of our approach appears to users only through a richer query language, and additional suggestions. This makes it easy for users to transit to the new version. On the implementation side, however, a major refactoring of the intermediate language was necessary with the introduction of the new kinds of ASTs for tables and expressions in addition to simple graph patterns. Entirely new components were also introduced, e.g., type inference and type checking for computing some of the new suggestions.

Evaluation

We conducted two evaluations. The first evaluates expressivity and responsiveness from our participation to the QALD-6 challenge. The second evaluates usability with a user study comparing Sparklis to a SPARQL editor.

Evaluation on the QALD-6 Challenge

The QALD-6 challenge (Question Answering over Linked Data) introduced a new task on "Statistical question answering over RDF datacubes" [START_REF] Unger | 6th open challenge on question answering over linked data (QALD-6)[END_REF]. The dataset contains about 4 million transactions on government spendings all over the world, organized into 50 datacubes. There are about 16M triples in total. Note that, although this dataset is represented as a set of datacubes, we answered the challenge questions by building primitive tables from graph patterns, like we would do for any other RDF dataset. We officially took part in the challenge and submitted the answers that we obtained from Sparklis by building queries.

Expressivity. We evaluated expressivity by measuring the coverage of QALD-6 questions. Out of 150 questions (training+test), 148 questions are basic or simple aggregations, and are therefore covered by our approach; and 2 questions (training Q23 and test Q23) are comparisons of two aggregations, and are not covered by our approach. The reason is that the two aggregations use disconnected graph patterns, whereas our approach is limited to a single connected graph pattern. In the challenge, we managed to answer 49/50 test questions, out of which 47 were correct, hence a success rate of 94% (official measure: F 1 = 0.95). The two errors come from an ambiguity in questions Q35 and Q42, which admit several equally plausible answers (URIs with the same label).

Responsiveness. We evaluated responsiveness by measuring the time needed to build queries in our implementation by a user mastering its user interface (the author of this paper). The measures include user interactions and are therefore an upper bound on the system runtime. The query building time ranged from 31s to 6min20s, and half of the queries were built in less than 1min30s (median time). Most QALD-6 questions need 5-10 steps to build the query. It shows that our implementation is responsive enough to satisfy real information needs on large datasets.

Comparison with Writing SPARQL Queries in Yasgui

Methodology. The objective of this user study is to evaluate the benefits of our approach compared to writing SPARQL queries directly. The subjects were 12 pairs of post-graduate students in Computer Science applied to Business Management. They all recently attended a Semantic Web course with about 10h of teaching and practice of SPARQL. Their task was to answer two similar series of 10 questions on the Mondial dataset, covering all kinds of SPARQL computations. The subjects had to use a different system for each series of questions: Yasgui [START_REF] Rietveld | YASGUI: Not just another SPARQL client[END_REF], a SPARQL query editor improved with syntax highlighting, and our Sparklis-based implementation. The subjects had only a short presentation of Sparklis before, and no practice of it. Each subject was randomly assigned an order (Yasgui first vs Sparklis first) to avoid bias. For each system/series, they were given 10min for setup, and 45min for question answering. To help the writing of SPARQL queries, they were given the list of classes and properties used in Mondial. Finally, the subjects filled in a questionnaire to report their feelings and comments.

Objective results. With Yasgui, only the first question was correctly answered by the majority, instead of 5 questions (out of 10) for Sparklis. On average, the number of subjects who correctly answered a question was 3.8 times higher for Sparklis compared to writing SPARQL queries. With Yasgui, the subjects managed to produce answers for 1-3 questions, 1.67 on average. The rate of correct answers is 71%. The best subject answered 3 questions, all correctly, and with an average of 15min per question. In comparison, with Sparklis, the subjects managed to produce answers for 3-10 questions, 6.17 on average. This is 3.7 more questions, and the weakest result for Sparklis is equal to the strongest result for Yasgui. The rate of correct answers is also higher at 85%. Most errors (8/13) were done by only two subjects out of 12. The most common error is the omission of groupings in aggregations, suggesting to make them more visible in the user interface. The best subject answered 10 questions, 8 of which correct, and with an average of 4.5min per question. The time spent per question is generally higher for the first 2 questions, and generally stays under 10min for the other questions, although they are more complex, and can be as low as 2-3min. Those results demonstrate that, even with practice of SPARQL query writing and no practice of Sparklis, subjects quickly learn to use Sparklis, and are much more effective with it. The weakest subject on Sparklis is still as good as the strongest subject on Yasgui. Moreover, all subjects had better results with Sparklis than with Yasgui.

Subjective results. Over the 12 subjects, 9 clearly prefer Sparklis and 3 would rather use Sparklis, hence unanimous preference for Sparklis. On a 0-10 scale, Yasgui got marks between 2 and 8, 4.8 on average, and Sparklis got marks between 7 and 10, 8.3 on average (half of the subjects gave 9-10 marks).

Conclusion

We have shown how SPARQL 1.1 can be leveraged to offer rich data analytics on vanilla RDF graphs through a guided query builder user interface. We have implemented the approach in Sparklis, and validated its expressivity, responsiveness, and usability through the QALD-6 challenge and a user study. The extended Sparklis has been officially adopted as a query tool by Persée 2 , a French organization that provides open access to more than 600,000 scientific publications to researchers in humanities and social sciences.

Fig. 1 .

 1 Fig. 1. Principle of the NF design pattern

?

  x1 a :Country. ?x1 :population ?x2. ?x1 :area ?x3. BIND (?x2/?x3 AS ?x4)

{

  SELECT ?x4 (AVG(?x2) AS ?x5) (AVG(?x3) AS ?x6) WHERE { ?x1 a :Country. ?x1 :population ?x2. ?x1 :area ?x3. ?x1 :continent ?x4. } GROUP BY ?x4 } and to English:

  g 1 (?y 1 ) AS ?z 1 ) . . . (g m (?y m ) AS ?z m ) WHERE { sparql(T 1 ) } GROUP BY ?x 1 . . . ?x n } nl(T ) = 'nl(T1) and [for ...each nl(xi),...] give me ...nl(zj)...'

http://www.irisa.fr/LIS/ferre/sparklis/

http://data.persee.fr/

This research is supported by ANR project PEGASE (ANR-16-CE23-0011).