diff --git a/core/modules/book/book.views.inc b/core/modules/book/book.views.inc
new file mode 100644
index 0000000..2fe6888
--- /dev/null
+++ b/core/modules/book/book.views.inc
@@ -0,0 +1,125 @@
+<?php
+
+/**
+ * @file
+ * Provide views data for book.module.
+ *
+ * @ingroup views_module_handlers
+ */
+
+/**
+ * Implements hook_views_data().
+ */
+function book_views_data() {
+  $data = [];
+  $data['book'] = [];
+  $data['book']['table'] = [];
+  $data['book']['table']['group']  = t('Book');
+
+  $data['book']['table']['join'] = [
+    'node' => [
+      'left_field' => 'nid',
+      'field' => 'nid',
+    ],
+  ];
+
+  $data['book']['nid'] = [
+    'title' => t('Page'),
+    'help' => t('The book page node.'),
+    'relationship' => [
+      'base' => 'node',
+      'id' => 'standard',
+      'label' => t('Book Page'),
+    ],
+  ];
+
+  $data['book']['bid'] = [
+    'title' => t('Top level book'),
+    'help' => t('The book the node is in.'),
+    'relationship' => [
+      'base' => 'node',
+      'id' => 'standard',
+      'label' => t('Book'),
+    ],
+  ];
+
+  $data['book']['pid'] = [
+    'title' => t('Parent'),
+    'help' => t('The parent book node.'),
+    'relationship' => [
+      'base' => 'node',
+      'id' => 'standard',
+      'label' => t('Book Parent'),
+    ],
+  ];
+
+  $data['book']['has_children'] = [
+    'title' => t('Page has Children'),
+    'help' => t('Flag indicating whether this book page has children'),
+    'field' => [
+      'id' => 'boolean',
+    ],
+    'sort' => [
+      'id' => 'standard',
+    ],
+    'filter' => [
+      'id' => 'boolean',
+      'label' => t('Has Children'),
+    ],
+    'argument' => [
+      'id' => 'numeric',
+    ],
+  ];
+
+  $data['book']['weight'] = [
+    'title' => t('Weight'),
+    'help' => t('The weight of the book page.'),
+    'field' => [
+      'id' => 'numeric',
+    ],
+    'sort' => [
+      'id' => 'standard',
+    ],
+  ];
+
+  $data['book']['depth'] = [
+    'title' => t('Depth'),
+    'help' => t('The depth of the book page in the hierarchy; top level books have a depth of 1.'),
+    'field' => [
+      'id' => 'numeric',
+    ],
+    'sort' => [
+      'id' => 'standard',
+    ],
+    'filter' => [
+      'id' => 'numeric',
+    ],
+    'argument' => [
+      'id' => 'standard',
+    ],
+  ];
+  $parents = [
+    1 => t('1st parent'),
+    2 => t('2nd parent'),
+    3 => t('3rd parent'),
+    4 => t('4th parent'),
+    5 => t('5th parent'),
+    6 => t('6th parent'),
+    7 => t('7th parent'),
+    8 => t('8th parent'),
+    9 => t('9th parent'),
+  ];
+  foreach ($parents as $i => $parent_label) {
+    $data['book']["p$i"] = [
+      'title' => $parent_label,
+      'help' => t('The !parent of book node.', ['!parent' => $parent_label]),
+      'relationship' => [
+        'base' => 'node',
+        'id' => 'standard',
+        'label' => t('Book !parent', ['!parent' => $parent_label]),
+      ],
+    ];
+  }
+
+  return $data;
+}
diff --git a/core/modules/book/src/Plugin/views/argument_default/BookRoot.php b/core/modules/book/src/Plugin/views/argument_default/BookRoot.php
new file mode 100644
index 0000000..3edf45b
--- /dev/null
+++ b/core/modules/book/src/Plugin/views/argument_default/BookRoot.php
@@ -0,0 +1,75 @@
+<?php
+
+/**
+ * @file
+ * Contains Drupal\book\Plugin\views\argument_default\BookRoot.
+ */
+
+namespace Drupal\book\Plugin\views\argument_default;
+
+use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
+use Drupal\node\NodeStorageInterface;
+use Drupal\node\Plugin\views\argument_default\Node;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+/**
+ * Default argument plugin to get the current node's book root.
+ *
+ * @ViewsArgumentDefault(
+ *   id = "book_root",
+ *   title = @Translation("Book root from current node")
+ * )
+ */
+class BookRoot extends Node implements ContainerFactoryPluginInterface {
+
+  /**
+   * The node storage controller.
+   *
+   * @var \Drupal\node\NodeStorageInterface
+   */
+  protected $nodeStorage;
+
+  /**
+   * Constructs a Drupal\book\Plugin\views\argument_default\BookRoot object.
+   *
+   * @param array $configuration
+   *   A configuration array containing information about the plugin instance.
+   * @param string $plugin_id
+   *   The plugin_id for the plugin instance.
+   * @param array $plugin_definition
+   *   The plugin implementation definition.
+   * @param \Drupal\node\NodeStorageInterface $node_storage
+   *   The node storage controller.
+   */
+  public function __construct(array $configuration, $plugin_id, array $plugin_definition, NodeStorageInterface $node_storage) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition);
+    $this->nodeStorage = $node_storage;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
+    return new static(
+      $configuration,
+      $plugin_id,
+      $plugin_definition,
+      $container->get('entity.manager')->getStorage('node')
+    );
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getArgument() {
+    // Use the argument_default_node plugin to get the nid argument.
+    $nid = parent::getArgument();
+    if (!empty($nid)) {
+      $node = $this->nodeStorage->load($nid);
+      if (isset($node->book['bid'])) {
+        return $node->book['bid'];
+      }
+    }
+  }
+
+}
diff --git a/core/modules/book/src/Tests/Views/BookRelationshipTest.php b/core/modules/book/src/Tests/Views/BookRelationshipTest.php
new file mode 100644
index 0000000..e162d30
--- /dev/null
+++ b/core/modules/book/src/Tests/Views/BookRelationshipTest.php
@@ -0,0 +1,202 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\book\Tests\Views\BookRelationshipTest.
+ */
+
+namespace Drupal\book\Tests\Views;
+
+use Drupal\views\Tests\ViewTestBase;
+use Drupal\views\Tests\ViewTestData;
+
+/**
+ * Tests entity reference relationship data.
+ *
+ * @group book
+ * @see book_views_data()
+ */
+class BookRelationshipTest extends ViewTestBase {
+
+  /**
+   * Views used by this test.
+   *
+   * @var array
+   */
+  public static $testViews = array('test_book_view');
+
+  /**
+   * Modules to install.
+   *
+   * @var array
+   */
+  public static $modules = array('book_test_views', 'book', 'views');
+
+  /**
+   * A book node.
+   *
+   * @var object
+   */
+  protected $book;
+
+  /**
+   * A user with permission to create and edit books.
+   *
+   * @var object
+   */
+  protected $book_author;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    // Create users.
+    $this->book_author = $this->drupalCreateUser(array('create new books', 'create book content', 'edit own book content', 'add content to books'));
+    ViewTestData::createTestViews(get_class($this), array('book_test_views'));
+  }
+
+  /**
+   * Creates a new book with a page hierarchy.
+   */
+  protected function createBook() {
+    // Create new book.
+    $this->drupalLogin($this->book_author);
+
+    $this->book = $this->createBookNode('new');
+    $book = $this->book;
+
+    /*
+     * Add page hierarchy to book.
+     * Book
+     *  |- Node 0
+     *   |- Node 1
+     *    |- Node 2
+     *     |- Node 3
+     *      |- Node 4
+     *       |- Node 5
+     *        |- Node 6
+     *         |- Node 7
+     */
+    $nodes = array();
+    // Node 0.
+    $nodes[] = $this->createBookNode($book->id());
+    // Node 1.
+    $nodes[] = $this->createBookNode($book->id(), $nodes[0]->book['nid']);
+    // Node 2.
+    $nodes[] = $this->createBookNode($book->id(), $nodes[1]->book['nid']);
+    // Node 3.
+    $nodes[] = $this->createBookNode($book->id(), $nodes[2]->book['nid']);
+    // Node 4.
+    $nodes[] = $this->createBookNode($book->id(), $nodes[3]->book['nid']);
+    // Node 5.
+    $nodes[] = $this->createBookNode($book->id(), $nodes[4]->book['nid']);
+    // Node 6.
+    $nodes[] = $this->createBookNode($book->id(), $nodes[5]->book['nid']);
+    // Node 7.
+    $nodes[] = $this->createBookNode($book->id(), $nodes[6]->book['nid']);
+
+    $this->drupalLogout();
+
+    return $nodes;
+  }
+
+  /**
+   * Creates a book node.
+   *
+   * @param int|string $book_nid
+   *   A book node ID or set to 'new' to create a new book.
+   * @param int|null $parent
+   *   (optional) Parent book reference ID. Defaults to NULL.
+   *
+   * @return \Drupal\node\NodeInterface
+   *   The book node.
+   */
+  protected function createBookNode($book_nid, $parent = NULL) {
+    // $number does not use drupal_static as it should not be reset
+    // since it uniquely identifies each call to createBookNode().
+    // Used to ensure that when sorted nodes stay in same order.
+    static $number = 0;
+
+    $edit = array();
+    $edit['title[0][value]'] = $number . ' - SimpleTest test node ' . $this->randomMachineName(10);
+    $edit['body[0][value]'] = 'SimpleTest test body ' . $this->randomMachineName(32) . ' ' . $this->randomMachineName(32);
+    $edit['book[bid]'] = $book_nid;
+
+    if ($parent !== NULL) {
+      $this->drupalPostForm('node/add/book', $edit, t('Change book (update list of parents)'));
+
+      $edit['book[pid]'] = $parent;
+      $this->drupalPostForm(NULL, $edit, t('Save'));
+      // Make sure the parent was flagged as having children.
+      $parent_node = \Drupal::entityManager()->getStorage('node')->loadUnchanged($parent);
+      $this->assertFalse(empty($parent_node->book['has_children']), 'Parent node is marked as having children');
+    }
+    else {
+      $this->drupalPostForm('node/add/book', $edit, t('Save'));
+    }
+
+    // Check to make sure the book node was created.
+    $node = $this->drupalGetNodeByTitle($edit['title[0][value]']);
+    $this->assertNotNull(($node === FALSE ? NULL : $node), 'Book node found in database.');
+    $number++;
+
+    return $node;
+  }
+
+  /**
+   * Tests using the views relationship.
+   */
+  public function testRelationship() {
+
+    // Create new book.
+    /** @var \Drupal\node\NodeInterface[] $nodes*/
+    $nodes = $this->createBook();
+    $this->drupalGet('test-book/' . $nodes[0]->id());
+    $this->assertLink($nodes[0]->label());
+    $this->drupalGet('test-book/' . $nodes[1]->id());
+    $this->assertLink($nodes[0]->label());
+    $this->assertLink($nodes[1]->label());
+    $this->drupalGet('test-book/' . $nodes[2]->id());
+    $this->assertLink($nodes[0]->label());
+    $this->assertLink($nodes[1]->label());
+    $this->assertLink($nodes[2]->label());
+    $this->drupalGet('test-book/' . $nodes[3]->id());
+    $this->assertLink($nodes[0]->label());
+    $this->assertLink($nodes[1]->label());
+    $this->assertLink($nodes[2]->label());
+    $this->assertLink($nodes[3]->label());
+    $this->drupalGet('test-book/' . $nodes[4]->id());
+    $this->assertLink($nodes[0]->label());
+    $this->assertLink($nodes[1]->label());
+    $this->assertLink($nodes[2]->label());
+    $this->assertLink($nodes[3]->label());
+    $this->assertLink($nodes[4]->label());
+    $this->drupalGet('test-book/' . $nodes[5]->id());
+    $this->assertLink($nodes[0]->label());
+    $this->assertLink($nodes[1]->label());
+    $this->assertLink($nodes[2]->label());
+    $this->assertLink($nodes[3]->label());
+    $this->assertLink($nodes[4]->label());
+    $this->assertLink($nodes[5]->label());
+    $this->drupalGet('test-book/' . $nodes[6]->id());
+    $this->assertLink($nodes[0]->label());
+    $this->assertLink($nodes[1]->label());
+    $this->assertLink($nodes[2]->label());
+    $this->assertLink($nodes[3]->label());
+    $this->assertLink($nodes[4]->label());
+    $this->assertLink($nodes[5]->label());
+    $this->assertLink($nodes[6]->label());
+    $this->drupalGet('test-book/' . $nodes[7]->id());
+    $this->assertLink($nodes[0]->label());
+    $this->assertLink($nodes[1]->label());
+    $this->assertLink($nodes[2]->label());
+    $this->assertLink($nodes[3]->label());
+    $this->assertLink($nodes[4]->label());
+    $this->assertLink($nodes[5]->label());
+    $this->assertLink($nodes[6]->label());
+    $this->assertLink($nodes[7]->label());
+  }
+
+}
diff --git a/core/modules/book/tests/modules/book_test_views/book_test_views.info.yml b/core/modules/book/tests/modules/book_test_views/book_test_views.info.yml
new file mode 100644
index 0000000..9110475
--- /dev/null
+++ b/core/modules/book/tests/modules/book_test_views/book_test_views.info.yml
@@ -0,0 +1,9 @@
+name: 'Book test views'
+type: module
+description: 'Provides default views for views book tests.'
+package: Testing
+version: VERSION
+core: 8.x
+dependencies:
+ - book
+ - views
diff --git a/core/modules/book/tests/modules/book_test_views/test_views/views.view.test_book_view.yml b/core/modules/book/tests/modules/book_test_views/test_views/views.view.test_book_view.yml
new file mode 100644
index 0000000..373d2a6
--- /dev/null
+++ b/core/modules/book/tests/modules/book_test_views/test_views/views.view.test_book_view.yml
@@ -0,0 +1,966 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+id: test_book_view
+label: Book
+module: views
+description: ''
+tag: ''
+base_table: node
+base_field: nid
+core: 8.x
+display:
+  default:
+    display_plugin: default
+    id: default
+    display_title: Master
+    position: 0
+    provider: views
+    display_options:
+      access:
+        type: perm
+        options:
+          perm: 'access content'
+        provider: user
+        dependencies: {  }
+      cache:
+        type: none
+        options: {  }
+        provider: views
+        dependencies: {  }
+      query:
+        type: views_query
+        options:
+          disable_sql_rewrite: false
+          distinct: false
+          replica: false
+          query_comment: false
+          query_tags: {  }
+        provider: views
+        dependencies: {  }
+      exposed_form:
+        type: basic
+        options:
+          submit_button: Apply
+          reset_button: false
+          reset_button_label: Reset
+          exposed_sorts_label: 'Sort by'
+          expose_sort_order: true
+          sort_asc_label: Asc
+          sort_desc_label: Desc
+        provider: views
+        dependencies: {  }
+      pager:
+        type: full
+        options:
+          items_per_page: 10
+          offset: 0
+          id: 0
+          total_pages: null
+          expose:
+            items_per_page: false
+            items_per_page_label: 'Items per page'
+            items_per_page_options: '5, 10, 25, 50'
+            items_per_page_options_all: false
+            items_per_page_options_all_label: '- All -'
+            offset: false
+            offset_label: Offset
+          tags:
+            previous: '‹ previous'
+            next: 'next ›'
+            first: '« first'
+            last: 'last »'
+          quantity: 9
+        provider: views
+        dependencies: {  }
+      style:
+        type: default
+        options:
+          grouping: {  }
+          row_class: ''
+          default_row_class: true
+          uses_fields: false
+        provider: views
+        dependencies: {  }
+      row:
+        type: fields
+        options:
+          inline: {  }
+          separator: ''
+          hide_empty: false
+          default_field_elements: true
+        provider: views
+        dependencies: {  }
+      fields:
+        title:
+          id: title
+          table: node_field_data
+          field: title
+          provider: node
+          label: ''
+          alter:
+            alter_text: false
+            make_link: false
+            absolute: false
+            trim: false
+            word_boundary: false
+            ellipsis: false
+            strip_tags: false
+            html: false
+          hide_empty: false
+          empty_zero: false
+          link_to_node: 1
+          relationship: none
+          group_type: group
+          admin_label: ''
+          dependencies: {  }
+          exclude: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: true
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_alter_empty: true
+        title_1:
+          id: title_1
+          table: node_field_data
+          field: title
+          relationship: bid
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_2:
+          id: title_2
+          table: node_field_data
+          field: title
+          relationship: pid
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_3:
+          id: title_3
+          table: node_field_data
+          field: title
+          relationship: p1
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_4:
+          id: title_4
+          table: node_field_data
+          field: title
+          relationship: p2
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_5:
+          id: title_5
+          table: node_field_data
+          field: title
+          relationship: p3
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_6:
+          id: title_6
+          table: node_field_data
+          field: title
+          relationship: p4
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_7:
+          id: title_7
+          table: node_field_data
+          field: title
+          relationship: p5
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_8:
+          id: title_8
+          table: node_field_data
+          field: title
+          relationship: p6
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_9:
+          id: title_9
+          table: node_field_data
+          field: title
+          relationship: p7
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_10:
+          id: title_10
+          table: node_field_data
+          field: title
+          relationship: p8
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+        title_11:
+          id: title_11
+          table: node_field_data
+          field: title
+          relationship: p9
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - node
+          label: ''
+          exclude: false
+          alter:
+            alter_text: false
+            text: ''
+            make_link: false
+            path: ''
+            absolute: false
+            external: false
+            replace_spaces: false
+            path_case: none
+            trim_whitespace: false
+            alt: ''
+            rel: ''
+            link_class: ''
+            prefix: ''
+            suffix: ''
+            target: ''
+            nl2br: false
+            max_length: ''
+            word_boundary: true
+            ellipsis: true
+            more_link: false
+            more_link_text: ''
+            more_link_path: ''
+            strip_tags: false
+            trim: false
+            preserve_tags: ''
+            html: false
+          element_type: ''
+          element_class: ''
+          element_label_type: ''
+          element_label_class: ''
+          element_label_colon: false
+          element_wrapper_type: ''
+          element_wrapper_class: ''
+          element_default_classes: true
+          empty: ''
+          hide_empty: false
+          empty_zero: false
+          hide_alter_empty: true
+          link_to_node: true
+          plugin_id: node
+          provider: node
+      filters:
+        status:
+          value: true
+          table: node_field_data
+          field: status
+          provider: node
+          id: status
+          expose:
+            operator: ''
+          group: 1
+        type:
+          id: type
+          table: node
+          field: type
+          value:
+            book: book
+      sorts:
+        created:
+          id: created
+          table: node_field_data
+          field: created
+          order: DESC
+          relationship: none
+          group_type: group
+          admin_label: ''
+          dependencies: {  }
+          exposed: false
+          expose:
+            label: ''
+          granularity: second
+      header: {  }
+      footer: {  }
+      empty: {  }
+      relationships:
+        p1:
+          id: p1
+          table: book
+          field: p1
+          relationship: none
+          group_type: group
+          admin_label: 'Book 1st parent'
+          dependencies:
+            module:
+              - views
+              - views
+              - views
+              - views
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        p2:
+          id: p2
+          table: book
+          field: p2
+          relationship: none
+          group_type: group
+          admin_label: 'Book 2nd parent'
+          dependencies:
+            module:
+              - views
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        p3:
+          id: p3
+          table: book
+          field: p3
+          relationship: none
+          group_type: group
+          admin_label: 'Book 3rd parent'
+          dependencies:
+            module:
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        p4:
+          id: p4
+          table: book
+          field: p4
+          relationship: none
+          group_type: group
+          admin_label: 'Book 4th parent'
+          dependencies:
+            module:
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        p5:
+          id: p5
+          table: book
+          field: p5
+          relationship: none
+          group_type: group
+          admin_label: 'Book 5th parent'
+          dependencies:
+            module:
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        p6:
+          id: p6
+          table: book
+          field: p6
+          relationship: none
+          group_type: group
+          admin_label: 'Book 6th parent'
+          dependencies:
+            module:
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        p7:
+          id: p7
+          table: book
+          field: p7
+          relationship: none
+          group_type: group
+          admin_label: 'Book 7th parent'
+          dependencies:
+            module:
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        p8:
+          id: p8
+          table: book
+          field: p8
+          relationship: none
+          group_type: group
+          admin_label: 'Book 8th parent'
+          dependencies:
+            module:
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        p9:
+          id: p9
+          table: book
+          field: p9
+          relationship: none
+          group_type: group
+          admin_label: 'Book 9th parent'
+          dependencies:
+            module:
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        pid:
+          id: pid
+          table: book
+          field: pid
+          relationship: none
+          group_type: group
+          admin_label: 'Book Parent'
+          dependencies:
+            module:
+              - views
+              - views
+          required: false
+          plugin_id: standard
+          provider: views
+        bid:
+          id: bid
+          table: book
+          field: bid
+          relationship: none
+          group_type: group
+          admin_label: Book
+          dependencies:
+            module:
+              - views
+          required: true
+          plugin_id: standard
+          provider: views
+      arguments:
+        nid:
+          id: nid
+          table: node
+          field: nid
+          relationship: none
+          group_type: group
+          admin_label: ''
+          dependencies:
+            module:
+              - views
+          default_action: default
+          exception:
+            value: all
+            title_enable: false
+            title: All
+          title_enable: false
+          title: ''
+          default_argument_type: book_root
+          default_argument_options: {  }
+          default_argument_skip_url: false
+          summary_options:
+            base_path: ''
+            count: true
+            items_per_page: 25
+            override: false
+          summary:
+            sort_order: asc
+            number_of_records: 0
+            format: default_summary
+          specify_validation: false
+          validate:
+            type: none
+            fail: 'not found'
+          validate_options: {  }
+          break_phrase: false
+          not: false
+          plugin_id: numeric
+          provider: views
+      field_langcode: '***LANGUAGE_language_content***'
+      field_langcode_add_to_query: null
+  page_1:
+    display_plugin: page
+    id: page_1
+    display_title: Page
+    position: 1
+    provider: views
+    display_options:
+      field_langcode: '***LANGUAGE_language_content***'
+      field_langcode_add_to_query: null
+      path: test-book
