diff --git a/rcfexpense_sparnatural.ttl b/rcfexpense_sparnatural.ttl
index 797209e7e9cd41ada01a62be51012e4ab6fd68a2_cmNmZXhwZW5zZV9zcGFybmF0dXJhbC50dGw=..1ab132c64d8aa55dfdfccbf9e055602e52872afb_cmNmZXhwZW5zZV9zcGFybmF0dXJhbC50dGw= 100644
--- a/rcfexpense_sparnatural.ttl
+++ b/rcfexpense_sparnatural.ttl
@@ -13,7 +13,16 @@
 #    Object Properties
 #################################################################
 
+###  http://rcfexpense.logilab.fr/fieldLabel
+:fieldLabel rdf:type owl:ObjectProperty ;
+            rdfs:subPropertyOf <http://data.sparna.fr/ontologies/sparnatural-config-core#SearchProperty> ;
+            rdfs:domain :SingleField ;
+            rdfs:range :Search ;
+            <http://data.sparna.fr/ontologies/sparnatural-config-core#sparqlString> "<http://rcfexpense.logilab.fr/name>" ;
+            rdfs:label "contient"@fr .
+
+
 ###  http://rcfexpense.logilab.fr/hasField
 :hasField rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf owl:topObjectProperty ;
           rdfs:domain :Page ;
@@ -16,8 +25,10 @@
 ###  http://rcfexpense.logilab.fr/hasField
 :hasField rdf:type owl:ObjectProperty ;
           rdfs:subPropertyOf owl:topObjectProperty ;
           rdfs:domain :Page ;
-          rdfs:range :Field .
+          rdfs:range :SingleField ;
+          <http://data.sparna.fr/ontologies/sparnatural-config-core#sparqlString> "<http://rcfexpense.logilab.fr/hasField>"@fr ;
+          rdfs:label "contient le champ"@fr .
 
 
 ###  http://rcfexpense.logilab.fr/hasMultipleField
@@ -45,5 +56,6 @@
 
 ###  http://rcfexpense.logilab.fr/hasSingleField
 :hasSingleField rdf:type owl:ObjectProperty ;
-                rdfs:subPropertyOf :hasField ;
+                rdfs:subPropertyOf <http://data.sparna.fr/ontologies/sparnatural-config-core#NonSelectableProperty> ,
+                                   :hasField ;
                 rdfs:domain :Page ;
@@ -49,5 +61,7 @@
                 rdfs:domain :Page ;
-                rdfs:range :SingleField .
+                rdfs:range :SingleField ;
+                <http://data.sparna.fr/ontologies/sparnatural-config-core#sparqlString> "<http://rcfexpense.logilab.fr/hasSingleField>" ;
+                rdfs:label "contient"@fr .
 
 
 ###  http://rcfexpense.logilab.fr/hasSubField
@@ -93,6 +107,15 @@
               rdfs:label "est dans le registre"@fr .
 
 
+###  http://rcfexpense.logilab.fr/isSingleFieldOfPage
+:isSingleFieldOfPage rdf:type owl:ObjectProperty ;
+                     rdfs:subPropertyOf <http://data.sparna.fr/ontologies/sparnatural-config-core#AutocompleteProperty> ;
+                     rdfs:domain :SingleField ;
+                     rdfs:range :Page ;
+                     <http://data.sparna.fr/ontologies/sparnatural-config-core#sparqlString> "^<http://rcfexpense.logilab.fr/hasSingleField>" ;
+                     rdfs:label "est dans"@fr .
+
+
 ###  http://rcfexpense.logilab.fr/registerIsInSeason
 :registerIsInSeason rdf:type owl:ObjectProperty ;
                     rdfs:subPropertyOf <http://data.sparna.fr/ontologies/sparnatural-config-core#TimeProperty-Year> ;
@@ -175,7 +198,9 @@
 #################################################################
 
 ###  http://rcfexpense.logilab.fr/Field
-:Field rdf:type owl:Class .
+:Field rdf:type owl:Class ;
+       <http://data.sparna.fr/ontologies/sparnatural-config-core#faIcon> "fas fa-money-bill-alt" ;
+       rdfs:label "Champ"@fr .
 
 
 ###  http://rcfexpense.logilab.fr/MultipleField
@@ -209,6 +234,13 @@
           rdfs:label "Registre"@fr .
 
 
+###  http://rcfexpense.logilab.fr/Search
+:Search rdf:type owl:Class ;
+        rdfs:subClassOf <http://data.sparna.fr/ontologies/sparnatural-config-core#SparnaturalClass> ;
+        <http://data.sparna.fr/ontologies/sparnatural-config-core#faIcon> "fas fa-search" ;
+        rdfs:label "Rechercher"@fr .
+
+
 ###  http://rcfexpense.logilab.fr/Season
 :Season rdf:type owl:Class ;
         rdfs:subClassOf <http://data.sparna.fr/ontologies/sparnatural-config-core#SparnaturalClass> ;
@@ -218,10 +250,13 @@
 
 ###  http://rcfexpense.logilab.fr/SingleField
 :SingleField rdf:type owl:Class ;
-             rdfs:subClassOf :Field .
+             rdfs:subClassOf <http://data.sparna.fr/ontologies/sparnatural-config-core#SparnaturalClass> ,
+                             :Field ;
+             <http://data.sparna.fr/ontologies/sparnatural-config-core#faIcon> "fas fa-money-bill-alt" ;
+             rdfs:label "Champ simple"@fr .
 
 
 ###  http://rcfexpense.logilab.fr/Value
 :Value rdf:type owl:Class .
 
 
@@ -222,7 +257,14 @@
 
 
 ###  http://rcfexpense.logilab.fr/Value
 :Value rdf:type owl:Class .
 
 
+#################################################################
+#    Annotations
+#################################################################
+
+rdfs:Literal <http://data.sparna.fr/ontologies/sparnatural-config-core#faIcon> "fas fa-search" .
+
+
 ###  Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi
diff --git a/src/QueryGenerators.js b/src/QueryGenerators.js
index 797209e7e9cd41ada01a62be51012e4ab6fd68a2_c3JjL1F1ZXJ5R2VuZXJhdG9ycy5qcw==..1ab132c64d8aa55dfdfccbf9e055602e52872afb_c3JjL1F1ZXJ5R2VuZXJhdG9ycy5qcw== 100644
--- a/src/QueryGenerators.js
+++ b/src/QueryGenerators.js
@@ -207,8 +207,8 @@
 				  }
 				  break;
 			  case Config.SEARCH_PROPERTY:
-				  var searchKey = component.CriteriaGroup.EndClassWidgetGroup.selectedValues[0] ;			  	
-				  jsonFilter = this.initFilterSearch(searchKey, objectVariable) ;
+					var searchKey = component.CriteriaGroup.EndClassWidgetGroup.selectedValues[0] ;
+					var jsonFilter = this.initFilterSearch(searchKey, objectVariable) ;
 				  jsonQuery.where.push(jsonFilter) ;
 				  break;
 			  case Config.GRAPHDB_SEARCH_PROPERTY:
diff --git a/src/index.html b/src/index.html
index 797209e7e9cd41ada01a62be51012e4ab6fd68a2_c3JjL2luZGV4Lmh0bWw=..1ab132c64d8aa55dfdfccbf9e055602e52872afb_c3JjL2luZGV4Lmh0bWw= 100644
--- a/src/index.html
+++ b/src/index.html
@@ -220,6 +220,14 @@
         };
 
         rdfsLabelPostProcess = function (queryString, queryJson) {
+          if (queryString.indexOf("?this rdf:type <http://rcfexpense.logilab.fr/SingleField>") !== -1){
+            queryString = queryString.replace(
+            new RegExp("}$"),
+            "  ?this <http://rcfexpense.logilab.fr/name> ?nom.  \n}"
+          );
+
+          return queryString;
+          }
           queryString = queryString.replace(
             new RegExp("}$"),
             "  ?this rdfs:label ?label FILTER(lang(?label) = 'fr') \n}"
@@ -228,6 +236,25 @@
         };
 
         orderByPostProcess = function (queryString, queryJson) {
+          if (queryString.indexOf("?this rdf:type <http://rcfexpense.logilab.fr/SingleField>") !== -1){
+            queryString = queryString.replace(
+            new RegExp("}$"),
+            " ?this ^<http://rcfexpense.logilab.fr/hasSingleField> ?page.\
+              ?page <http://rcfexpense.logilab.fr/pageNumber> ?numpage.\
+              ?page ^<http://rcfexpense.logilab.fr/hasPage> ?registeruri.\
+              ?registeruri rdfs:label ?registre.\
+              ?this <http://rcfexpense.logilab.fr/hasValue> ?V. \
+              ?V <http://rcfexpense.logilab.fr/livres> ?livres.\
+              ?V <http://rcfexpense.logilab.fr/sols> ?sols. \
+              ?V <http://rcfexpense.logilab.fr/deniers> ?deniers.\
+            } LIMIT 5000"
+          );
+          queryString = queryString.replace(
+            "SELECT DISTINCT ?this",
+            "SELECT DISTINCT ?this ?registre ?numpage ?nom ?livres ?sols ?deniers"
+          );
+          return queryString;
+          }
           queryString = queryString.replace(
             new RegExp("}$"),
             "}\nORDER BY ?label LIMIT 5000"
@@ -236,6 +263,7 @@
             "SELECT DISTINCT ?this",
             "SELECT DISTINCT (STR(?label) AS ?nom) ?this"
           );
+
           return queryString;
         };