npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

lbd-solid

v0.1.1

Published

API documentation to communicate with the LBDserver backend.

Downloads

9

Readme

LBDserver API

Documentation for the LBDserver project running on the Solid Community Server. LBDserver is a project for managing Linked Building Data, using both RDF and non-RDF resources. To make the LBDserver infrastructure federated, we base upon on the (WIP) Community Solid Server prototype. Note that both the CSS as this API functions are still higly experimental. The API is used, amongst others, in the LBDserver frontend conSOlid prototype.

Installation

Install the package with NPM:

$ npm install lbd-solid

Functions

login(oidcIssuer, redirectUrl, session) ⇒ Promise.<Session>

Log in using OIDC and a Solid Session.

Kind: global function
Returns: Promise.<Session> - Returns a Solid Session object

| Param | Type | Description | | --- | --- | --- | | oidcIssuer | string | uri for the OIDC issuer. E.g. 'https://broker.pod.inrupt.com'. | | redirectUrl | string | uri for redirect after login via OIDC. E.g. window.location.href. to return to the original page. | | session | Session | The solid session object. Will be returned, but if successful, the session will be authenticated and linked to the logged in user/webID. |

register(oidcIssuer, redirecturi, session) ⇒ Promise.<Session>

Log in using OIDC and a Solid Session.

Kind: global function
Returns: Promise.<Session> - Returns a Solid Session object

| Param | Type | Description | | --- | --- | --- | | oidcIssuer | string | uri for the OIDC issuer. E.g. 'https://broker.pod.inrupt.com'. | | redirecturi | string | uri for redirect after login via OIDC. E.g. window.location.href. to return to the original page. | | session | Session | The solid session object. Will be returned, but if successful, the session will be authenticated and linked to the logged in user/webID. |

processSession(session) ⇒ Promise.<Session>

Helper function to process the session after OIDC login. Retrieves the "code" from the current uri.

Kind: global function
Returns: Promise.<Session> - Returns a Solid Session object

| Param | Type | Description | | --- | --- | --- | | session | Session | The Solid Session object. |

logout(session) ⇒ Promise.<Session>

Log out from a Solid Session.

Kind: global function
Returns: Promise.<Session> - Returns a Solid Session object

| Param | Type | Description | | --- | --- | --- | | session | Session | The Solid Session object. |

createProject(stakeholders, session) ⇒ Promise.<ICreateProject>

Create a new project environment. As the project ID is created here, the project metadata graph (.props) should be created afterwards (createGraph)

Kind: global function

| Param | Type | Description | | --- | --- | --- | | stakeholders | Array.<IAgent> | Array of stakeholders to be involved in the project, as well as their access rights to the project in general. | | session | Session | The Solid Session object. |

deleteProject(uri, session) ⇒ Promise.<void>

Delete an LBD project. The project will only be deleted in your own POD, of course.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | uri | string | The uri of the project to delete in your repository. | | session | Session | The Solid Session object. |

getUserProjects(session) ⇒ Promise.<Array.<IReturnProject>>

Get all the LBD projects in the POD of the authenticated user.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | session | Session | The Solid Session object. |

getOneProject(uri, session) ⇒ Promise.<IReturnProject>

Get a single project by its uri. From your local project, other stakeholders are determined and the federated project data you have access to is fetched.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | uri | string | The uri of the project. | | session | Session | The Solid Session object. |

getLocalProject(uri, session) ⇒ Promise.<IReturnProject>

Get only the project data residing in your POD.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | uri | string | The uri of the project. | | session | Session | The Solid Session object. |

getProjectResources(uri, session) ⇒ Promise.<IReturnResources>

Gets only the graphs and documents, without other project info (i.e. their metadata & permissions)

Kind: global function

| Param | Type | Description | | --- | --- | --- | | uri | string | The uri of the project. | | session | Session | The Solid Session object. |

getOpenProjects(lbdLocation) ⇒ Promise.<Array.<IReturnProject>>

Get the open projects on a specific LBDlocation.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | lbdLocation | string | The LBD project location to search for open projects |

uploadResource(url, data, options, session) ⇒ Promise.<void>

Upload a resource to your POD. You may also use uploadGraph and uploadDocument.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | the to-be url of the resource | | data | Buffer | string | The data to be uploaded. Can be a buffer or a plain string. | | options | Object | Upload options | | [options.overwrite] | boolean | Whether the resource is an existing object that should be overwritten. | | [options.mimeType] | string | The mimetype of the resource. If not passed, the mimetype is guessed by the extension. If this files, the mimetype is st to 'text/plain'. | | session | Session | The Solid session object |

getResource(uri, session) ⇒ Promise.<any>

Get a resource actual data.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | uri | string | The uri of the project. | | session | Session | The Solid Session object. |

getResourceMetadata(uri, session) ⇒ Promise.<IReturnMetadata>

Get a resource's metadata

Kind: global function

| Param | Type | Description | | --- | --- | --- | | uri | string | The uri of the project. | | session | Session | The Solid Session object. |

uploadGraph(url, data, metadata, options, session) ⇒ Promise.<IReturnMetadata>

Upload a graph (TTL) to your POD.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | the to-be url of the resource | | data | Buffer | string | The data to be uploaded. Can be a buffer or a plain string. | | metadata | string | The metadata graph as Turtle. | | options | Object | Upload options | | options.overwrite | boolean | Whether the resource is an existing object that should be overwritten. | | [options.mimeType] | string | The mimetype of the resource. If not passed, the mimetype is guessed by the extension. If this files, the mimetype is st to 'text/plain'. | | session | Session | The Solid session object |

uploadDocument(url, data, metadata, options, session) ⇒ Promise.<IReturnMetadata>

Upload a non-RDF resource to your POD.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | the to-be url of the resource | | data | Buffer | string | The data to be uploaded. Can be a buffer or a plain string. | | metadata | string | The metadata graph as Turtle. | | options | Object | Upload options | | options.overwrite | boolean | Whether the resource is an existing object that should be overwritten. | | [options.mimeType] | string | The mimetype of the resource. If not passed, the mimetype is guessed by the extension. If this files, the mimetype is st to 'text/plain'. | | session | Session | The Solid session object |

deleteResource(url, session) ⇒ Promise.<void>

Delete a resource

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | The url of the resource to be deleted | | session | Session | The Solid session object |

deleteGraph(url, session) ⇒ Promise.<void>

Delete an RDF resource and its metadata

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | The url of the resource to be deleted | | session | Session | The Solid session object |

deleteDocument(url, session) ⇒ Promise.<void>

Delete an non-RDF resource and its metadata

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | The url of the resource to be deleted | | session | Session | The Solid session object |

createContainer(url, session) ⇒ Promise.<void>

Create a container with a given url

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | The url of the container to be created | | session | Session | The Solid session object |

getContainerContent(url, session) ⇒ Promise.<{containers: Array.<string>, resources: Array.<string>}>

Get the content of the container as an object with a list of resources and subcontainers.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | The url of the container | | session | Session | The Solid session object |

uploadMetadataGraph(url, data, options, session) ⇒ Promise.<void>

Upload the metadata graph for a given resource. Metadata graph urls will end with ".props".

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | The url of the resource (if it doesn't end with ".props", the suffix is added automatically) | | data | string | The metadata as Turtle | | options | Object | Options for uploading | | options.overwrite | boolean | Whether the resource is an existing object that should be overwritten. | | [options.mimeType] | string | The mimetype of the resource. If not passed, the mimetype is guessed by the extension. If this files, the mimetype is st to 'text/plain'. | | session | Session | The Solid session object |

query(query, graphs, session) ⇒ Promise.<Array.<IQueryResult>>

Query (SPARQL SELECT) a (set of) resource(s) with Comunica. As for now, only openly accessible graphs (i.e. Read permissions) can be queried

Kind: global function

| Param | Type | Description | | --- | --- | --- | | query | string | The SPARQL query string | | graphs | Array.<string> | The resources to be queried as an Array | | session | Session | The Solid session object |

getPermissions(url, session) ⇒ Promise.<Array.<PermissionType>>

Get the permissions for a specific resource. Placeholder until implemented (depends on authenticated or not). Only for UI purposes.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | The url | | session | Session | The Solid session object |

getLbdLocation(webId, session) ⇒ Promise.<string>

Get the location where LBD projects are stored. At this point, standard './lbd/' will be returned. Later phases may include more complex mechanisms such as Shape Tree discovery or Index Types. Authenticated sessions may thus be required in the future.

Kind: global function

| Param | Type | Description | | --- | --- | --- | | webId | string | The web id to find the LBD location for. | | session | Session | The Solid session object |

checkExistence(url, session) ⇒ Promise.<boolean>

Check the existence of a resource (HEAD request to the given URL)

Kind: global function

| Param | Type | Description | | --- | --- | --- | | url | string | The url of the resource | | session | Session | The Solid session object |