{"id":1077,"date":"2023-04-18T15:16:56","date_gmt":"2023-04-18T15:16:56","guid":{"rendered":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/?p=1077"},"modified":"2023-04-18T15:19:17","modified_gmt":"2023-04-18T15:19:17","slug":"intro-to-relativity-scripting","status":"publish","type":"post","link":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/","title":{"rendered":"Intro to Relativity Scripting"},"content":{"rendered":"\n<p><em>The content of this blog post was originally posted in the <a href=\"https:\/\/community.relativity.com\/s\/question\/0D51T0000A1uxzySQA\/relativity-script-examples\">Relativity community<\/a> by Jarrod Kimmel, Oasis VP of Engineering, in response to a user asking for advice on writing Relativity scripts.<\/em><\/p>\n\n\n\n<h2>Background<\/h2>\n\n\n\n<p>A <a href=\"https:\/\/platform.relativity.com\/RelativityOne\/#Scripts\/Developing_Relativity_scripts.htm\" target=\"_blank\" rel=\"noreferrer noopener\">Relativity script<\/a> is a combination of XML that defines the properties, inputs, and outputs of the script and SQL logic that defines the actions of the script. You can use custom scripts to extend Relativity\u2019s functionality and modify data sets in workspaces. For example, you can develop scripts to generate custom reports, auto-populate fields, or reformat data based on predetermined parameters.<\/p>\n\n\n\n<h2><strong>Foundation<\/strong><\/h2>\n\n\n\n<p>In order to write the SQL logic for Relativity scripts, you will need a basic understanding of relational databases and Microsoft&#8217;s T-SQL syntax. You can start without this foundational knowledge (many of us do) but getting a basic understanding upfront will help you avoid a lot of beginner mistakes and questions.<\/p>\n\n\n\n<p>A good place to start is IBM&#8217;s course, <a href=\"https:\/\/www.coursera.org\/learn\/introduction-to-relational-databases\" target=\"_blank\" rel=\"noreferrer noopener\">Introduction to Relational Databases<\/a>. I also recommend <a href=\"https:\/\/smile.amazon.com\/Manga-Guide-Databases-Mana-Takahashi\/dp\/1593271905\/\" target=\"_blank\" rel=\"noreferrer noopener\">The Manga Guide to Databases<\/a>\u2014this was my introduction to relational databases and it still holds up today. Microsoft also has a course specifically on <a href=\"https:\/\/learn.microsoft.com\/en-us\/training\/paths\/get-started-querying-with-transact-sql\/\" target=\"_blank\" rel=\"noreferrer noopener\">T-SQL<\/a> (which Relativity is built on).<\/p>\n\n\n\n<h2><strong>Tooling<\/strong><\/h2>\n\n\n\n<p>You can write Relativity scripts entirely through the Relativity front end. However, it&#8217;s kind of like driving on the freeway after pepper spraying yourself directly in the eyes: it&#8217;s painful and you can&#8217;t see anything.<\/p>\n\n\n\n<p>To work with Relativity scripts more efficiently, it is recommended to use a tool such as <a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/ssms\/download-sql-server-management-studio-ssms?view=sql-server-ver16\" target=\"_blank\" rel=\"noreferrer noopener\">SQL Server Management Studio (SSMS)<\/a>. This tool allows you to view the structure of Relativity&#8217;s databases and execute queries. SSMS can be daunting if you\u2019ve never seen it before, but <a href=\"https:\/\/codingsight.com\/sql-server-management-studio-ssms-basics\/\" target=\"_blank\" rel=\"noreferrer noopener\">this blog series<\/a> does a great job.<\/p>\n\n\n\n<h2><strong>Types of Relativity Databases<\/strong><\/h2>\n\n\n\n<p>It is important to note that Relativity does not maintain a document for its database structure and schema change documentation may not be comprehensive. To fully understand the structure of the Relativity databases, it may be necessary to explore them directly using a tool like SSMS.<\/p>\n\n\n\n<p>Relativity is comprised of several databases:<\/p>\n\n\n\n<ul>\n<li><strong>EDDS:<\/strong> houses most of the instance-level data related to Relativity. This can be considered the brain of a given Relativity environment and there\u2019s only one of them in use for the environment at any time.<\/li>\n\n\n\n<li><strong>EDDS#######:<\/strong> There is an&nbsp;EDDS#######&nbsp;for every Relativity workspace and will house information related to the workspace. This is typically where people write their Relativity scripts. The ####### in the database name will equal the workspace\u2019s ArtifactID, which can be found in the EDDS database\u2019s [EDDSDBO].[Case] table.<\/li>\n\n\n\n<li><strong>EDDSArchiving:<\/strong> Relates to the ARM application, storing ARM job configurations and logging. Some interesting stats can be found in this database if you have enough ARM jobs.<\/li>\n\n\n\n<li><strong>EDDSLogging<\/strong>: Allows you to configure environment logging and retains everything that was logged. I believe this was deprecated in RelativityOne but is still used for Relativity Server installations.&nbsp;<a href=\"https:\/\/help.relativity.com\/Server2022\/Content\/Logging\/Logging.htm\" target=\"_blank\" rel=\"noreferrer noopener\">You can read more about how logging is configured here.<\/a><\/li>\n\n\n\n<li><strong>EDDSMetrics:<\/strong> Contains transient data sent to Relativity about your Relativity instance. Unless some customization is done data won\u2019t exist here very long.<\/li>\n\n\n\n<li><strong>EDDSResource: <\/strong>There is an&nbsp;EDDSResource&nbsp;database for each Relativity SQL server. This database contains transient data for various Relativity purposes. Data won\u2019t exist here very long either.<\/li>\n\n\n\n<li><strong>Invariant:<\/strong> There exists an&nbsp;Invariant&nbsp;database for every processing queue manager in the environment. Similar to EDDS, this can be considered the brain of a given Processing environment. I think most environments only have one QM but several can exist.<\/li>\n\n\n\n<li><strong>INV#######:<\/strong> There is an&nbsp;INV#######&nbsp;database for every Relativity workspace that has the Processing application installed and has had a processing job run. This will house processing data related to the workspace. The ####### in the database name will equal the workspace\u2019s ArtifactID.<\/li>\n\n\n\n<li><strong>SecretStore:<\/strong> Contains encrypted secrets stored by Relativity and an audit log for inserts\/updates\/reads\/deletes of those secrets.<\/li>\n<\/ul>\n\n\n\n<h2><strong>What\u2019s Next?<\/strong><\/h2>\n\n\n\n<p>In order to run Relativity scripts, you will need to have access to the appropriate database and permissions to execute queries. The permissions required for a script will depend on the specific actions it performs and the objects it accesses.<\/p>\n\n\n\n<p>Overall, learning about Relativity scripting will require a combination of foundational knowledge about relational databases and T-SQL syntax, as well as practical experience working with the Relativity databases and writing scripts. It\u2019s possible to dig around the EDDS####### databases to try and become familiar enough with a Relativity workspace\u2019s structure to write the script you\u2019re looking to write.<\/p>\n\n\n\n<p>With the right tools and resources, you can begin to effectively create and run Relativity scripts. If you\u2019re struggling to create a custom script, contact <a href=\"mailto:info@oasisdiscovery.com\" target=\"_blank\" rel=\"noreferrer noopener\">info@oasisdiscovery.com<\/a> and let&#8217;s talk about it!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-18-at-10.03.21-AM.png\" alt=\"\" class=\"wp-image-1079\" width=\"221\" height=\"213\" srcset=\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-18-at-10.03.21-AM.png 312w, https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2023\/04\/Screenshot-2023-04-18-at-10.03.21-AM-300x288.png 300w\" sizes=\"(max-width: 221px) 100vw, 221px\" \/><\/figure><\/div>\n\n\n<p><strong>Jarrod Kimmel<\/strong><\/p>\n\n\n\n<p>Vice President of Engineering<\/p>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/kimmelsnbits\/\" target=\"_blank\" rel=\"noreferrer noopener\">Connect on LinkedIn<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Relativity script is a combination of XML that defines the properties, inputs, and outputs of the script and SQL logic that defines the actions of the script. You can use custom scripts to extend Relativity\u2019s functionality and modify data sets in workspaces. For example, you can develop scripts to generate custom reports, auto-populate fields, or reformat data based on predetermined parameters.<\/p>\n","protected":false},"author":2,"featured_media":1082,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":""},"categories":[5],"tags":[69,7,9,8],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.11 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Intro to Relativity Scripting | Oasis Blog<\/title>\n<meta name=\"description\" content=\"You can use custom scripts to extend Relativity\u2019s functionality and modify data sets in workspaces. For example, you can develop scripts to generate custom reports, auto-populate fields, or reformat data based on predetermined parameters.\" \/>\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.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Intro to Relativity Scripting | Oasis Blog\" \/>\n<meta property=\"og:description\" content=\"You can use custom scripts to extend Relativity\u2019s functionality and modify data sets in workspaces. For example, you can develop scripts to generate custom reports, auto-populate fields, or reformat data based on predetermined parameters.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/\" \/>\n<meta property=\"og:site_name\" content=\"Oasis Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-18T15:16:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-18T15:19:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2023\/04\/books.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"576\" \/>\n\t<meta property=\"og:image:height\" content=\"471\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Oasis Discovery\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oasis Discovery\" \/>\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.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/\"},\"author\":{\"name\":\"Oasis Discovery\",\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/person\/6ad672109da7d89fea903f4266ca8346\"},\"headline\":\"Intro to Relativity Scripting\",\"datePublished\":\"2023-04-18T15:16:56+00:00\",\"dateModified\":\"2023-04-18T15:19:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/\"},\"wordCount\":803,\"publisher\":{\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#organization\"},\"keywords\":[\"Custom Development\",\"eDiscovery\",\"Legal Technology\",\"Relativity\"],\"articleSection\":[\"eDiscovery\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/\",\"url\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/\",\"name\":\"Intro to Relativity Scripting | Oasis Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#website\"},\"datePublished\":\"2023-04-18T15:16:56+00:00\",\"dateModified\":\"2023-04-18T15:19:17+00:00\",\"description\":\"You can use custom scripts to extend Relativity\u2019s functionality and modify data sets in workspaces. For example, you can develop scripts to generate custom reports, auto-populate fields, or reformat data based on predetermined parameters.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Intro to Relativity Scripting\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#website\",\"url\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/\",\"name\":\"Oasis Blog\",\"description\":\"eDiscovery, Cloud, and Legal Technology News from Oasis\",\"publisher\":{\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#organization\",\"name\":\"Oasis Discovery\",\"url\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2020\/04\/Oasis_Gradient_Blue_RGB.png\",\"contentUrl\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2020\/04\/Oasis_Gradient_Blue_RGB.png\",\"width\":500,\"height\":205,\"caption\":\"Oasis Discovery\"},\"image\":{\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/oasis-discovery\",\"https:\/\/www.youtube.com\/channel\/UC3abuFo4hTfsGEdGqDzQiGA\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/person\/6ad672109da7d89fea903f4266ca8346\",\"name\":\"Oasis Discovery\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7fcd9dd8dd99cab0a4fb38f67b48d95a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7fcd9dd8dd99cab0a4fb38f67b48d95a?s=96&d=mm&r=g\",\"caption\":\"Oasis Discovery\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Intro to Relativity Scripting | Oasis Blog","description":"You can use custom scripts to extend Relativity\u2019s functionality and modify data sets in workspaces. For example, you can develop scripts to generate custom reports, auto-populate fields, or reformat data based on predetermined parameters.","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.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/","og_locale":"en_US","og_type":"article","og_title":"Intro to Relativity Scripting | Oasis Blog","og_description":"You can use custom scripts to extend Relativity\u2019s functionality and modify data sets in workspaces. For example, you can develop scripts to generate custom reports, auto-populate fields, or reformat data based on predetermined parameters.","og_url":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/","og_site_name":"Oasis Blog","article_published_time":"2023-04-18T15:16:56+00:00","article_modified_time":"2023-04-18T15:19:17+00:00","og_image":[{"width":576,"height":471,"url":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2023\/04\/books.jpg","type":"image\/jpeg"}],"author":"Oasis Discovery","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oasis Discovery","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/#article","isPartOf":{"@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/"},"author":{"name":"Oasis Discovery","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/person\/6ad672109da7d89fea903f4266ca8346"},"headline":"Intro to Relativity Scripting","datePublished":"2023-04-18T15:16:56+00:00","dateModified":"2023-04-18T15:19:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/"},"wordCount":803,"publisher":{"@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#organization"},"keywords":["Custom Development","eDiscovery","Legal Technology","Relativity"],"articleSection":["eDiscovery"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/","url":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/","name":"Intro to Relativity Scripting | Oasis Blog","isPartOf":{"@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#website"},"datePublished":"2023-04-18T15:16:56+00:00","dateModified":"2023-04-18T15:19:17+00:00","description":"You can use custom scripts to extend Relativity\u2019s functionality and modify data sets in workspaces. For example, you can develop scripts to generate custom reports, auto-populate fields, or reformat data based on predetermined parameters.","breadcrumb":{"@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/ediscovery\/intro-to-relativity-scripting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/"},{"@type":"ListItem","position":2,"name":"Intro to Relativity Scripting"}]},{"@type":"WebSite","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#website","url":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/","name":"Oasis Blog","description":"eDiscovery, Cloud, and Legal Technology News from Oasis","publisher":{"@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#organization","name":"Oasis Discovery","url":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/logo\/image\/","url":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2020\/04\/Oasis_Gradient_Blue_RGB.png","contentUrl":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-content\/uploads\/2020\/04\/Oasis_Gradient_Blue_RGB.png","width":500,"height":205,"caption":"Oasis Discovery"},"image":{"@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/oasis-discovery","https:\/\/www.youtube.com\/channel\/UC3abuFo4hTfsGEdGqDzQiGA"]},{"@type":"Person","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/person\/6ad672109da7d89fea903f4266ca8346","name":"Oasis Discovery","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7fcd9dd8dd99cab0a4fb38f67b48d95a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7fcd9dd8dd99cab0a4fb38f67b48d95a?s=96&d=mm&r=g","caption":"Oasis Discovery"}}]}},"_links":{"self":[{"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/posts\/1077"}],"collection":[{"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/comments?post=1077"}],"version-history":[{"count":5,"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/posts\/1077\/revisions"}],"predecessor-version":[{"id":1084,"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/posts\/1077\/revisions\/1084"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/media\/1082"}],"wp:attachment":[{"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/media?parent=1077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/categories?post=1077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oasisdiscovery.com\/ediscovery-unredacted\/wp-json\/wp\/v2\/tags?post=1077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}