open-index/open-npm huggingface dataset:
npm package: @rdfjs/sink-to-duplex
Description: Duplex wrapper for RDFJS Sink
Author: Thomas Bergwinkl
Latest version: 1.0.0

# @rdfjs/sink-to-duplex

[![Build Status](https://travis-ci.org/rdfjs/sink-to-duplex.svg?branch=master)](https://travis-ci.org/rdfjs/sink-to-duplex)

[![npm version](https://img.shields.io/npm/v/@rdfjs/sink-to-duplex.svg)](https://www.npmjs.com/package/@rdfjs/sink-to-duplex)

Creates a duplex wrapper for RDFJS Sink.
With the duplex wrapper it's possible to use a RDFJS Sink like a Node.js duplex stream with a Readable and Writable interface.

## Usage

The package exports just the factory function to create the wrapper.
A second argument can be given that will be used to create the duplex stream.
That second argument could be needed to enable object mode on the Readable or Writeable interface.

Enable object mode on the Readable interface:

```javascript
sinkToDuplex(new N3Parser(), { readableObjectMode: true })
```

Enable object mode on the Writable interface:

```javascript
sinkToDuplex(new NTriplesSerializer(), { writableObjectMode: true })
```

## Example

In this examples triples from a Turtle file are parsed, serialized with the N-Triples serializer and written to `stdout`. 
Without the duplex wrapper nested `.import()` calls are required:

```javascript
const fs = require('fs')
const N3Parser = require('@rdfjs/parser-n3')
const NTriplesSerializer = require('@rdfjs/serializer-ntriples')

const input = fs.createReadStream('test.ttl')
const parser = new N3Parser()
const serializer = new NTriplesSerializer()

serializer.import(parser.import(input)).pipe(process.stdout)
```

With the duplex wrapper it's possible to use a `.pipe()` chain:

```javascript
const fs = require('fs')
const sinkToDuplex = require('@rdfjs/sink-to-duplex')
const N3Parser = require('@rdfjs/parser-n3')
const NTriplesSerializer = require('@rdfjs/serializer-ntriples')

const input = fs.createReadStream('test.ttl')
const parser = sinkToDuplex(new N3Parser(), { readableObjectMode: true })
const serializer = sinkToDuplex(new NTriplesSerializer(), { writableObjectMode: true })

input.pipe(parser).pipe(serializer).pipe(process.stdout)
```
npm package: @rdfjs/term-map
Description: Map for RDF/JS Terms keys
Author: Thomas Bergwinkl
Latest version: 2.0.2

# @rdfjs/term-map
[![build status](https://img.shields.io/github/actions/workflow/status/rdfjs-base/term-map/test.yaml?branch=master)](https://github.com/rdfjs-base/term-map/actions/workflows/test.yaml)
[![npm version](https://img.shields.io/npm/v/@rdfjs/term-map.svg)](https://www.npmjs.com/package/@rdfjs/term-map)

A Map for RDF/JS Terms keys.

This package implements the JavaScript Map interface exclusively for RDF/JS Terms keys and treats Terms with the same N-Triples representation as they are the same object.

## Usage

The package exports the constructor of the Term-Map.
New instances can be created just like JavaScript Maps:

```js
import rdf from '@rdfjs/data-model'
import TermMap from '@rdfjs/term-map'

const terms = new TermMap([
  [rdf.namedNode('http://example.org/'), { data: 1 }],
  [rdf.literal('test'), { data: 2 }]
])

// The rdf factory will return a new instance of the literal,
// but the TermMap will check for the N-Triple representation.
// That's why the output will be: "true"
console.log(terms.has(rdf.literal('test')))
```
npm package: @rdfjs/term-set
Description: Set for RDF/JS Terms
Author: Thomas Bergwinkl
Latest version: 2.0.3

# @rdfjs/term-set
[![build status](https://img.shields.io/github/actions/workflow/status/rdfjs-base/term-set/test.yaml?branch=master)](https://github.com/rdfjs-base/term-set/actions/workflows/test.yaml)
[![npm version](https://img.shields.io/npm/v/@rdfjs/term-set.svg)](https://www.npmjs.com/package/@rdfjs/term-set)

A Set for [RDF/JS Terms](http://rdf.js.org/data-model-spec/#term-interface).

This package implements the JavaScript [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) interface exclusively for RDF/JS Terms and treats Terms with the same N-Triples representation as they are the same object.

## Usage

Use the following command to add the package as a dependency to your project:

```bash
npm install @rdfjs/term-set --save
```

The package exports the constructor of the Term-Set.
New instances can be created just like JavaScript Sets:

```js
import rdf from '@rdfjs/data-model'
import TermSet from '@rdfjs/term-set'

const terms = new TermSet([
  rdf.namedNode('http://example.org/'),
  rdf.literal('test')
])

// The rdf factory will return a new instance of the literal,
// but the Term-Set will check for the N-Triple representation.
// That's why the output will be: "true"
console.log(terms.has(rdf.literal('test')))
```
npm package: @rdfjs/to-ntriples
Description: Converts RDF/JS Terms, Quads and Datasets to N-Triple strings
Author: Thomas Bergwinkl
Latest version: 3.0.1

# @rdfjs/to-ntriples
[![build status](https://img.shields.io/github/actions/workflow/status/rdfjs-base/to-ntriples/test.yaml?branch=master)](https://github.com/rdfjs-base/to-ntriples/actions/workflows/test.yaml)
[![npm version](https://img.shields.io/npm/v/@rdfjs/to-ntriples.svg)](https://www.npmjs.com/package/@rdfjs/to-ntriples)

Converts [RDF/JS](http://rdf.js.org/) Terms, Quads and Datasets to N-Triple strings. 

## Examples

```javascript
import rdf from '@rdfjs/data-model'
import toNT from '@rdfjs/to-ntriples'

// convert a Term/Literal to a N-Triple string (output: "example"@en)
console.log(toNT(rdf.literal('example', 'en')))

// convert a Quad to a N-Triple string (output: _:b1 <http://example.org/predicate> "example" .) 
console.log(toNT(rdf.quad(
  rdf.blankNode(),
  rdf.namedNode('http://example.org/predicate'),
  rdf.literal('example')
)))


/*
  convert an Array/Dataset to a N-Triple string
  output:
    _:b2 <http://example.org/predicate> "1" .
    _:b3 <http://example.org/predicate> "2" .
  Any object with Symbol.iterator is supported
*/
console.log(toNT([
  rdf.quad(
    rdf.blankNode(),
    rdf.namedNode('http://example.org/predicate'),
    rdf.literal('1')
  ),
  rdf.quad(
    rdf.blankNode(),
    rdf.namedNode('http://example.org/predicate'),
    rdf.literal('2')
  )
]))
```
npm package: @rdfjs/tree
Description: Tree structure for a set of RDF/JS Quads
Author: Thomas Bergwinkl
Latest version: 0.2.1

# @rdfjs/tree

[![build status](https://img.shields.io/github/actions/workflow/status/rdfjs-base/tree/test.yaml?branch=master)](https://github.com/rdfjs-base/tree/actions/workflows/test.yaml)
[![npm version](https://img.shields.io/npm/v/@rdfjs/tree.svg)](https://www.npmjs.com/package/@rdfjs/tree)

A tree structure for a set of [RDF/JS Quads](http://rdf.js.org/data-model-spec/#quad-interface).

## Install

```bash
npm install --save @rdfjs/tree
```
npm package: @rdfjs/types
Description: Authoritative TypeScript typings for all RDF/JS specifications
Author: RDF/JS Representation Task Force
Latest version: 2.0.1

# RDF/JS Types

Authoritative TypeScript typings for all RDF/JS specifications

The types should match the RDF/JS specifications ([Data Model](https://rdf.js.org/data-model-spec/), [Dataset](https://rdf.js.org/dataset-spec/) and [Stream](https://rdf.js.org/stream-spec/)). However, because they also take advantage of TypecScript-specific syntax features, some differences are inevitable. If something does not add up, please open an [issue](#contributing).

## Usage

Installed as usual using your favourite package manager.

```
yarn add @rdfjs/types
```

This package does not provide code, only interafces for the RDF/JS specifications. Import them to strong-type your RDF/JS code.

```typescript
import type { NamedNode, DatasetCore, Stream } from '@rdfjs/types'
```

Or import separately from type modules corresponding the specifications.

```typescript
import type { NamedNode } from '@rdfjs/types/data-model'
import type { DatasetCore } from '@rdfjs/types/dataset'
import type { Stream } from '@rdfjs/types/stream'
``````

## Additional Types

Note that some helper types exist that do not exist within the RDF/JS specifications. These include:

```typescript
import type { TripleTermName, QuadTermName } from '@rdfjs/types'
```

## Contributing

Everyone is invited to open issues and pull requests. When you create a PR, please add or update the `rdf-js-tests.ts` file to reflect your changes.

You may also create a [changeset](https://github.com/atlassian/changesets) file by running `npx run changeset` and following the simple wizard. If you don't do that, such as in the case when editing from your browser, do not worry. A maintainer can also create it for you when you open a PR.

## What about @types/rdf-js?

This package replaces typings previously managed in the [DefinitelyTyped repository](https://npm.im/@types/rdf-js) and a later proxy package [rdf-js](https://npm.im/rdf-js).

Both these old packages are deprecated. They will continue to work for backwards compatibility but library maintainers are encouraged to use `@rdfjs/types` instead.
npm package: @rdfkit/elem-collapsible
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-collapsible`

## Installation

```sh
$ yarn add @rdfkit/elem-collapsible
# or
$ npm install @rdfkit/elem-collapsible
```

## Usage

View docs [here](https://rdfkit.org/primitives/docs/components/collapsible).
npm package: @rdfkit/elem-compose-refs
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-compose-refs`

## Installation

```sh
$ yarn add @rdfkit/elem-compose-refs
# or
$ npm install @rdfkit/elem-compose-refs
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/elem-dialog
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-dialog`

## Installation

```sh
$ yarn add @rdfkit/elem-dialog
# or
$ npm install @rdfkit/elem-dialog
```

## Usage

View docs [here](https://rdfkit.org/primitives/docs/components/dialog).
npm package: @rdfkit/elem-focus-guards
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-focus-guards`

## Installation

```sh
$ yarn add @rdfkit/elem-focus-guards
# or
$ npm install @rdfkit/elem-focus-guards
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/elem-focus-scope
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-focus-scope`

## Installation

```sh
$ yarn add @rdfkit/elem-focus-scope
# or
$ npm install @rdfkit/elem-focus-scope
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/elem-identity
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-identity`

## Installation

```sh
$ yarn add @rdfkit/elem-identity
# or
$ npm install @rdfkit/elem-identity
```

## Usage

View docs [here](https://rdfkit.org/primitives/docs/utilities/id-provider).
npm package: @rdfkit/elem-label
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-label`

## Installation

```sh
$ yarn add @rdfkit/elem-label
# or
$ npm install @rdfkit/elem-label
```

## Usage

View docs [here](https://rdfkit.org/primitives/docs/utilities/label).
npm package: @rdfkit/elem-primitive
Description: ## Installation
Author: billgo
Latest version: 1.1.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# `@rdfkit/elem-primitive`

## Installation

```sh
$ yarn add @rdfkit/elem-primitive
# or
$ npm install @rdfkit/elem-primitive
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/elem-roving-focus
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-roving-focus`

## Installation

```sh
$ yarn add @rdfkit/elem-roving-focus
# or
$ npm install @rdfkit/elem-roving-focus
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/elem-separator
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-separator`

## Installation

```sh
$ yarn add @rdfkit/elem-separator
# or
$ npm install @rdfkit/elem-separator
```

## Usage

View docs [here](https://rdfkit.org/primitives/docs/components/separator).
npm package: @rdfkit/elem-slot
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-slot`

## Installation

```sh
$ yarn add @rdfkit/elem-slot
# or
$ npm install @rdfkit/elem-slot
```

## Usage

View docs [here](https://rdfkit.org/primitives/docs/utilities/slot).
npm package: @rdfkit/elem-toggle-group
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-toggle-group`

## Installation

```sh
$ yarn add @rdfkit/elem-toggle-group
# or
$ npm install @rdfkit/elem-toggle-group
```

## Usage

View docs [here](https://rdfkit.org/primitives/docs/components/toggle-group).
npm package: @rdfkit/elem-visually-hidden
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/elem-visually-hidden`

## Installation

```sh
$ yarn add @rdfkit/elem-visually-hidden
# or
$ npm install @rdfkit/elem-visually-hidden
```

## Usage

View docs [here](https://rdfkit.org/primitives/docs/utilities/visually-hidden).
npm package: @rdfkit/use-body-pointer-events
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/use-body-pointer-events`

## Installation

```sh
$ yarn add @rdfkit/use-body-pointer-events
# or
$ npm install @rdfkit/use-body-pointer-events
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/use-callback-ref
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/use-callback-ref`

## Installation

```sh
$ yarn add @rdfkit/use-callback-ref
# or
$ npm install @rdfkit/use-callback-ref
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/use-controllable-state
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/use-controllable-state`

## Installation

```sh
$ yarn add @rdfkit/use-controllable-state
# or
$ npm install @rdfkit/use-controllable-state
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/use-escape-keydown
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/use-escape-keydown`

## Installation

```sh
$ yarn add @rdfkit/use-escape-keydown
# or
$ npm install @rdfkit/use-escape-keydown
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfkit/use-layout-effect
Description: ## Installation
Author: billgo
Latest version: 1.1.3

# `@rdfkit/use-layout-effect`

## Installation

```sh
$ yarn add @rdfkit/use-layout-effect
# or
$ npm install @rdfkit/use-layout-effect
```

## Usage

This is an internal utility, not intended for public usage.
npm package: @rdfoo/rdf-parser-n3
Description: N3 parser that follows the RDF Interface specification
Author: Thomas Bergwinkl
Latest version: 0.4.0

# rdf-parser-n3

[![Build Status](https://travis-ci.org/rdf-ext/rdf-parser-n3.svg?branch=master)](https://travis-ci.org/rdf-ext/rdf-parser-n3)
[![NPM Version](https://img.shields.io/npm/v/rdf-parser-n3.svg?style=flat)](https://npm.im/rdf-parser-n3)

N3 parser that follows the RDF Interface specification using the [N3.js](https://github.com/RubenVerborgh/N3.js) library.
npm package: @rdforte/clipper
Description: Clipper is a Command Line Utility tool that allows you to take your Clippings from your kindle and then seperate them out into their individual books. Making it easy to then copy and paste all the notes for the book into your favourite note taking app.
Latest version: 1.0.6

# Clipper

Clipper is a Command Line Utility tool that allows you to take your Clippings from your kindle and then seperate them
out into their individual books. Making it easy to then copy and paste all the notes for the book into your favourite
note taking app.

## How to use Clipper
1. First you will need to install [NodeJs](https://nodejs.org/en/download) which is a JavaScript runtime needed to run
this Command Line Utility tool.

2. Find your kindle drive.
![kindle drive](./assets/stepOne.png)

3. Navigate into your kindle drive and find the documents directory.
![documents](./assets/stepTwo.png)

4. Once inside the documents. Copy the __My Clippings.txt__ and paste it somewhere where you can easily access it.
![locate clippings](./assets/stepThree.png)

5. Remove the whitespace from the file name.
![rename clippings](./assets/stepFour.png)

6. Once you have Node Js installed you can run the following command in your Terminal. 
```
npx @rdforte/clipper@latest
```

It might ask you to download some packages. Just select Yes to proceed.

7. You will be presented with the text __What is the absolute path to your clippings?__. Enter in the absolute path to the file and hit enter.

8. You will then be presented with the text __What is the absolute output path to your clippings?__. Enter in the absolute path where you would like to paste your clippings and then hit enter.

9. You should then end up with something like this.
![success](./assets/success.png)

10. You should then see a directory called __Clippings__ which will have each of your books and the notes for each.
![success](./assets/clippings.png)
![success](./assets/clippingsInside.png)