diff --git a/.Rbuildignore b/.Rbuildignore index cdb2032..b979e8d 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -5,3 +5,5 @@ ^pkgdown$ ^LICENSE\.md$ ^README\.Rmd$ +^\.github$ +^CODE_OF_CONDUCT\.md$ diff --git a/.gitignore b/.gitignore index 27f52c0..b48f046 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ bin-release/ .RData docs/ +docs diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..f2665ab --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,126 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at https://reprex.nl/contact/. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][https://github.com/mozilla/inclusion]. + +For answers to common questions about this code of conduct, see the FAQ at +. Translations are available at . + +[homepage]: https://www.contributor-covenant.org diff --git a/DESCRIPTION b/DESCRIPTION index 9dcb8a7..6850961 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,7 @@ Package: tuRtle Title: Parse and Export R Data with the Turtle Syntax for the Resource Description Framework. -Version: 0.0.0.9000 +Date: 2024-01-28 +Version: 0.1.0 Authors@R: c(person(given = "Daniel", family = "Antal", email = "daniel.antal@dataobservatory.eu", @@ -11,6 +12,8 @@ Authors@R: Description: The Resource Description Framework (RDF) is a general-purpose language for representing information in the Web. This package converts data and metadata from R dataset objects to the Turtle syntax. +URL: https://dataobservatory-eu.github.io/tuRtle/ +BugReports: https://github.com/dataobservatory-eu/tuRtle/issues License: GPL (>= 3) Encoding: UTF-8 Roxygen: list(markdown = TRUE) @@ -19,4 +22,6 @@ Imports: dataset Suggests: knitr, - remotes \ No newline at end of file + remotes, + testthat (>= 3.0.0) +Config/testthat/edition: 3 diff --git a/NEWS.md b/NEWS.md new file mode 100644 index 0000000..67595ee --- /dev/null +++ b/NEWS.md @@ -0,0 +1,3 @@ +# tuRtle 0.1.0 + +* Initial development version on Zenodo and GitHub. diff --git a/README.Rmd b/README.Rmd index f9ddf87..8cae6e9 100644 --- a/README.Rmd +++ b/README.Rmd @@ -8,21 +8,21 @@ output: github_document knitr::opts_chunk$set( collapse = TRUE, comment = "#>", - fig.path = "man/figures/README-", + fig.path = "man/figures/", out.width = "100%" ) ``` -# tuRtle +# tuRtle -<<<<<<< HEAD [![lifecycle](https://lifecycle.r-lib.org/articles/figures/lifecycle-experimental.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental) [![Project Status: WIP](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip) [![dataobservatory](https://img.shields.io/badge/ecosystem-dataobservatory.eu-3EA135.svg)](https://dataobservatory.eu/) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10576998.svg)](https://zenodo.org/record/6950435#.YukDAXZBzIU) -The goal of tuRtle is Parse and Export R Data with the Turtle Syntax for the Resource Description Framework. +The goal of tuRtle is to parse or export R data with the Turtle syntax for the Resource Description Framework (RDF). ## Installation @@ -50,5 +50,7 @@ readLines(examplefile) ``` +## Code of Conduct +Please note that the tuRtle project is released with a [Contributor Code of Conduct](https://dataobservatory-eu.github.io/tuRtle/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms. diff --git a/README.md b/README.md index 1e76637..7a95c3e 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,19 @@ -# tuRtle +# tuRtle -\<\<\<\<\<\<\< HEAD [![lifecycle](https://lifecycle.r-lib.org/articles/figures/lifecycle-experimental.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental) [![Project Status: WIP](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip) [![dataobservatory](https://img.shields.io/badge/ecosystem-dataobservatory.eu-3EA135.svg)](https://dataobservatory.eu/) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10576998.svg)](https://zenodo.org/record/6950435#.YukDAXZBzIU) -The goal of tuRtle is Parse and Export R Data with the Turtle Syntax for -the Resource Description Framework. +The goal of tuRtle is to parse or export R data with the Turtle syntax +for the Resource Description Framework (RDF). ## Installation @@ -73,3 +73,10 @@ readLines(examplefile) #> [31] " eg-var \"2\"^^ ;" #> [32] " ." ``` + +## Code of Conduct + +Please note that the tuRtle project is released with a [Contributor Code +of +Conduct](https://dataobservatory-eu.github.io/tuRtle/CODE_OF_CONDUCT.html). +By contributing to this project, you agree to abide by its terms. diff --git a/_pkgdown.yml b/_pkgdown.yml index 31115c5..32f7972 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1,4 +1,27 @@ -usethurl: ~ +url: https://dataobservatory-eu.github.io/tuRtle/ template: bootstrap: 5 + bslib: + base_font: {google: "Roboto"} + heading_font: {google: "Roboto Slab"} + code_font: {google: "JetBrains Mono"} + + +home: + title: An R package for Turtle RDF + description: > + The goal of tuRtle is to parse or export R data with the + Turtle syntax for the Resource Description Framework (RDF). + links: + - text: http://turtle.dataobservatory.eu + href: http://turtle.dataobservatory.eu + + +authors: + Daniel Antal: + href: https://reprex.nl/authors/daniel_antal/ + Reprex: + href: https://reprex.nl/ + html: diff --git a/codemeta.json b/codemeta.json new file mode 100644 index 0000000..0e6c89c --- /dev/null +++ b/codemeta.json @@ -0,0 +1,127 @@ +{ + "@context": "https://doi.org/10.5063/schema/codemeta-2.0", + "@type": "SoftwareSourceCode", + "identifier": "tuRtle", + "description": "The Resource Description Framework (RDF) is a general-purpose language for representing information in the Web. This package converts data and metadata from R dataset objects to the Turtle syntax.", + "name": "tuRtle: Parse and Export R Data with the Turtle Syntax for the Resource Description Framework. ", + "codeRepository": "https://github.com/dataobservatory-eu/tuRtle", + "issueTracker": "https://github.com/dataobservatory-eu/tuRtle/issues", + "license": "https://spdx.org/licenses/GPL-3.0", + "version": "0.1.0", + "programmingLanguage": { + "@type": "ComputerLanguage", + "name": "R", + "url": "https://r-project.org" + }, + "runtimePlatform": "R version 4.3.2 (2023-10-31 ucrt)", + "author": [ + { + "@type": "Person", + "givenName": "Daniel", + "familyName": "Antal", + "email": "daniel.antal@dataobservatory.eu", + "@id": "https://orcid.org/0000-0001-7513-6760" + } + ], + "maintainer": [ + { + "@type": "Person", + "givenName": "Daniel", + "familyName": "Antal", + "email": "daniel.antal@dataobservatory.eu", + "@id": "https://orcid.org/0000-0001-7513-6760" + } + ], + "softwareSuggestions": [ + { + "@type": "SoftwareApplication", + "identifier": "knitr", + "name": "knitr", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=knitr" + }, + { + "@type": "SoftwareApplication", + "identifier": "remotes", + "name": "remotes", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=remotes" + }, + { + "@type": "SoftwareApplication", + "identifier": "testthat", + "name": "testthat", + "version": ">= 3.0.0", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=testthat" + } + ], + "softwareRequirements": { + "1": { + "@type": "SoftwareApplication", + "identifier": "dataset", + "name": "dataset", + "provider": { + "@id": "https://cran.r-project.org", + "@type": "Organization", + "name": "Comprehensive R Archive Network (CRAN)", + "url": "https://cran.r-project.org" + }, + "sameAs": "https://CRAN.R-project.org/package=dataset" + }, + "SystemRequirements": null + }, + "fileSize": "598.212KB", + "citation": [ + { + "@type": "SoftwareSourceCode", + "datePublished": "2024", + "author": [ + { + "@type": "Person", + "givenName": "Daniel", + "familyName": "Antal", + "email": "daniel.antal@dataobservatory.eu", + "@id": "https://orcid.org/0000-0001-7513-6760" + } + ], + "name": "tuRtle: Parse and Export R Data with the Turtle Syntax for the Resource Description Framework. ", + "url": "https://dataobservatory-eu.github.io/tuRtle/", + "description": "R package version 0.1.0" + }, + { + "@type": "CreativeWork", + "datePublished": "2024", + "author": [ + { + "@type": "Person", + "givenName": "Daniel", + "familyName": "Antal" + } + ], + "name": "The tuRtle R Package: Parse and Export R Data with the Turtle Syntax for the Resource Description Framework ", + "identifier": "10.5281/zenodo.10576998", + "url": "https://turtle.dataobservatory.eu/index.html", + "@id": "https://doi.org/10.5281/zenodo.10576998", + "sameAs": "https://doi.org/10.5281/zenodo.10576998" + } + ], + "relatedLink": "https://dataobservatory-eu.github.io/tuRtle/", + "readme": "https://github.com/dataobservatory-eu/tuRtle/blob/main/README.md", + "developmentStatus": ["https://lifecycle.r-lib.org/articles/stages.html#experimental", "https://www.repostatus.org/#wip"] +} diff --git a/inst/CITATION b/inst/CITATION new file mode 100644 index 0000000..0ade1f0 --- /dev/null +++ b/inst/CITATION @@ -0,0 +1,13 @@ +## R package reference generated from DESCRIPTION metadata +citation(auto = meta) + +bibentry(bibtype = "Misc", + title = "The tuRtle R Package: Parse and Export R Data with the Turtle Syntax for the Resource Description Framework ", + author = c(person(given ="Daniel", family = "Antal", role = "aut")), + year = "2024", + month = "01", + day = "28", + publisher = "Reprex", + url = "https://turtle.dataobservatory.eu/index.html", + doi = "10.5281/zenodo.10576998") + diff --git a/man/figures/logo.png b/man/figures/logo.png new file mode 100644 index 0000000..ff3516d Binary files /dev/null and b/man/figures/logo.png differ diff --git a/man/figures/logo_large.png b/man/figures/logo_large.png new file mode 100644 index 0000000..e63ff8d Binary files /dev/null and b/man/figures/logo_large.png differ diff --git a/man/figures/tuRtle_example.jpg b/man/figures/tuRtle_example.jpg new file mode 100644 index 0000000..1d046c6 Binary files /dev/null and b/man/figures/tuRtle_example.jpg differ diff --git a/man/figures/tuRtle_example.png b/man/figures/tuRtle_example.png new file mode 100644 index 0000000..d4cd445 Binary files /dev/null and b/man/figures/tuRtle_example.png differ diff --git a/man/hello.Rd b/man/hello.Rd deleted file mode 100644 index 0fa7c4b..0000000 --- a/man/hello.Rd +++ /dev/null @@ -1,12 +0,0 @@ -\name{hello} -\alias{hello} -\title{Hello, World!} -\usage{ -hello() -} -\description{ -Prints 'Hello, world!'. -} -\examples{ -hello() -} diff --git a/man/ttl_write.Rd b/man/ttl_write.Rd index 3137c64..3504520 100644 --- a/man/ttl_write.Rd +++ b/man/ttl_write.Rd @@ -4,7 +4,7 @@ \alias{ttl_write} \title{Write a dataset into Turtle serialisation} \usage{ -ttl_write(tdf, ttl_namespace, file_path, overwrite) +ttl_write(tdf, ttl_namespace, file_path, overwrite = TRUE) } \arguments{ \item{tdf}{A dataset in exactly three columns.} diff --git a/pkgdown/favicon/apple-touch-icon-120x120.png b/pkgdown/favicon/apple-touch-icon-120x120.png new file mode 100644 index 0000000..48121ce Binary files /dev/null and b/pkgdown/favicon/apple-touch-icon-120x120.png differ diff --git a/pkgdown/favicon/apple-touch-icon-152x152.png b/pkgdown/favicon/apple-touch-icon-152x152.png new file mode 100644 index 0000000..0722293 Binary files /dev/null and b/pkgdown/favicon/apple-touch-icon-152x152.png differ diff --git a/pkgdown/favicon/apple-touch-icon-180x180.png b/pkgdown/favicon/apple-touch-icon-180x180.png new file mode 100644 index 0000000..ddaab03 Binary files /dev/null and b/pkgdown/favicon/apple-touch-icon-180x180.png differ diff --git a/pkgdown/favicon/apple-touch-icon-60x60.png b/pkgdown/favicon/apple-touch-icon-60x60.png new file mode 100644 index 0000000..8736d5a Binary files /dev/null and b/pkgdown/favicon/apple-touch-icon-60x60.png differ diff --git a/pkgdown/favicon/apple-touch-icon-76x76.png b/pkgdown/favicon/apple-touch-icon-76x76.png new file mode 100644 index 0000000..7f58935 Binary files /dev/null and b/pkgdown/favicon/apple-touch-icon-76x76.png differ diff --git a/pkgdown/favicon/apple-touch-icon.png b/pkgdown/favicon/apple-touch-icon.png new file mode 100644 index 0000000..ddaab03 Binary files /dev/null and b/pkgdown/favicon/apple-touch-icon.png differ diff --git a/pkgdown/favicon/favicon-16x16.png b/pkgdown/favicon/favicon-16x16.png new file mode 100644 index 0000000..6dc5823 Binary files /dev/null and b/pkgdown/favicon/favicon-16x16.png differ diff --git a/pkgdown/favicon/favicon-32x32.png b/pkgdown/favicon/favicon-32x32.png new file mode 100644 index 0000000..b4d47c8 Binary files /dev/null and b/pkgdown/favicon/favicon-32x32.png differ diff --git a/pkgdown/favicon/favicon.ico b/pkgdown/favicon/favicon.ico new file mode 100644 index 0000000..5674949 Binary files /dev/null and b/pkgdown/favicon/favicon.ico differ diff --git a/tests/testthat.R b/tests/testthat.R new file mode 100644 index 0000000..a6b08cd --- /dev/null +++ b/tests/testthat.R @@ -0,0 +1,12 @@ +# This file is part of the standard setup for testthat. +# It is recommended that you do not modify it. +# +# Where should you do additional test configuration? +# Learn more about the roles of various files in: +# * https://r-pkgs.org/testing-design.html#sec-tests-files-overview +# * https://testthat.r-lib.org/articles/special-files.html + +library(testthat) +library(tuRtle) + +test_check("tuRtle") diff --git a/tuRtle.Rproj b/tuRtle.Rproj index 8e3c2eb..21a4da0 100644 --- a/tuRtle.Rproj +++ b/tuRtle.Rproj @@ -11,3 +11,7 @@ Encoding: UTF-8 RnwWeave: Sweave LaTeX: pdfLaTeX + +BuildType: Package +PackageUseDevtools: Yes +PackageInstallArgs: --no-multiarch --with-keep.source