{"id":1225,"date":"2018-05-19T14:17:16","date_gmt":"2018-05-19T18:17:16","guid":{"rendered":"http:\/\/visual-baseball.com\/wordpress\/?p=1225"},"modified":"2025-08-22T16:41:17","modified_gmt":"2025-08-22T16:41:17","slug":"updating-baseball-team-networks","status":"publish","type":"post","link":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/","title":{"rendered":"Updating Baseball Team Networks &#8211; Part 1"},"content":{"rendered":"<p>A few years back, I used Gephi and sigma.js to create a series of interactive baseball team networks, one for each current MLB franchise. These networks displayed all players through the 2013 season, going all the way back to 1901 for the original American and National League franchises. Now that we have data through the 2017 season, it&#8217;s time for an update, not only from a data perspective, but also stylistically. This post will walk through the process of creating one of these networks using Toad for MySQL, Gephi, and sigma.js to create web-based interactive network visualizations.<\/p>\n<p>Here&#8217;s a typical network from the 2013 series; the full list of networks can be <a href=\"https:\/\/visual-baseball.com\/wordpress\/gallery\/franchise-network-graphs\/\" target=\"_blank\" rel=\"noopener\">found here<\/a>. We&#8217;ll use the existing networks as a baseline for the new networks, although a few modifications will be made.<\/p>\n<figure id=\"attachment_1229\" aria-describedby=\"caption-attachment-1229\" style=\"width: 1080px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1229\" src=\"https:\/\/visual-baseball.com\/wordpress\/wp-content\/uploads\/2018\/05\/network_2013-1024x522.png\" alt=\"baseball_team_network_2013\" width=\"1080\" height=\"550\" \/><figcaption id=\"caption-attachment-1229\" class=\"wp-caption-text\">a 2013 baseball team network for the Boston Red Sox<\/figcaption><\/figure>\n<h3>Source Data &amp; MySQL Queries<\/h3>\n<p>Let&#8217;s start our discussion with the source data. Season-level baseball data is available through the <a href=\"http:\/\/seanlahman.com\" target=\"_blank\" rel=\"noopener\">seanlahman.com<\/a> website, in the form of .csv files or Microsoft Access database tables. I use the .csv format, as it can be easily added to existing MySQL databases on the visual-baseball.com server. MySQL also makes it simple to add derived fields through some simple coding. These fields can be utilized later for a variety of activities.<\/p>\n<p>For the purpose of our network graphs, there are a handful of critical fields we want to use. These include the following:<\/p>\n<ul>\n<li>playerID, a unique identifier for every player who ever donned a major league uniform<\/li>\n<li>player name, which can be used to provide a meaningful reference based on the playerID field<\/li>\n<li>yearID, which refers to the season (or seasons) a player suited up for a specific franchise<\/li>\n<li>franchID, a unique identifier for each MLB franchise<\/li>\n<\/ul>\n<p>We also need to do a little manipulation of the source data in our code to deliver our results in the proper form for use in Gephi. This means we need to create two input files &#8211; one for nodes, and a second for edges. The nodes will contain information about each player, the number of seasons played for the franchise and the first and last seasons, which may differ from the number of seasons, as players frequently leave a franchise only to return later in their career. Here&#8217;s our node code:<\/p>\n<p><span style=\"color: #000080\"><em>SELECT Id, Label, MAX(Size) as Size<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>FROM<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>(SELECT bp.playerID AS Id, CONCAT(bp.name, &#8221; &#8220;, MIN(bp.yearID), &#8220;-&#8220;, MAX(bp.yearID)) AS Label, COUNT(bp.yearID) AS Size<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>FROM BattingPlus bp<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>WHERE bp.franchID = &#8216;BOS&#8217; and bp.yearID &gt;= 1901<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>GROUP BY bp.name<\/em><\/span><\/p>\n<p><span style=\"color: #000080\"><em>UNION ALL<\/em><\/span><\/p>\n<p><span style=\"color: #000080\"><em>SELECT pp.playerID AS Id, CONCAT(pp.name, &#8221; &#8220;, MIN(pp.yearID), &#8220;-&#8220;, MAX(pp.yearID)) AS Label, COUNT(pp.yearID) AS Size<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>FROM BattingPlus pp<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>WHERE pp.franchID = &#8216;BOS&#8217; and pp.yearID &gt;= 1901<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>GROUP BY pp.name)\u00a0 a<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>GROUP BY Id<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>ORDER BY Id;<\/em><\/span><\/p>\n<p>Here&#8217;s the simple interpretation &#8211; since we are attempting to display all players for a given franchise, we are executing a UNION ALL statement to combine batters and pitchers into a single result file. We have used the playerID field to create the required Id value for Gephi, while also creating a Label field by combining the player&#8217;s name with their first and last years playing for this franchise. Finally, we have created a Size field based on the number of seasons played for the franchise. We can then choose to use this in Gephi to size each node, if we so choose.<\/p>\n<p>We also need to create the edge file for Gephi. In this case, we want to understand how many seasons two players were on the same team. This code is a bit trickier, since we want to show only one connection between two players, since this will be an undirected graph. More on that distinction later. Here&#8217;s our edge code:<\/p>\n<p><span style=\"color: #000080\"><em>SELECT b.playerID AS Source, m.playerID\u00a0 AS Target,\u00a0 &#8216;Undirected&#8217; as Type,\u00a0 &#8216; &#8216; as Id, &#8216; &#8216; as Label, count(*) as weight<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>FROM<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>(SELECT a.playerID, CONCAT(m.nameFirst, &#8221; &#8220;, m.nameLast) name, a.yearID, a.franchID<\/em><\/span><\/p>\n<p><span style=\"color: #000080\"><em>FROM Appearances a<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>INNER JOIN Master m<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>ON a.playerID = m.playerID<\/em><\/span><\/p>\n<p><span style=\"color: #000080\"><em>WHERE a.franchID = &#8216;BOS&#8217; and a.yearID &gt;= 1901) b<\/em><\/span><\/p>\n<p><span style=\"color: #000080\"><em>INNER JOIN Appearances a<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>ON b.yearID = a.yearID and b.franchID = a.franchID and b.playerID &lt;&gt; a.playerID and a.playerID &gt; b.playerID<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>INNER JOIN Master m<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>ON a.playerID = m.playerID<\/em><\/span><\/p>\n<p><span style=\"color: #000080\"><em>GROUP BY b.playerID, a.playerID<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>ORDER BY b.playerID<\/em><\/span><\/p>\n<p>Here we use the Master table to provide player name information, and we also gather the ID information to match the node values. The critical piece in this code is in our join criteria:<\/p>\n<p><span style=\"color: #000080\"><em>INNER JOIN Appearances a<\/em><\/span><br \/>\n<span style=\"color: #000080\"><em>ON b.yearID = a.yearID and b.franchID = a.franchID and b.playerID &lt;&gt; a.playerID and a.playerID &gt; b.playerID<\/em><\/span><\/p>\n<p>Here we are matching players based on the same season and the same franchise. We then specify that we do not want to connect any player to himself, and that we want only values where the playerID value from our main query is greater than the playerID value from the sub-query. This gives us a single connection between two players, which is what we need for an undirected graph. We then define a Source node (required by Gephi) and a Target node (also required), as well as specifying &#8216;Undirected&#8217; as the graph type. We leave the ID and Label values empty, and then summarize the number of seasons played together as an edge weight. This value can be used in Gephi to show the strength of a connection between two nodes (e.g.- did they spend one season together, or 10 seasons together?).<\/p>\n<p>After exporting each of these files to a .csv format, we have our source data for Gephi. In Part 2 our focus will shift to creating the network in Gephi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few years back, I used Gephi and sigma.js to create a series of interactive baseball team networks, one for each current MLB franchise. These networks displayed all players through the 2013 season, going all the way back to 1901 for the original American and National League franchises. Now that we have data through the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,6,7],"tags":[32,16,18,33],"class_list":["post-1225","post","type-post","status-publish","format-standard","hentry","category-network-graphs","category-player-networks","category-team-networks","tag-edges","tag-gephi","tag-gexf","tag-nodes"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Updating Baseball Team Networks - Part 1 - Visual-Baseball<\/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:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Updating Baseball Team Networks - Part 1 - Visual-Baseball\" \/>\n<meta property=\"og:description\" content=\"A few years back, I used Gephi and sigma.js to create a series of interactive baseball team networks, one for each current MLB franchise. These networks displayed all players through the 2013 season, going all the way back to 1901 for the original American and National League franchises. Now that we have data through the [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual-Baseball\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-19T18:17:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-22T16:41:17+00:00\" \/>\n<meta name=\"author\" content=\"kc2519\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"kc2519\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/\"},\"author\":{\"name\":\"kc2519\",\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/d4ccbd596ab01720245999831d866f7f\"},\"headline\":\"Updating Baseball Team Networks &#8211; Part 1\",\"datePublished\":\"2018-05-19T18:17:16+00:00\",\"dateModified\":\"2025-08-22T16:41:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/\"},\"wordCount\":994,\"image\":{\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2018\\\/05\\\/network_2013-1024x522.png\",\"keywords\":[\"Edges\",\"Gephi\",\"gexf\",\"Nodes\"],\"articleSection\":[\"Network Graphs\",\"Player Networks\",\"Team Networks\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/\",\"url\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/\",\"name\":\"Updating Baseball Team Networks - Part 1 - Visual-Baseball\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2018\\\/05\\\/network_2013-1024x522.png\",\"datePublished\":\"2018-05-19T18:17:16+00:00\",\"dateModified\":\"2025-08-22T16:41:17+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/d4ccbd596ab01720245999831d866f7f\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/2018\\\/05\\\/19\\\/updating-baseball-team-networks\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Updating Baseball Team Networks &#8211; Part 1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/\",\"name\":\"Visual-Baseball\",\"description\":\"Baseball Analysis and Visualization\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/d4ccbd596ab01720245999831d866f7f\",\"name\":\"kc2519\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8fd7c926b41a850fd0037a90412c8e7116b19c458c184fb0d1f2b912a46601cc?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8fd7c926b41a850fd0037a90412c8e7116b19c458c184fb0d1f2b912a46601cc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8fd7c926b41a850fd0037a90412c8e7116b19c458c184fb0d1f2b912a46601cc?s=96&d=mm&r=g\",\"caption\":\"kc2519\"},\"sameAs\":[\"https:\\\/\\\/visual-baseball.com\\\/wordpress\"],\"url\":\"https:\\\/\\\/visual-baseball.com\\\/wordpress\\\/author\\\/kc2519\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Updating Baseball Team Networks - Part 1 - Visual-Baseball","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:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/","og_locale":"en_US","og_type":"article","og_title":"Updating Baseball Team Networks - Part 1 - Visual-Baseball","og_description":"A few years back, I used Gephi and sigma.js to create a series of interactive baseball team networks, one for each current MLB franchise. These networks displayed all players through the 2013 season, going all the way back to 1901 for the original American and National League franchises. Now that we have data through the [&hellip;]","og_url":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/","og_site_name":"Visual-Baseball","article_published_time":"2018-05-19T18:17:16+00:00","article_modified_time":"2025-08-22T16:41:17+00:00","author":"kc2519","twitter_card":"summary_large_image","twitter_misc":{"Written by":"kc2519","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/#article","isPartOf":{"@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/"},"author":{"name":"kc2519","@id":"https:\/\/visual-baseball.com\/wordpress\/#\/schema\/person\/d4ccbd596ab01720245999831d866f7f"},"headline":"Updating Baseball Team Networks &#8211; Part 1","datePublished":"2018-05-19T18:17:16+00:00","dateModified":"2025-08-22T16:41:17+00:00","mainEntityOfPage":{"@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/"},"wordCount":994,"image":{"@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/#primaryimage"},"thumbnailUrl":"https:\/\/visual-baseball.com\/wordpress\/wp-content\/uploads\/2018\/05\/network_2013-1024x522.png","keywords":["Edges","Gephi","gexf","Nodes"],"articleSection":["Network Graphs","Player Networks","Team Networks"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/","url":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/","name":"Updating Baseball Team Networks - Part 1 - Visual-Baseball","isPartOf":{"@id":"https:\/\/visual-baseball.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/#primaryimage"},"image":{"@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/#primaryimage"},"thumbnailUrl":"https:\/\/visual-baseball.com\/wordpress\/wp-content\/uploads\/2018\/05\/network_2013-1024x522.png","datePublished":"2018-05-19T18:17:16+00:00","dateModified":"2025-08-22T16:41:17+00:00","author":{"@id":"https:\/\/visual-baseball.com\/wordpress\/#\/schema\/person\/d4ccbd596ab01720245999831d866f7f"},"breadcrumb":{"@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/visual-baseball.com\/wordpress\/2018\/05\/19\/updating-baseball-team-networks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/visual-baseball.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Updating Baseball Team Networks &#8211; Part 1"}]},{"@type":"WebSite","@id":"https:\/\/visual-baseball.com\/wordpress\/#website","url":"https:\/\/visual-baseball.com\/wordpress\/","name":"Visual-Baseball","description":"Baseball Analysis and Visualization","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/visual-baseball.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/visual-baseball.com\/wordpress\/#\/schema\/person\/d4ccbd596ab01720245999831d866f7f","name":"kc2519","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8fd7c926b41a850fd0037a90412c8e7116b19c458c184fb0d1f2b912a46601cc?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8fd7c926b41a850fd0037a90412c8e7116b19c458c184fb0d1f2b912a46601cc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8fd7c926b41a850fd0037a90412c8e7116b19c458c184fb0d1f2b912a46601cc?s=96&d=mm&r=g","caption":"kc2519"},"sameAs":["https:\/\/visual-baseball.com\/wordpress"],"url":"https:\/\/visual-baseball.com\/wordpress\/author\/kc2519\/"}]}},"_links":{"self":[{"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/posts\/1225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/comments?post=1225"}],"version-history":[{"count":6,"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/posts\/1225\/revisions"}],"predecessor-version":[{"id":1813,"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/posts\/1225\/revisions\/1813"}],"wp:attachment":[{"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/media?parent=1225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/categories?post=1225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/visual-baseball.com\/wordpress\/wp-json\/wp\/v2\/tags?post=1225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}