{"id":46651,"date":"2021-06-18T00:00:00","date_gmt":"2021-06-18T07:00:00","guid":{"rendered":"https:\/\/griddb-linux-hte8hndjf8cka8ht.westus-01.azurewebsites.net\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/"},"modified":"2025-11-13T12:55:25","modified_gmt":"2025-11-13T20:55:25","slug":"twitter-sentiment-analysis-with-griddb-part-1","status":"publish","type":"post","link":"https:\/\/www.griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/","title":{"rendered":"Twitter Sentiment Analysis with GridDB &#8211; Part 1"},"content":{"rendered":"<p><strong>Introduction<\/strong><\/p>\n<p>We often need to calculate the sentiment of enormous text data which are generated daily to track the user\u00e2\u20ac\u2122s opinion on a particular topic. We can visualize the sentiment values for a particular geographic location which helps businesses for better decision making. In this article, we will load the tweet dataset into GridDB, perform sentiment analysis on the dataset, and visualize using matplotlib.<\/p>\n<p><strong>Prerequisites<\/strong><\/p>\n<p>We will use the GridDB instance with the python3, matplotlib, pandas for sentiment calculation and Visualization. The tweet dataset is obtained from web scraping of tweets from 2013-2017 on the topic of \u00e2\u20ac\u0153Rana Plaza\u00e2\u20ac\u009d.<\/p>\n<p><strong>Dataset Schema<\/strong><\/p>\n<p>In 2013, the Rana Plaza building collapse in Bangladesh killed more than 1100 fashion workers and tarnished the image of big fashion brands like Zara, H&amp;M, Gap, Benetton, etc. To study how the consumers reacted to these fashion brands, we will perform sentiment analysis on the tweets mined from 2013-2018, on the topic of \u00e2\u20ac\u0153Rana Plaza\u00e2\u20ac\u009d. We will consider the below attributes from the excel dataset file to be used in the GridDB container.<\/p>\n<table border=\"1\">\n<thead>\n<tr>\n<th>\n        Field Name\n      <\/th>\n<th>\n        Data Type(GridDB)\n      <\/th>\n<th>\n        Notes\n      <\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\n        Serial No\n      <\/td>\n<td>\n        INTEGER\n      <\/td>\n<td>\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Screen Name\n      <\/td>\n<td>\n        STRING\n      <\/td>\n<td>\n        Twitter Author Name\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Twitter ID\n      <\/td>\n<td>\n        STRING\n      <\/td>\n<td>\n        Twitter handle\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Tweet\n      <\/td>\n<td>\n        STRING\n      <\/td>\n<td>\n        Tweet text\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Date\n      <\/td>\n<td>\n        STRING\n      <\/td>\n<td>\n      <\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Extracting Data:<\/strong><\/p>\n<p>We will read the excel(.xlsx) file and iterate through each row and store it using pandas, in a data frame. Please note that here the dataset excel file contains more than one sheets so we need to iterate through each sheet. Below is the code snippet to read the sample dataset using pandas.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">import pandas as pd\nimport xlrd\n\nlist_sheetnames = pd.ExcelFile(\"sample_dataset.xls\").sheet_names\ntotal_num_sheets = len(list_sheetnames)\n\nfor i in range(total_num_sheets):\n    sheet_read = pd.read_excel(\"sample_dataset.xls\", list_sheetnames[i])\n    tweet_data_df = pd.DataFrame(sheet_read)\n    print(tweet_data_df[:5])<\/code><\/pre>\n<\/div>\n<p>Further, let us fetch all the columns of sample excel file, and save it in form of a list.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">tweets_list = sheet_read[\"Tweet\"].values.tolist()\ntweet_date_list = sheet_read[\"Date\"].values.tolist()\ntweet_author_names_list = sheet_read[\"Screen Name\"].values.tolist()\ntweet_author_handle_list = sheet_read[\"Twitter Id\"].values.tolist()\nprint(tweet_author_handle_list[:5])<\/code><\/pre>\n<\/div>\n<p>The output of the above code snippet will look like this.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-sh\">\/Users\/vj\/PycharmProjects\/sentiment_analysis_blogs\/venv\/bin\/python \/Users\/vj\/PycharmProjects\/sentiment_analysis_blogs\/main.py\n['VicUnions', 'ituc', 'shopjanery', 'EthicalBrandMkt', 'CattyDerry']\n['Vic Trades Hallu200fxa0', 'ITUCu200fxa0', 'Jane Pearsonu200fxa0', 'Ethical Brand Marketingu200fxa0', 'CATTY DERRYu200fxa0']\n\nProcess finished with exit code 0<\/code><\/pre>\n<\/div>\n<p>In the next step, we will clean and preprocess the data so that sentiment operation can be performed effectively on them. The tweet text must be cleaned by removing links and special characters so that the sentiment analysis can be effectively performed upon them.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\"># a function to clean the tweets using regular expression\ndef clean_tweet(tweet):\n    '''\n    Utility function to clean the text in a tweet by removing\n    links and special characters using regex.\n    '''\n    return ' '.join(re.sub(\"(@[A-Za-z0-9]+)|([^0-9A-Za-z t])|(w+:\/\/S+)\", \" \", tweet).split())<\/code><\/pre>\n<\/div>\n<p><strong>Inserting Data into GridDB container<\/strong><\/p>\n<p>We will feed the data stored in the data frame to a GridDB container using put or multi-put methods. We will create GridDB containers to store data, each container will contain the data of the corresponding sheet-name of the sample dataset.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">factory = griddb.StoreFactory.get_instance()\n\n# Get GridStore object\n# Provide the necessary arguments\ngridstore = factory.get_store(\n    host=argv[1],\n    port=int(argv[2]),\n    cluster_name=argv[3],\n    username=argv[4],\n    password=argv[5]\n)\n\ncurr_sheet_griddb_container = curr_sheet\n\n# create collection for the tweet data in the sheet\ntweet_data_container_info = griddb.ContainerInfo(circuits_container,\n                                                [[\"sno\", griddb.Type.INTEGER],\n                                                    [\"twitter_name\", griddb.Type.STRING],\n                                                    [\"twitter_id\", griddb.Type.STRING],\n                                                    [\"tweet\", griddb.Type.STRING],\n                                                    [\"date\", griddb.Type.STRING]],\n                                                griddb.ContainerType.COLLECTION, True)\n\ntweets_columns = gridstore.put_container(tweet_data_container_info)<\/code><\/pre>\n<\/div>\n<p>In the next step, we will insert the dataframe in the row using put_rows function.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\"># Put rows\n# Pass the data frames as param\ntweets_columns.put_rows(tweet_data_df)<\/code><\/pre>\n<\/div>\n<p>We have successfully inserted the data in GridDB collections in the given dataset schema, after preprocessing it.<\/p>\n<p><strong>Retrieving Data from the Containers<\/strong><\/p>\n<p>We will fetch the data using get_container method and then extract the data by querying that collection<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\"># Define the container names\ntweet_dataaset_container = excel_sheet_name\n\n# Get the containers\ntweet_data = gridstore.get_container(tweet_dataaset_container)\n\n# Fetch all rows - tweet_container\nquery = tweet_data.query(\"select *\")\nrs = query.fetch(False)\nprint(f\"{tweet_dataaset_container} Data\")\n\n# Iterate and create a list\nretrieved_data = []\nwhile rs.has_next():\n    data = rs.next()\n    retrieved_data.append(data)\n\nprint(retrieved_data)\n\n# Convert the list to a pandas data frame\ntweet_dataframe = pd.DataFrame(retrieved_data,\n                                    columns=['sno', 'twitter_name', 'twitter_id', 'tweet', 'date'])\n\n# Get the data frame details\nprint(tweet_dataframe)\ntweet_dataframe.info()<\/code><\/pre>\n<\/div>\n<p>The used query will fetch all those tweets data from 2013- 2018 which is in dataset. This is a basic TQL statement to select the entire rows from the tweet data container.<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-py\">query = tweet_data.query(\"select *\")\n<\/code><\/pre>\n<\/div>\n<p>We can pass any suitable query to fetch data for some conditions. We can further map the list to a data-frame.<\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>In this part 1 of the blog, we discussed how to preprocess the tweets data for sentiment analytics, from the excel file. Further, we used GridDB containers to create collections and queried throughout to extract the required attributes.<\/p>\n<p><strong>Source Code<\/strong><\/p>\n<p><a href=\"https:\/\/github.com\/6vedant\/SentimentAnalysisPart1\">GitHub<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction We often need to calculate the sentiment of enormous text data which are generated daily to track the user\u00e2\u20ac\u2122s opinion on a particular topic. We can visualize the sentiment values for a particular geographic location which helps businesses for better decision making. In this article, we will load the tweet dataset into GridDB, perform [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":26149,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-46651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Twitter Sentiment Analysis with GridDB - Part 1 | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"Introduction We often need to calculate the sentiment of enormous text data which are generated daily to track the user\u00e2\u20ac\u2122s opinion on a particular topic.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Twitter Sentiment Analysis with GridDB - Part 1 | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"Introduction We often need to calculate the sentiment of enormous text data which are generated daily to track the user\u00e2\u20ac\u2122s opinion on a particular topic.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-18T07:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-13T20:55:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.griddb.net\/wp-content\/uploads\/2019\/08\/python-blog.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1160\" \/>\n\t<meta property=\"og:image:height\" content=\"653\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"griddb-admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"griddb-admin\" \/>\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:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/\"},\"author\":{\"name\":\"griddb-admin\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\"},\"headline\":\"Twitter Sentiment Analysis with GridDB &#8211; Part 1\",\"datePublished\":\"2021-06-18T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:55:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/\"},\"wordCount\":534,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2019\/08\/python-blog.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/\",\"url\":\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/\",\"name\":\"Twitter Sentiment Analysis with GridDB - Part 1 | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\/\/griddb.net\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2019\/08\/python-blog.png\",\"datePublished\":\"2021-06-18T07:00:00+00:00\",\"dateModified\":\"2025-11-13T20:55:25+00:00\",\"description\":\"Introduction We often need to calculate the sentiment of enormous text data which are generated daily to track the user\u00e2\u20ac\u2122s opinion on a particular topic.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2019\/08\/python-blog.png\",\"contentUrl\":\"\/wp-content\/uploads\/2019\/08\/python-blog.png\",\"width\":1160,\"height\":653},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/griddb.net\/en\/#website\",\"url\":\"https:\/\/griddb.net\/en\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL\",\"publisher\":{\"@id\":\"https:\/\/griddb.net\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/griddb.net\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/griddb.net\/en\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\/\/griddb.net\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/griddbcommunity\/\",\"https:\/\/x.com\/GridDBCommunity\",\"https:\/\/www.linkedin.com\/company\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233\",\"name\":\"griddb-admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g\",\"caption\":\"griddb-admin\"},\"url\":\"https:\/\/www.griddb.net\/en\/author\/griddb-admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Twitter Sentiment Analysis with GridDB - Part 1 | GridDB: Open Source Time Series Database for IoT","description":"Introduction We often need to calculate the sentiment of enormous text data which are generated daily to track the user\u00e2\u20ac\u2122s opinion on a particular topic.","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:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/","og_locale":"en_US","og_type":"article","og_title":"Twitter Sentiment Analysis with GridDB - Part 1 | GridDB: Open Source Time Series Database for IoT","og_description":"Introduction We often need to calculate the sentiment of enormous text data which are generated daily to track the user\u00e2\u20ac\u2122s opinion on a particular topic.","og_url":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2021-06-18T07:00:00+00:00","article_modified_time":"2025-11-13T20:55:25+00:00","og_image":[{"width":1160,"height":653,"url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2019\/08\/python-blog.png","type":"image\/png"}],"author":"griddb-admin","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"griddb-admin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#article","isPartOf":{"@id":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/"},"author":{"name":"griddb-admin","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233"},"headline":"Twitter Sentiment Analysis with GridDB &#8211; Part 1","datePublished":"2021-06-18T07:00:00+00:00","dateModified":"2025-11-13T20:55:25+00:00","mainEntityOfPage":{"@id":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/"},"wordCount":534,"commentCount":0,"publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"image":{"@id":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2019\/08\/python-blog.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/","url":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/","name":"Twitter Sentiment Analysis with GridDB - Part 1 | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/griddb.net\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#primaryimage"},"image":{"@id":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2019\/08\/python-blog.png","datePublished":"2021-06-18T07:00:00+00:00","dateModified":"2025-11-13T20:55:25+00:00","description":"Introduction We often need to calculate the sentiment of enormous text data which are generated daily to track the user\u00e2\u20ac\u2122s opinion on a particular topic.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/blog\/twitter-sentiment-analysis-with-griddb-part-1\/#primaryimage","url":"\/wp-content\/uploads\/2019\/08\/python-blog.png","contentUrl":"\/wp-content\/uploads\/2019\/08\/python-blog.png","width":1160,"height":653},{"@type":"WebSite","@id":"https:\/\/griddb.net\/en\/#website","url":"https:\/\/griddb.net\/en\/","name":"GridDB: Open Source Time Series Database for IoT","description":"GridDB is an open source time-series database with the performance of NoSQL and convenience of SQL","publisher":{"@id":"https:\/\/griddb.net\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/griddb.net\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/griddb.net\/en\/#organization","name":"Fixstars","url":"https:\/\/griddb.net\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/","url":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/griddb.net\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/4fe914ca9576878e82f5e8dd3ba52233","name":"griddb-admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/griddb.net\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5bceca1cafc06886a7ba873e2f0a28011a1176c4dea59709f735b63ae30d0342?s=96&d=mm&r=g","caption":"griddb-admin"},"url":"https:\/\/www.griddb.net\/en\/author\/griddb-admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/comments?post=46651"}],"version-history":[{"count":1,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46651\/revisions"}],"predecessor-version":[{"id":51326,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/46651\/revisions\/51326"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media\/26149"}],"wp:attachment":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media?parent=46651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/categories?post=46651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/tags?post=46651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}