From 9504d6a2d965c9c97de6925f55d716b0fc8a9172 Mon Sep 17 00:00:00 2001 From: Chris Baker Date: Fri, 26 Oct 2018 16:40:28 -0400 Subject: [PATCH] add dep files --- NAMESPACE | 1 + R/pull-cited-refs.R | 2 +- docs/articles/faqs.html | 36 ++--- docs/articles/getting-started.html | 214 +++++++++----------------- docs/articles/index.html | 37 ++--- docs/authors.html | 31 +--- docs/index.html | 107 ++++--------- docs/news/index.html | 57 +++---- docs/pkgdown.css | 81 +--------- docs/pkgdown.js | 133 ++++------------ docs/pkgdown.yml | 7 - docs/reference/auth.html | 41 +---- docs/reference/create_ut_queries.html | 152 ++++++++++++++++++ docs/reference/index.html | 207 ++++++++++++------------- docs/reference/pull_cited_refs.html | 42 +---- docs/reference/pull_incites.html | 42 +---- docs/reference/pull_related_recs.html | 50 ++---- docs/reference/pull_wos.html | 46 ++---- docs/reference/pull_wos_apply.html | 45 ++---- docs/reference/query_wos.html | 47 ++---- docs/reference/query_wos_apply.html | 45 ++---- docs/reference/read_wos_data.html | 40 +---- docs/reference/wosr.html | 36 +---- docs/reference/write_wos_data.html | 39 +---- man/create_ut_queries.Rd | 32 ++++ man/pull_cited_refs.Rd | 4 +- man/pull_related_recs.Rd | 9 +- man/pull_wos.Rd | 7 +- man/pull_wos_apply.Rd | 7 +- man/query_wos.Rd | 7 +- man/query_wos_apply.Rd | 7 +- 31 files changed, 579 insertions(+), 1032 deletions(-) delete mode 100644 docs/pkgdown.yml create mode 100644 docs/reference/create_ut_queries.html create mode 100644 man/create_ut_queries.Rd diff --git a/NAMESPACE b/NAMESPACE index 2a1e68c..6f9377d 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -3,6 +3,7 @@ S3method(print,query_result) S3method(print,wos_data) export(auth) +export(create_ut_queries) export(pull_cited_refs) export(pull_incites) export(pull_related_recs) diff --git a/R/pull-cited-refs.R b/R/pull-cited-refs.R index 18a4e57..d8a4c3b 100644 --- a/R/pull-cited-refs.R +++ b/R/pull-cited-refs.R @@ -1,4 +1,4 @@ -#' Pull cited references data from the Web of Science +#' Pull cited references #' #' @inheritParams query_wos #' @param uts Vector of UTs (i.e., publications) whose cited references you want. diff --git a/docs/articles/faqs.html b/docs/articles/faqs.html index 0ad82e6..a314313 100644 --- a/docs/articles/faqs.html +++ b/docs/articles/faqs.html @@ -8,18 +8,15 @@ Frequently asked questions • wosr - - - - - + + -
+
-
+ +
+
+
+

Why does the WoS API sometimes return a different number of records than the WoS web interface?

@@ -108,8 +99,8 @@

data <- pull_wos("TS = \"dog welfare\"") data$author %>% - left_join(data$author_address, by = c("ut", "author_no")) %>% - left_join(data$address, by = c("ut", "addr_no"))

+ left_join(data$author_address, by = c("ut", "author_no")) %>% + left_join(data$address, by = c("ut", "addr_no"))

@@ -133,6 +124,7 @@

  1. To accommodate this limit, pull_incites() sleeps for a given amount of time (determined by how many times it has received a throttling error for the request it is trying to make) before retrying the request.

+

@@ -147,13 +139,11 @@

-

Site built with pkgdown.

+

Site built with pkgdown.

- - diff --git a/docs/articles/getting-started.html b/docs/articles/getting-started.html index 8864a3e..e091984 100644 --- a/docs/articles/getting-started.html +++ b/docs/articles/getting-started.html @@ -8,18 +8,15 @@ Getting started • wosr - - - - - + + -
+
-
+ +
+
+
+
  1. The first step is to open up a session with the WoS API. auth() will authenticate your credentials with the the API’s server and return a session ID (SID).
@@ -154,149 +145,92 @@

Getting started

top_jscs <- data$jsc %>% - group_by(jsc) %>% - count() %>% - arrange(desc(n)) %>% + group_by(jsc) %>% + count() %>% + arrange(desc(n)) %>% head() -top_jscs -#> # A tibble: 6 x 2 -#> # Groups: jsc [6] -#> jsc n -#> <chr> <int> -#> 1 Veterinary Sciences 69 -#> 2 Zoology 9 -#> 3 Agriculture, Dairy & Animal Science 6 -#> 4 Behavioral Sciences 4 -#> 5 Sociology 4 -#> 6 History & Philosophy of Science 3
+top_jscs
+
+ +
data$jsc %>% 
-  inner_join(top_jscs, by = "jsc") %>% 
-  inner_join(data$publication, by = "ut") %>% 
-  select(title) %>% 
-  distinct() %>% 
-  head()
-#>                                                                    title
-#> 1                               ANIMAL WELFARE Brachycephalic dog breeds
-#> 2                                      Reporting animal welfare concerns
-#> 3                             Sled dog racing and animal welfare aspects
-#> 4                       Animal welfare activist injured while aiding dog
-#> 5                           Travel with dogs - Aspects of animal welfare
-#> 6 ANIMAL WELFARE Welsh government confirms commitment to dog welfare law
+ inner_join(top_jscs, by = "jsc") %>% + inner_join(data$publication, by = "ut") %>% + select(title) %>% + distinct() %>% + head()
+
+ +
  • Which publications have “cat” in their abstracts, who are the authors on those publications, and which organizations are those authors from?
cat_pubs <- 
   data$publication %>% 
-    filter(grepl("\\bcat\\b", abstract, ignore.case = TRUE)) %>% 
-    select(ut, title)
-
-cat_pubs
-#>                    ut
-#> 1 WOS:000256104000004
-#> 2 WOS:000346849200008
-#> 3 WOS:000441200900005
-#> 4 WOS:000317556100002
-#> 5 WOS:000282006600007
-#>                                                                                             title
-#> 1                         Assessment of animal welfare aspects in extreme breeds of dogs and cats
-#> 2                                Introducing breathlessness as a significant animal welfare issue
-#> 3 The Cat and Dog Fur Regulation: A Case Study on the European Union's Approach to Animal Welfare
-#> 4        Redesigning the Donation Box: The Effect of Animal Banks on Donations for Animal Welfare
-#> 5                  Public awareness in New Zealand of animal welfare legislation relating to cats
+ filter(grepl("\\bcat\\b", abstract, ignore.case = TRUE)) %>% + select(ut, title) + +cat_pubs
+
+ +
cat_authors <- 
   data$author %>% 
-    semi_join(cat_pubs, by = "ut") %>% 
-    select(ut, author_no, display_name)
-
-cat_authors
-#>                     ut author_no      display_name
-#> 1  WOS:000256104000004         1       Steiger, A.
-#> 2  WOS:000256104000004         2        Stucki, E.
-#> 3  WOS:000256104000004         3         Peyer, N.
-#> 4  WOS:000256104000004         4        Keller, P.
-#> 5  WOS:000346849200008         1 Beausoleil, N. J.
-#> 6  WOS:000346849200008         2     Mellor, D. J.
-#> 7  WOS:000441200900005         1  Donnellan, Laura
-#> 8  WOS:000317556100002         1  Gueguen, Nicolas
-#> 9  WOS:000282006600007         1  Farnworth, M. J.
-#> 10 WOS:000282006600007         2      Campbell, J.
-#> 11 WOS:000282006600007         3      Adams, N. J.
+ semi_join(cat_pubs, by = "ut") %>% + select(ut, author_no, display_name) + +cat_authors
+
+ +
cat_authors %>% 
-  inner_join(data$author_address, by = c("ut", "author_no")) %>% 
-  inner_join(data$address, by = c("ut", "addr_no")) %>% 
-  select(ut, author_no, display_name, org)
-#>                    ut author_no      display_name                 org
-#> 1 WOS:000256104000004         1       Steiger, A.           Univ Bern
-#> 2 WOS:000256104000004         2        Stucki, E.       Bundesamt Vet
-#> 3 WOS:000256104000004         3         Peyer, N.       Bundesamt Vet
-#> 4 WOS:000346849200008         1 Beausoleil, N. J.         Massey Univ
-#> 5 WOS:000346849200008         2     Mellor, D. J.         Massey Univ
-#> 6 WOS:000441200900005         1  Donnellan, Laura       Univ Limerick
-#> 7 WOS:000282006600007         1  Farnworth, M. J. Unitec Inst Technol
-#> 8 WOS:000282006600007         2      Campbell, J. Unitec Inst Technol
-#> 9 WOS:000282006600007         3      Adams, N. J. Unitec Inst Technol
+ inner_join(data$author_address, by = c("ut", "author_no")) %>% + inner_join(data$address, by = c("ut", "addr_no")) %>% + select(ut, author_no, display_name, org)
+
+ +
data$grant %>% 
-  inner_join(data$publication, by = "ut") %>% 
-  select(ut, tot_cites, grant_agency) %>% 
-  distinct() %>% 
-  arrange(desc(tot_cites)) %>% 
-  head()
-#>                    ut tot_cites
-#> 1 WOS:000266414200001        80
-#> 2 WOS:000266414200001        80
-#> 3 WOS:000346849200008        25
-#> 4 WOS:000376588600097        21
-#> 5 WOS:000376588600097        21
-#> 6 WOS:000250058400056        21
-#>                                                                         grant_agency
-#> 1                                                       Ontario Graduate Scholarship
-#> 2                                                     NSERC postgraduate scholarship
-#> 3                     Animal Welfare Science and Bioethics Centre, Massey University
-#> 4 United States National Science Foundation Division of Social and Economic Sciences
-#> 5              National Science Foundation, Science, Technology, and Society program
-#> 6                                                                 Intramural NIH HHS
+ inner_join(data$publication, by = "ut") %>% + select(ut, tot_cites, grant_agency) %>% + distinct() %>% + arrange(desc(tot_cites)) %>% + head() +
+ +
  1. Download more detailed citation data (from the InCites API) for the top-cited publications
top_100_pubs <- 
   data$publication %>% 
-    arrange(desc(tot_cites)) %>% 
-    slice(1:100) %>% 
+    arrange(desc(tot_cites)) %>% 
+    slice(1:100) %>% 
     .$ut
 
 head(pull_incites(top_100_pubs, key = "your_incites_key"))
-
#>                      ut article_type tot_cites journal_expected_citations
-#> 1.1 WOS:A1997YD63900007           AA        12                      30.29
-#> 1.2 WOS:A1994PU81000001           AA         1                       3.06
-#> 1.3 WOS:A1993KW33000003           AA         9                       2.39
-#> 1.4 WOS:A1993KT16900015            E         0                       0.53
-#> 1.5 WOS:A1993KR46800009           AA         6                       5.18
-#> 1.6 WOS:A1990BS37S00006            P         1                         NA
-#>     journal_act_exp_citations impact_factor avg_expected_rate percentile
-#> 1.1                      0.40         1.573              17.0         34
-#> 1.2                      0.33         0.043              14.1         84
-#> 1.3                      3.76        -1.000              14.1         45
-#> 1.4                      0.00        -1.000               1.2        100
-#> 1.5                      1.16        -1.000              14.1         54
-#> 1.6                        NA        -1.000               2.2         26
-#>      nci esi_most_cited_article hot_paper is_international_collab
-#> 1.1 0.71                  FALSE     FALSE                   FALSE
-#> 1.2 0.07                  FALSE     FALSE                   FALSE
-#> 1.3 0.64                  FALSE     FALSE                   FALSE
-#> 1.4 0.00                  FALSE     FALSE                   FALSE
-#> 1.5 0.42                  FALSE     FALSE                   FALSE
-#> 1.6 0.46                  FALSE     FALSE                   FALSE
-#>     is_institution_collab is_industry_collab oa_flag
-#> 1.1                 FALSE              FALSE   FALSE
-#> 1.2                 FALSE              FALSE   FALSE
-#> 1.3                 FALSE              FALSE   FALSE
-#> 1.4                 FALSE              FALSE   FALSE
-#> 1.5                 FALSE              FALSE   FALSE
-#> 1.6                 FALSE              FALSE   FALSE
+
+ +
+
-

Site built with pkgdown.

+

Site built with pkgdown.

- - diff --git a/docs/articles/index.html b/docs/articles/index.html index f48756e..de1d013 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -18,24 +18,13 @@ - - - - - + - - - - - - - @@ -48,7 +37,7 @@ -
+
@@ -97,12 +81,12 @@ -
-
- + +
+

All vignettes

@@ -121,14 +105,11 @@

All vignettes

-

Site built with pkgdown.

+

Site built with pkgdown.

- - - diff --git a/docs/authors.html b/docs/authors.html index cf37544..f9d1651 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -18,24 +18,13 @@ - - - - - + - - - - - - - @@ -58,12 +47,8 @@ - - wosr - 0.2.0 - + wosr
-
@@ -97,15 +81,15 @@ -
-
+
+
  • -

    Christopher Baker. Author, maintainer. +

    Christopher Baker. Author, maintainer.

@@ -121,14 +105,11 @@

Authors

-

Site built with pkgdown.

+

Site built with pkgdown.

- - - diff --git a/docs/index.html b/docs/index.html index 9e77661..8c20f45 100644 --- a/docs/index.html +++ b/docs/index.html @@ -8,21 +8,15 @@ Clients to the 'Web of Science' and 'InCites' APIs • wosr - - - - - + + -
+
-
+ +
+
+


@@ -158,23 +150,12 @@

uts <- c("000272272000015", "000272366800025", "000272877700013") # Download InCites data for those UTs -pull_incites(uts) -#> ut article_type tot_cites journal_expected_citations -#> 1.1 WOS:000272877700013 AA 1 3.397616 -#> 1.2 WOS:000272366800025 AA 4 4.288802 -#> 1.3 WOS:000272272000015 AA 3 9.031068 -#> journal_act_exp_citations impact_factor avg_expected_rate percentile -#> 1.1 0.29 0.493 20.1665 87.43 -#> 1.2 0.93 0.847 20.1665 62.69 -#> 1.3 0.33 1.902 20.1665 69.35 -#> nci esi_most_cited_article hot_paper is_international_collab -#> 1.1 0.05 FALSE FALSE FALSE -#> 1.2 0.20 FALSE FALSE FALSE -#> 1.3 0.15 FALSE FALSE FALSE -#> is_institution_collab is_industry_collab oa_flag -#> 1.1 FALSE FALSE FALSE -#> 1.2 FALSE FALSE FALSE -#> 1.3 FALSE FALSE FALSE

+pull_incites(uts)
+
+ +

@@ -183,65 +164,33 @@

wos <- pull_wos('TS = ("dog welfare")', sid = sid) # Download InCites data -head(pull_incites(wos$publication$ut)) -#> ut article_type tot_cites journal_expected_citations -#> 1.1 WOS:A1996VH04300002 AA 19 30.224299 -#> 1.2 WOS:000438259600009 AA 1 1.116279 -#> 1.3 WOS:000438259600004 AA 1 1.116279 -#> 1.4 WOS:000436270600004 AA 0 0.261905 -#> 1.5 WOS:000435128900013 R 3 2.000000 -#> 1.6 WOS:000432234000011 AA 0 0.138889 -#> journal_act_exp_citations impact_factor avg_expected_rate percentile -#> 1.1 0.63 1.548 19.1474 22.78 -#> 1.2 0.90 1.554 0.1747 10.89 -#> 1.3 0.90 1.554 0.1747 10.89 -#> 1.4 0.00 1.654 0.1270 100.00 -#> 1.5 1.50 1.554 0.3210 1.16 -#> 1.6 0.00 1.548 0.1498 100.00 -#> nci esi_most_cited_article hot_paper is_international_collab -#> 1.1 0.99 FALSE FALSE FALSE -#> 1.2 5.72 FALSE FALSE FALSE -#> 1.3 5.72 FALSE FALSE FALSE -#> 1.4 0.00 FALSE FALSE FALSE -#> 1.5 9.35 FALSE FALSE TRUE -#> 1.6 0.00 FALSE FALSE FALSE -#> is_institution_collab is_industry_collab oa_flag -#> 1.1 FALSE FALSE FALSE -#> 1.2 FALSE FALSE FALSE -#> 1.3 FALSE FALSE FALSE -#> 1.4 FALSE FALSE TRUE -#> 1.5 TRUE FALSE FALSE -#> 1.6 FALSE FALSE FALSE

+head(pull_incites(wos$publication$ut))
+
+ +
+
-
@@ -250,13 +199,11 @@

Developers

-

Site built with pkgdown.

+

Site built with pkgdown.

- - diff --git a/docs/news/index.html b/docs/news/index.html index e72fa96..319a62b 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -6,7 +6,7 @@ -Changelog • wosr +All news • wosr @@ -18,24 +18,13 @@ - - - - - + - - - - - - - @@ -58,12 +47,8 @@ - - wosr - 0.2.0 - + wosr
- @@ -97,17 +81,17 @@ -
-
+
+ +
+
-

-wosr 0.2.0 2018-09-27 -

+

+wosr 0.2.0

New functions

@@ -128,9 +112,8 @@

-

-wosr 0.1.2 2018-07-27 -

+

+wosr 0.1.2

New functions

@@ -149,9 +132,8 @@

-

-wosr 0.1.1 2018-05-03 -

+

+wosr 0.1.1

Misc

@@ -161,9 +143,8 @@

-

-wosr 0.1.0 2018-02-06 -

+

+wosr 0.1.0

New functions

@@ -177,6 +158,7 @@

+
-

Site built with pkgdown.

+

Site built with pkgdown.

- - - diff --git a/docs/pkgdown.css b/docs/pkgdown.css index 6ca2f37..209ce57 100644 --- a/docs/pkgdown.css +++ b/docs/pkgdown.css @@ -1,32 +1,13 @@ -/* Sticky footer */ - -/** - * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ - * Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css - * - * .Site -> body > .container - * .Site-content -> body > .container .row - * .footer -> footer - * - * Key idea seems to be to ensure that .container and __all its parents__ - * have height set to 100% - * - */ - -html, body { - height: 100%; -} - +/* Sticker footer */ body > .container { display: flex; - height: 100%; - flex-direction: column; - padding-top: 60px; + min-height: calc(100vh); + flex-direction: column; } body > .container .row { - flex: 1 0 auto; + flex: 1; } footer { @@ -35,7 +16,6 @@ footer { border-top: 1px solid #e5e5e5; color: #666; display: flex; - flex-shrink: 0; } footer p { margin-bottom: 0; @@ -58,12 +38,6 @@ img { max-width: 100%; } -/* Typographic tweaking ---------------------------------*/ - -.contents h1.page-header { - margin-top: calc(-60px + 1em); -} - /* Section anchors ---------------------------------*/ a.anchor { @@ -94,7 +68,7 @@ a.anchor { .contents h1, .contents h2, .contents h3, .contents h4 { padding-top: 60px; - margin-top: -40px; + margin-top: -60px; } /* Static header placement on mobile devices */ @@ -126,14 +100,10 @@ a.anchor { margin-bottom: 0.5em; } -.orcid { - height: 16px; - vertical-align: middle; -} - /* Reference index & topics ----------------------------------------------- */ .ref-index th {font-weight: normal;} +.ref-index h2 {font-size: 20px;} .ref-index td {vertical-align: top;} .ref-index .alias {width: 40%;} @@ -167,12 +137,6 @@ pre, code { color: #333; } -pre code { - overflow: auto; - word-wrap: normal; - white-space: pre; -} - pre .img { margin: 5px 0; } @@ -187,10 +151,6 @@ code a, pre a { color: #375f84; } -a.sourceLine:hover { - text-decoration: none; -} - .fl {color: #1514b5;} .fu {color: #000000;} /* function */ .ch,.st {color: #036a07;} /* string */ @@ -201,32 +161,3 @@ a.sourceLine:hover { .error { color: orange; font-weight: bolder;} .warning { color: #6A0366; font-weight: bolder;} -/* Clipboard --------------------------*/ - -.hasCopyButton { - position: relative; -} - -.btn-copy-ex { - position: absolute; - right: 0; - top: 0; - visibility: hidden; -} - -.hasCopyButton:hover button.btn-copy-ex { - visibility: visible; -} - -/* mark.js ----------------------------*/ - -mark { - background-color: rgba(255, 255, 51, 0.5); - border-bottom: 2px solid rgba(255, 153, 51, 0.3); - padding: 1px; -} - -/* vertical spacing after htmlwidgets */ -.html-widget { - margin-bottom: 10px; -} diff --git a/docs/pkgdown.js b/docs/pkgdown.js index de9bd72..4b81713 100644 --- a/docs/pkgdown.js +++ b/docs/pkgdown.js @@ -1,110 +1,45 @@ -/* http://gregfranko.com/blog/jquery-best-practices/ */ -(function($) { - $(function() { - - $("#sidebar") - .stick_in_parent({offset_top: 40}) - .on('sticky_kit:bottom', function(e) { - $(this).parent().css('position', 'static'); - }) - .on('sticky_kit:unbottom', function(e) { - $(this).parent().css('position', 'relative'); - }); - - $('body').scrollspy({ - target: '#sidebar', - offset: 60 - }); - - $('[data-toggle="tooltip"]').tooltip(); - - var cur_path = paths(location.pathname); - var links = $("#navbar ul li a"); - var max_length = -1; - var pos = -1; - for (var i = 0; i < links.length; i++) { - if (links[i].getAttribute("href") === "#") - continue; - var path = paths(links[i].pathname); - - var length = prefix_length(cur_path, path); - if (length > max_length) { - max_length = length; - pos = i; - } - } +$(function() { + $("#sidebar").stick_in_parent({offset_top: 40}); + $('body').scrollspy({ + target: '#sidebar', + offset: 60 + }); - // Add class to parent
  • , and enclosing
  • if in dropdown - if (pos >= 0) { - var menu_anchor = $(links[pos]); + var cur_path = paths(location.pathname); + $("#navbar ul li a").each(function(index, value) { + if (value.text == "Home") + return; + if (value.getAttribute("href") === "#") + return; + + var path = paths(value.pathname); + if (is_prefix(cur_path, path)) { + // Add class to parent
  • , and enclosing
  • if in dropdown + var menu_anchor = $(value); menu_anchor.parent().addClass("active"); menu_anchor.closest("li.dropdown").addClass("active"); } }); +}); - function paths(pathname) { - var pieces = pathname.split("/"); - pieces.shift(); // always starts with / - - var end = pieces[pieces.length - 1]; - if (end === "index.html" || end === "") - pieces.pop(); - return(pieces); - } - - function prefix_length(needle, haystack) { - if (needle.length > haystack.length) - return(0); - - // Special case for length-0 haystack, since for loop won't run - if (haystack.length === 0) { - return(needle.length === 0 ? 1 : 0); - } - - for (var i = 0; i < haystack.length; i++) { - if (needle[i] != haystack[i]) - return(i); - } +function paths(pathname) { + var pieces = pathname.split("/"); + pieces.shift(); // always starts with / - return(haystack.length); - } + var end = pieces[pieces.length - 1]; + if (end === "index.html" || end === "") + pieces.pop(); + return(pieces); +} - /* Clipboard --------------------------*/ +function is_prefix(needle, haystack) { + if (needle.length > haystack.lengh) + return(false); - function changeTooltipMessage(element, msg) { - var tooltipOriginalTitle=element.getAttribute('data-original-title'); - element.setAttribute('data-original-title', msg); - $(element).tooltip('show'); - element.setAttribute('data-original-title', tooltipOriginalTitle); + for (var i = 0; i < haystack.length; i++) { + if (needle[i] != haystack[i]) + return(false); } - if(Clipboard.isSupported()) { - $(document).ready(function() { - var copyButton = ""; - - $(".examples, div.sourceCode").addClass("hasCopyButton"); - - // Insert copy buttons: - $(copyButton).prependTo(".hasCopyButton"); - - // Initialize tooltips: - $('.btn-copy-ex').tooltip({container: 'body'}); - - // Initialize clipboard: - var clipboardBtnCopies = new Clipboard('[data-clipboard-copy]', { - text: function(trigger) { - return trigger.parentNode.textContent; - } - }); - - clipboardBtnCopies.on('success', function(e) { - changeTooltipMessage(e.trigger, 'Copied!'); - e.clearSelection(); - }); - - clipboardBtnCopies.on('error', function() { - changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); - }); - }); - } -})(window.jQuery || window.$) + return(true); +} diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml deleted file mode 100644 index 9782a62..0000000 --- a/docs/pkgdown.yml +++ /dev/null @@ -1,7 +0,0 @@ -pandoc: 1.19.2.1 -pkgdown: 1.1.0 -pkgdown_sha: ~ -articles: - faqs: faqs.html - getting-started: getting-started.html - diff --git a/docs/reference/auth.html b/docs/reference/auth.html index 11548e5..0c6dd5b 100644 --- a/docs/reference/auth.html +++ b/docs/reference/auth.html @@ -6,7 +6,7 @@ -Authenticate user credentials — auth • wosr +Authenticate user credentials auth • wosr @@ -18,30 +18,13 @@ - - - - - + - - - - - - - - - - @@ -64,12 +47,8 @@ - - wosr - 0.2.0 - + wosr
  • -
    @@ -103,27 +81,23 @@ -
    +
    -

    auth asks the API's server for a session ID (SID), which you can then pass along to either query_wos or pull_wos. Note, there are limits on how many session IDs you can get in a given period of time (roughly 5 SIDs in a 5 minute time period).

    -
    auth(username = Sys.getenv("WOS_USERNAME"),
       password = Sys.getenv("WOS_PASSWORD"))
    -

    Arguments

    +

    Arguments

    @@ -173,14 +147,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/create_ut_queries.html b/docs/reference/create_ut_queries.html new file mode 100644 index 0000000..ad9af71 --- /dev/null +++ b/docs/reference/create_ut_queries.html @@ -0,0 +1,152 @@ + + + + + + + + +Create a list of UT-based queries create_ut_queries • wosr + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + + +

    Use this function when you have a bunch of UTs whose data you want to pull +and you need to write a series of UT-based queries to do so (i.e., queries +in the form "UT = (WOS:000186387100005 OR WOS:000179260700001)").

    + + +
    create_ut_queries(uts, uts_per_query = 200)
    + +

    Arguments

    +
    + + + + + + + + + +
    uts

    Vector of UTs that will be placed inside the UT-based queries.

    uts_per_query

    Number of UTs to include in each query. Note, there is +a limit on how long your query can be, so you probably want to keep this set +to around 200.

    + +

    Value

    + +

    A vector of queries. You can feed these queries to +pull_wos_apply to download data for each query.

    + + +

    Examples

    +
    # NOT RUN {
    +data <- pull_wos('TS = ("animal welfare") AND PY = (2002-2003)')
    +queries <- create_ut_queries(data$publication$ut)
    +pull_wos_apply(queries)
    +# }
    +
    + +
    + +
    + + +
    +

    Site built with pkgdown.

    +
    + +
    +
    + + + diff --git a/docs/reference/index.html b/docs/reference/index.html index 980fc5a..fabc266 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -18,24 +18,13 @@ - - - - - + - - - - - - - @@ -58,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -97,92 +81,108 @@ -
    -
    +
    +
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    WoS API

    -

    -
    -

    auth()

    -

    Authenticate user credentials

    -

    query_wos()

    -

    Query the Web of Science

    -

    query_wos_apply()

    -

    Run query_wos across multiple queries

    -

    pull_wos()

    -

    Pull data from the Web of Science

    -

    pull_wos_apply()

    -

    Run pull_wos across multiple queries

    -

    read_wos_data()

    -

    Read WoS data

    -

    write_wos_data()

    -

    Write WoS data

    -

    pull_cited_refs()

    -

    Pull cited references data from the Web of Science

    -

    InCites API

    -

    -
    -

    pull_incites()

    -

    Pull data from InCites

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    WoS API

    +

    +
    +

    auth

    +

    Authenticate user credentials

    +

    query_wos

    +

    Query the Web of Science

    +

    query_wos_apply

    +

    Run query_wos across multiple queries

    +

    create_ut_queries

    +

    Create a list of UT-based queries

    +

    pull_wos

    +

    Pull data from the Web of Science

    +

    pull_wos_apply

    +

    Run pull_wos across multiple queries

    +

    read_wos_data

    +

    Read WoS data

    +

    write_wos_data

    +

    Write WoS data

    +

    pull_cited_refs

    +

    Pull cited references

    +

    pull_related_recs

    +

    Pull related records

    +

    InCites API

    +

    +
    +

    pull_incites

    +

    Pull data from InCites

    +
    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/pull_cited_refs.html b/docs/reference/pull_cited_refs.html index 0284727..c76ea70 100644 --- a/docs/reference/pull_cited_refs.html +++ b/docs/reference/pull_cited_refs.html @@ -6,7 +6,7 @@ -Pull cited references data from the Web of Science — pull_cited_refs • wosr +Pull cited references pull_cited_refs • wosr @@ -18,27 +18,13 @@ - - - - - + - - - - - - - - - - @@ -61,12 +47,8 @@ - - wosr - 0.2.0 - + wosr
    -
    @@ -100,24 +81,20 @@ -
    +
    -
    -

    Pull cited references data from the Web of Science

    +

    Pull cited references

    -
    pull_cited_refs(uts, sid = auth(Sys.getenv("WOS_USERNAME"),
       Sys.getenv("WOS_PASSWORD")), ...)
    -

    Arguments

    +

    Arguments

    @@ -189,14 +166,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/pull_incites.html b/docs/reference/pull_incites.html index 3b377af..78ed94a 100644 --- a/docs/reference/pull_incites.html +++ b/docs/reference/pull_incites.html @@ -6,7 +6,7 @@ -Pull data from InCites — pull_incites • wosr +Pull data from InCites pull_incites • wosr @@ -18,31 +18,13 @@ - - - - - + - - - - - - - - - - @@ -65,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -104,15 +81,12 @@ -
    +
    -

    Important note: The throttling limits on the InCites API are not documented anywhere and are difficult to determine from experience. As such, @@ -120,11 +94,10 @@

    Pull data from InCites

    uses exponential backoff (with a maximum wait time of 45 minutes) to determine how long to wait before retrying.

    -
    pull_incites(uts, key = Sys.getenv("INCITES_KEY"), as_raw = FALSE, ...)
    -

    Arguments

    +

    Arguments

    @@ -194,14 +167,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/pull_related_recs.html b/docs/reference/pull_related_recs.html index 932de6b..8c9d83e 100644 --- a/docs/reference/pull_related_recs.html +++ b/docs/reference/pull_related_recs.html @@ -6,7 +6,7 @@ -Pull related records — pull_related_recs • wosr +Pull related records pull_related_recs • wosr @@ -18,28 +18,13 @@ - - - - - + - - - - - - - - - - @@ -62,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -101,29 +81,28 @@ -
    +
    -

    Pull the records that have at least one citation in common with a publication of interest

    -
    -
    pull_related_recs(uts, num_recs, editions = c("SCI", "SSCI", "AHCI",
    -  "ISTP", "ISSHP", "BSCI", "BHCI", "IC", "CCR", "ESCI"),
    -  sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")),
    -  ...)
    +
    pull_related_recs(uts, num_recs, editions = c("SCI", "SSCI", "AHCI", "ISTP",
    +  "ISSHP", "BSCI", "BHCI", "IC", "CCR", "ESCI"),
    +  sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")), ...)
    -

    Arguments

    +

    Arguments

    + + + + @@ -188,14 +167,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/pull_wos.html b/docs/reference/pull_wos.html index 3360f02..e6a2820 100644 --- a/docs/reference/pull_wos.html +++ b/docs/reference/pull_wos.html @@ -6,7 +6,7 @@ -Pull data from the Web of Science — pull_wos • wosr +Pull data from the Web of Science pull_wos • wosr @@ -18,28 +18,13 @@ - - - - - + - - - - - - - - - - @@ -62,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -101,27 +81,22 @@ -
    +
    -

    pull_wos wraps the process of querying, downloading, parsing, and processing the Web of Science data that the API serves.

    -
    -
    pull_wos(query, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP",
    -  "BSCI", "BHCI", "IC", "CCR", "ESCI"),
    -  sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")),
    -  ...)
    +
    pull_wos(query, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP", "BSCI",
    +  "BHCI", "IC", "CCR", "ESCI"), sid = auth(Sys.getenv("WOS_USERNAME"),
    +  Sys.getenv("WOS_PASSWORD")), ...)
    -

    Arguments

    +

    Arguments

    uts

    The documents you want to find related records for

    num_recs

    Number of related records to pull for each UT

    @@ -232,14 +207,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/pull_wos_apply.html b/docs/reference/pull_wos_apply.html index 46419b3..a08d126 100644 --- a/docs/reference/pull_wos_apply.html +++ b/docs/reference/pull_wos_apply.html @@ -6,7 +6,7 @@ -Run <code>pull_wos</code> across multiple queries — pull_wos_apply • wosr +Run <code>pull_wos</code> across multiple queries pull_wos_apply • wosr @@ -18,27 +18,13 @@ - - - - - + - - - - - - - - - - @@ -61,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -100,26 +81,21 @@ -
    +
    -

    Run pull_wos across multiple queries

    -
    -
    pull_wos_apply(queries, editions = c("SCI", "SSCI", "AHCI", "ISTP",
    -  "ISSHP", "BSCI", "BHCI", "IC", "CCR", "ESCI"),
    -  sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")),
    -  ...)
    +
    pull_wos_apply(queries, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP",
    +  "BSCI", "BHCI", "IC", "CCR", "ESCI"), sid = auth(Sys.getenv("WOS_USERNAME"),
    +  Sys.getenv("WOS_PASSWORD")), ...)
    -

    Arguments

    +

    Arguments

    @@ -179,14 +155,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/query_wos.html b/docs/reference/query_wos.html index 81e6c10..ef8bf93 100644 --- a/docs/reference/query_wos.html +++ b/docs/reference/query_wos.html @@ -6,7 +6,7 @@ -Query the Web of Science — query_wos • wosr +Query the Web of Science query_wos • wosr @@ -18,29 +18,13 @@ - - - - - + - - - - - - - - - - @@ -63,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -102,28 +81,23 @@ -
    +
    -

    Returns the number of records that match a given query. It's best to call this function before calling pull_wos so that you know how many records you are trying to download before you attempt to do so.

    -
    -
    query_wos(query, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP",
    -  "BSCI", "BHCI", "IC", "CCR", "ESCI"),
    -  sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")),
    -  ...)
    +
    query_wos(query, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP", "BSCI",
    +  "BHCI", "IC", "CCR", "ESCI"), sid = auth(Sys.getenv("WOS_USERNAME"),
    +  Sys.getenv("WOS_PASSWORD")), ...)
    -

    Arguments

    +

    Arguments

    @@ -190,14 +164,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/query_wos_apply.html b/docs/reference/query_wos_apply.html index ab91a94..b437f21 100644 --- a/docs/reference/query_wos_apply.html +++ b/docs/reference/query_wos_apply.html @@ -6,7 +6,7 @@ -Run <code>query_wos</code> across multiple queries — query_wos_apply • wosr +Run <code>query_wos</code> across multiple queries query_wos_apply • wosr @@ -18,27 +18,13 @@ - - - - - + - - - - - - - - - - @@ -61,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -100,26 +81,21 @@ -
    +
    -

    Run query_wos across multiple queries

    -
    -
    query_wos_apply(queries, editions = c("SCI", "SSCI", "AHCI", "ISTP",
    -  "ISSHP", "BSCI", "BHCI", "IC", "CCR", "ESCI"),
    -  sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")),
    -  ...)
    +
    query_wos_apply(queries, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP",
    +  "BSCI", "BHCI", "IC", "CCR", "ESCI"), sid = auth(Sys.getenv("WOS_USERNAME"),
    +  Sys.getenv("WOS_PASSWORD")), ...)
    -

    Arguments

    +

    Arguments

    @@ -175,14 +151,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/read_wos_data.html b/docs/reference/read_wos_data.html index 766a93f..b083cf9 100644 --- a/docs/reference/read_wos_data.html +++ b/docs/reference/read_wos_data.html @@ -6,7 +6,7 @@ -Read WoS data — read_wos_data • wosr +Read WoS data read_wos_data • wosr @@ -18,29 +18,13 @@ - - - - - + - - - - - - - - - - @@ -63,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -102,25 +81,21 @@ -
    +
    -

    Reads in a series of CSV files (which were written via write_wos_data) and places the data in an object of class wos_data.

    -
    read_wos_data(dir)
    -

    Arguments

    +

    Arguments

    @@ -164,14 +139,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/wosr.html b/docs/reference/wosr.html index 0dd5d1d..6d3ef70 100644 --- a/docs/reference/wosr.html +++ b/docs/reference/wosr.html @@ -6,7 +6,7 @@ -wosr — wosr • wosr +wosr wosr • wosr @@ -18,27 +18,13 @@ - - - - - + - - - - - - - - - - @@ -61,12 +47,8 @@ - - wosr - 0.2.0 - + wosr - @@ -100,19 +81,15 @@ -
    +
    -

    wosr

    -
    @@ -131,14 +108,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/docs/reference/write_wos_data.html b/docs/reference/write_wos_data.html index 1940aa9..ee733d6 100644 --- a/docs/reference/write_wos_data.html +++ b/docs/reference/write_wos_data.html @@ -6,7 +6,7 @@ -Write WoS data — write_wos_data • wosr +Write WoS data write_wos_data • wosr @@ -18,28 +18,13 @@ - - - - - + - - - - - - - - - - @@ -62,12 +47,8 @@ - - wosr - 0.2.0 - + wosr
    - @@ -101,24 +81,20 @@ -
    +
    -

    Writes each of the data frames in an object of class wos_data to its own csv file. Each file will be named after the name of the data frame.

    -
    write_wos_data(wos_data, dir)
    -

    Arguments

    +

    Arguments

    @@ -169,14 +145,11 @@

    Contents

    -

    Site built with pkgdown.

    +

    Site built with pkgdown.

    - - - diff --git a/man/create_ut_queries.Rd b/man/create_ut_queries.Rd new file mode 100644 index 0000000..cb8bfc4 --- /dev/null +++ b/man/create_ut_queries.Rd @@ -0,0 +1,32 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/query-wos.R +\name{create_ut_queries} +\alias{create_ut_queries} +\title{Create a list of UT-based queries} +\usage{ +create_ut_queries(uts, uts_per_query = 200) +} +\arguments{ +\item{uts}{Vector of UTs that will be placed inside the UT-based queries.} + +\item{uts_per_query}{Number of UTs to include in each query. Note, there is +a limit on how long your query can be, so you probably want to keep this set +to around 200.} +} +\value{ +A vector of queries. You can feed these queries to +\code{\link{pull_wos_apply}} to download data for each query. +} +\description{ +Use this function when you have a bunch of UTs whose data you want to pull +and you need to write a series of UT-based queries to do so (i.e., queries +in the form "UT = (WOS:000186387100005 OR WOS:000179260700001)"). +} +\examples{ +\dontrun{ + +data <- pull_wos('TS = ("animal welfare") AND PY = (2002-2003)') +queries <- create_ut_queries(data$publication$ut) +pull_wos_apply(queries) +} +} diff --git a/man/pull_cited_refs.Rd b/man/pull_cited_refs.Rd index 4fd5aa7..2b25f31 100644 --- a/man/pull_cited_refs.Rd +++ b/man/pull_cited_refs.Rd @@ -2,7 +2,7 @@ % Please edit documentation in R/pull-cited-refs.R \name{pull_cited_refs} \alias{pull_cited_refs} -\title{Pull cited references data from the Web of Science} +\title{Pull cited references} \usage{ pull_cited_refs(uts, sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")), ...) @@ -42,7 +42,7 @@ A data frame with the following columns: } } \description{ -Pull cited references data from the Web of Science +Pull cited references } \examples{ \dontrun{ diff --git a/man/pull_related_recs.Rd b/man/pull_related_recs.Rd index 9858205..69b5c8e 100644 --- a/man/pull_related_recs.Rd +++ b/man/pull_related_recs.Rd @@ -4,12 +4,13 @@ \alias{pull_related_recs} \title{Pull related records} \usage{ -pull_related_recs(uts, num_recs, editions = c("SCI", "SSCI", "AHCI", - "ISTP", "ISSHP", "BSCI", "BHCI", "IC", "CCR", "ESCI"), - sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")), - ...) +pull_related_recs(uts, num_recs, editions = c("SCI", "SSCI", "AHCI", "ISTP", + "ISSHP", "BSCI", "BHCI", "IC", "CCR", "ESCI"), + sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")), ...) } \arguments{ +\item{uts}{The documents you want to find related records for} + \item{num_recs}{Number of related records to pull for each UT} \item{editions}{Web of Science editions to query. Possible values are listed diff --git a/man/pull_wos.Rd b/man/pull_wos.Rd index 881a346..16dd11e 100644 --- a/man/pull_wos.Rd +++ b/man/pull_wos.Rd @@ -4,10 +4,9 @@ \alias{pull_wos} \title{Pull data from the Web of Science} \usage{ -pull_wos(query, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP", - "BSCI", "BHCI", "IC", "CCR", "ESCI"), - sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")), - ...) +pull_wos(query, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP", "BSCI", + "BHCI", "IC", "CCR", "ESCI"), sid = auth(Sys.getenv("WOS_USERNAME"), + Sys.getenv("WOS_PASSWORD")), ...) } \arguments{ \item{query}{Query string. See the \href{https://images.webofknowledge.com/images/help/WOK/hs_search_operators.html#dsy863-TRS_search_operator_precedence}{WoS query documentation} page diff --git a/man/pull_wos_apply.Rd b/man/pull_wos_apply.Rd index 62833a8..d320763 100644 --- a/man/pull_wos_apply.Rd +++ b/man/pull_wos_apply.Rd @@ -4,10 +4,9 @@ \alias{pull_wos_apply} \title{Run \code{pull_wos} across multiple queries} \usage{ -pull_wos_apply(queries, editions = c("SCI", "SSCI", "AHCI", "ISTP", - "ISSHP", "BSCI", "BHCI", "IC", "CCR", "ESCI"), - sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")), - ...) +pull_wos_apply(queries, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP", + "BSCI", "BHCI", "IC", "CCR", "ESCI"), sid = auth(Sys.getenv("WOS_USERNAME"), + Sys.getenv("WOS_PASSWORD")), ...) } \arguments{ \item{queries}{Vector of queries to issue to the WoS API and pull data for.} diff --git a/man/query_wos.Rd b/man/query_wos.Rd index a83ad19..1851f56 100644 --- a/man/query_wos.Rd +++ b/man/query_wos.Rd @@ -4,10 +4,9 @@ \alias{query_wos} \title{Query the Web of Science} \usage{ -query_wos(query, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP", - "BSCI", "BHCI", "IC", "CCR", "ESCI"), - sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")), - ...) +query_wos(query, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP", "BSCI", + "BHCI", "IC", "CCR", "ESCI"), sid = auth(Sys.getenv("WOS_USERNAME"), + Sys.getenv("WOS_PASSWORD")), ...) } \arguments{ \item{query}{Query string. See the \href{https://images.webofknowledge.com/images/help/WOK/hs_search_operators.html#dsy863-TRS_search_operator_precedence}{WoS query documentation} page diff --git a/man/query_wos_apply.Rd b/man/query_wos_apply.Rd index c6fbff9..3936d94 100644 --- a/man/query_wos_apply.Rd +++ b/man/query_wos_apply.Rd @@ -4,10 +4,9 @@ \alias{query_wos_apply} \title{Run \code{query_wos} across multiple queries} \usage{ -query_wos_apply(queries, editions = c("SCI", "SSCI", "AHCI", "ISTP", - "ISSHP", "BSCI", "BHCI", "IC", "CCR", "ESCI"), - sid = auth(Sys.getenv("WOS_USERNAME"), Sys.getenv("WOS_PASSWORD")), - ...) +query_wos_apply(queries, editions = c("SCI", "SSCI", "AHCI", "ISTP", "ISSHP", + "BSCI", "BHCI", "IC", "CCR", "ESCI"), sid = auth(Sys.getenv("WOS_USERNAME"), + Sys.getenv("WOS_PASSWORD")), ...) } \arguments{ \item{queries}{Vector of queries to issue to the WoS API.}