{"id":13122,"date":"2019-12-03T07:28:28","date_gmt":"2019-12-03T06:28:28","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/"},"modified":"2019-12-03T07:28:28","modified_gmt":"2019-12-03T06:28:28","slug":"documentum-ft-xquery-is-very-useful","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/","title":{"rendered":"Documentum &#8211; FT &#8211; XQuery is very useful"},"content":{"rendered":"<p>At a customer we encountered some issues with FT Search after documents migration. In fact, some documents were not indexed correctly or partially indexed, the need was to know which documents are impacted to resubmit the indexing again. The FTIntegrity tool is not able to give the needed result, so the only way was XQuery search.<br \/>\n<!--more--><br \/>\nHowever, this blog is not only to show you how to solve this issue, my goal here is to share with you what very useful XQuery was to solve my issue, and what I learned from my first XQuery use.<\/p>\n<h1>XQuery Introduction<\/h1>\n<p>First of all, what is XQuery?<\/p>\n<ul>\n<li> XQuery is a language for finding and extracting elements and attributes from XML documents<\/li>\n<li> XQuery for XML is like SQL for databases<\/li>\n<li> XQuery is built on XPath expressions<\/li>\n<\/ul>\n<p>XQuery Expressions (I would say usual expressions) : <\/p>\n<ul>\n<li>For : selects a sequence of nodes<\/li>\n<li>Let : binds a sequence to a variable<\/li>\n<li>Where : filters the nodes<\/li>\n<li>Order by : sorts the nodes<\/li>\n<li>Return : what to return (gets evaluated once for every node)<\/li>\n<\/ul>\n<p>As an example, the below books.xml file:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n\n&lt;bookstore&gt;\n\n\t&lt;book category=&quot;CATEGORY 1&quot;&gt;\n\t\t&lt;title lang=&quot;en&quot;&gt;PRODUCT 2&lt;\/title&gt;\n\t\t&lt;author&gt;AUTHOR 1&lt;\/author&gt;\n\t\t&lt;year&gt;2017&lt;\/year&gt;\n\t\t&lt;price&gt;100&lt;\/price&gt;\n\t&lt;\/book&gt;\n\t\n\t&lt;book category=&quot;CATEGORY 2&quot;&gt;\n\t\t&lt;title lang=&quot;en&quot;&gt;PRODUCT 1&lt;\/title&gt;\n\t\t&lt;author&gt;AUTHOR 1&lt;\/author&gt;\n\t\t&lt;author&gt;AUTHOR 2&lt;\/author&gt;\n\t\t&lt;year&gt;2018&lt;\/year&gt;\n\t\t&lt;price&gt;200&lt;\/price&gt;\n\t&lt;\/book&gt;\n\t\n\t&lt;book category=&quot;CATEGORY 2&quot;&gt;\n\t\t&lt;title lang=&quot;en&quot;&gt;PRODUCT 3&lt;\/title&gt;\n\t\t&lt;author&gt;AUTHOR 3&lt;\/author&gt;\n\t\t&lt;year&gt;2015&lt;\/year&gt;\n\t\t&lt;price&gt;20&lt;\/price&gt;\n\t&lt;\/book&gt;\n\n&lt;\/bookstore&gt; \n<\/pre>\n<p><strong>Example 1:<\/strong><br \/>\nQuery :<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\nfor $x in doc(\"books.xml\")\/bookstore\/book\nwhere $x\/price&gt;30\nreturn $x\/title \n<\/pre>\n<p>Result:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;title lang=&quot;en&quot;&gt;PRODUCT 2&lt;\/title&gt;\n&lt;title lang=&quot;en&quot;&gt;PRODUCT 1&lt;\/title&gt;\n<\/pre>\n<p><strong>Example 2:<\/strong><br \/>\nQuery :<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\n <ul>\n {\n for $x in doc(\"books.xml\")\/bookstore\/book\/title\n order by $x\n return <li>{data($x)}<\/li>\n }\n <\/ul> \n<\/pre>\n<p>Result:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;ul&gt;\n&lt;li&gt;PRODUCT 1&lt;\/li&gt;\n&lt;li&gt;PRODUCT 2&lt;\/li&gt;\n&lt;li&gt;PRODUCT 3&lt;\/li&gt;\n&lt;\/ul&gt; \n<\/pre>\n<h1>How XQuery solved my issue?<\/h1>\n<p>Now, let&#8217;s come back to the Documentum FullText world, in the Documentum xPlore Administrator under &#8220;Diagnostic and Utilities&#8221; -&gt; &#8220;Test Search&#8221;, you can make search by keyword, or execute a XQuery:<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-1.png\" \/><br \/>\nThe below query means:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\nlet $j:= for $i score $s in \/dmftdoc&#x5B;. ftcontains 'TESTFT' with stemming using stop words default] order by $s descending \nreturn &lt;b&gt; {$i\/dmftmetadata\/\/r_object_id}  { $i\/dmftmetadata\/\/object_name } { $i\/dmftmetadata\/\/r_modifier } return subsequence($j,1,200) &lt;\/b&gt;\n<\/pre>\n<ul>\n<li>$s correspond to all dmftdoc entries containing &#8220;TESTFT&#8221; word, in a descending order.<\/li>\n<li>$i correspond to each line in $s.<\/li>\n<li>For each $i return the r_object_id, object_name, and r_modifier.<\/li>\n<li>The returned data are put in $j.<\/li>\n<li>subsequence is a XQuery function, where:<\/li>\n<ol>&#8211; $j : is a sequence, and can contain 0 or more items.<\/ol>\n<ol>&#8211;  index of items from which sub-sequence is to be created. Index starts from 1 here.<\/ol>\n<ol>&#8211;  length of subsequence, here 200.<\/ol>\n<\/ul>\n<p>From this default query you can make yours, but how to know the XML structure?<br \/>\nIn fact, I make any search to get any result, then click on any line :<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-11.jpg\" \/><\/p>\n<p>The dmftdoc for this document will appear and you can take it as a base to build your query, for example:<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-2.png\" \/><br \/>\n<em>E.g. You can select only hidden documents (see the below query).<\/em><\/p>\n<p>To solve my issue and select only documents partially indexed, I executed the below query:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\nlet $j:= for $i score $s in \/dmftdoc&#x5B;.] order by $s descending \nwhere not(exists($i\/dmftdsearchinternals\/dmftsummarytokens_0))\nreturn &lt;d&gt; {$i\/dmftmetadata\/\/r_object_id} { $i\/dmftmetadata\/\/object_name } { $i\/dmftmetadata\/\/a_content_type } &lt;\/d&gt;\nreturn subsequence($j,1,1500)\n<\/pre>\n<p>The condition here is not anymore the content of the document, I am looking here for all documents not having dmftsummarytokens_0, if so, the r_object_id, object_name, and a_content_type are listed. Moreover, I limited the display to 1500 documents to be handled easily after.<\/p>\n<p><strong>Other useful XQueries:<\/strong><br \/>\n&#8211; List documents indexed as hidden:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\nlet $j:= for $i score $s in \/dmftdoc&#x5B;.] order by $s descending \nwhere (($i\/dmftmetadata\/\/a_is_hidden)=&quot;true&quot;)\nreturn &lt;d&gt; {$i\/dmftmetadata\/\/r_object_id} { $i\/dmftmetadata\/\/object_name } { $i\/dmftmetadata\/\/a_content_type } &lt;\/d&gt;\nreturn subsequence($j,1,150)\n<\/pre>\n<p>&#8211; List documents having content size equal to zero:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\nlet $j:= for $i score $s in \/dmftdoc&#x5B;.] order by $s descending \nwhere (($i\/dmftmetadata\/\/r_content_size)=0)\nreturn &lt;d&gt; {$i\/dmftmetadata\/\/r_object_id} { $i\/dmftmetadata\/\/object_name } { $i\/dmftmetadata\/\/a_content_type } &lt;\/d&gt;\nreturn subsequence($j,1,150)\n<\/pre>\n<p>XQuery search helped me to solve many issues, and you? Did you already experienced it in this context?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At a customer we encountered some issues with FT Search after documents migration. In fact, some documents were not indexed correctly or partially indexed, the need was to know which documents are impacted to resubmit the indexing again. The FTIntegrity tool is not able to give the needed result, so the only way was XQuery [&hellip;]<\/p>\n","protected":false},"author":46,"featured_media":13123,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[129,1072,1772],"type_dbi":[],"class_list":["post-13122","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-integration-middleware","tag-documentum","tag-ft","tag-xquery"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Documentum - FT - XQuery is very useful - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documentum - FT - XQuery is very useful\" \/>\n<meta property=\"og:description\" content=\"At a customer we encountered some issues with FT Search after documents migration. In fact, some documents were not indexed correctly or partially indexed, the need was to know which documents are impacted to resubmit the indexing again. The FTIntegrity tool is not able to give the needed result, so the only way was XQuery [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-03T06:28:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"906\" \/>\n\t<meta property=\"og:image:height\" content=\"312\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Diab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Diab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/\"},\"author\":{\"name\":\"David Diab\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/deb907c3360cacdc6c7df54b4bac3c86\"},\"headline\":\"Documentum &#8211; FT &#8211; XQuery is very useful\",\"datePublished\":\"2019-12-03T06:28:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/\"},\"wordCount\":865,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/Blog-FT-XQuery-1.png\",\"keywords\":[\"Documentum\",\"FT\",\"xquery\"],\"articleSection\":[\"Application integration &amp; Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/\",\"name\":\"Documentum - FT - XQuery is very useful - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/Blog-FT-XQuery-1.png\",\"datePublished\":\"2019-12-03T06:28:28+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/deb907c3360cacdc6c7df54b4bac3c86\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/Blog-FT-XQuery-1.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/Blog-FT-XQuery-1.png\",\"width\":906,\"height\":312},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/documentum-ft-xquery-is-very-useful\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentum &#8211; FT &#8211; XQuery is very useful\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/deb907c3360cacdc6c7df54b4bac3c86\",\"name\":\"David Diab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"caption\":\"David Diab\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/david-diab\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Documentum - FT - XQuery is very useful - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/","og_locale":"en_US","og_type":"article","og_title":"Documentum - FT - XQuery is very useful","og_description":"At a customer we encountered some issues with FT Search after documents migration. In fact, some documents were not indexed correctly or partially indexed, the need was to know which documents are impacted to resubmit the indexing again. The FTIntegrity tool is not able to give the needed result, so the only way was XQuery [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/","og_site_name":"dbi Blog","article_published_time":"2019-12-03T06:28:28+00:00","og_image":[{"width":906,"height":312,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-1.png","type":"image\/png"}],"author":"David Diab","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Diab","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/"},"author":{"name":"David Diab","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86"},"headline":"Documentum &#8211; FT &#8211; XQuery is very useful","datePublished":"2019-12-03T06:28:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/"},"wordCount":865,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-1.png","keywords":["Documentum","FT","xquery"],"articleSection":["Application integration &amp; Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/","url":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/","name":"Documentum - FT - XQuery is very useful - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-1.png","datePublished":"2019-12-03T06:28:28+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Blog-FT-XQuery-1.png","width":906,"height":312},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-ft-xquery-is-very-useful\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Documentum &#8211; FT &#8211; XQuery is very useful"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86","name":"David Diab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","caption":"David Diab"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/david-diab\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/13122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=13122"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/13122\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/13123"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=13122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=13122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=13122"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=13122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}