diff --git a/dev/js/src/match/corpusByMatch.js b/dev/js/src/match/corpusByMatch.js
index 59038a0..050ecb7 100644
--- a/dev/js/src/match/corpusByMatch.js
+++ b/dev/js/src/match/corpusByMatch.js
@@ -49,14 +49,14 @@
       // Meta information is a single value
       if (target.tagName === 'DD') {
         type = target.getAttribute("data-type");
-        key  = target.previousSibling.innerText;
+        key  = target.previousElementSibling.innerText;
         value = target.innerText;
       }
 
       // Meta information is in a list
       else if (target.tagName === 'DIV') {
         type = target.parentNode.getAttribute("data-type");
-        key = target.parentNode.previousSibling.innerText;
+        key = target.parentNode.previousElementSibling.innerText;
         value = target.innerText;
       };
 
@@ -64,6 +64,8 @@
       if (type === "type:store")
         return;
 
+      type = type || "type:string";
+      
       // Add or remove the constraint to the fragment
       if (key && value) {
         if (target.classList.contains("chosen")) {
@@ -94,8 +96,8 @@
     },
 
     // Stringify annotation
-    toString : function () {
-      return '';
+    toQuery : function () {
+      return this._fragment.toQuery();
     }
   };
 });
diff --git a/dev/js/src/vc/fragment.js b/dev/js/src/vc/fragment.js
index a623549..a03e845 100644
--- a/dev/js/src/vc/fragment.js
+++ b/dev/js/src/vc/fragment.js
@@ -145,6 +145,19 @@
         e.appendChild(root);
         
       return this;
-    }      
+    },
+
+    toQuery : function () {
+      if (this._operands.length === 0)
+        return '';
+
+      let str = '(' + this._operands.map(
+        function (item) {
+          return item[0] + ' = "' + new String(item[1]).quote() + '"';
+        }
+      ).join(" & ");
+      
+      return str + ')';
+    }
   }
 });
