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

wiki-entity

v0.6.1

Published

Wiki entity fetcher

Downloads

217

Readme

wiki-entity

Wiki(pedia/data) entity extractor.

Usage

import { getEntities } from 'wiki-entity';

// get Europe by title
getEntities({ language: 'en', titles: ['Europe'] }).then(entities => {});

// get Europe by id
getEntities({ language: 'en', ids: ['Q46'] }).then(entities => {});

API

getEntities(params): Promise<WikiEntity[]>

Gets entities from wikidata and wikipedia.

params

Required. ids or titles require. Params properties:

  • ids :string[] - wikidata ids; (max 500)
  • titles :string[] - wikipedia article titles; (max 500)
  • language :string - language of titles param and of the result object info; default: en
  • props :string[] - entity props to get. Can by: info|sitelinks|aliases|labels|descriptions|claims|datatype;
  • claims :string - How to resolve the claims. Can be: none, all, item, property. Default: none. all resolves item and property types.
  • extract :number - Sentences in the extract. Default: 0. Works only if sitelinks is present.
  • types :boolean | string[] - true to get entity types. Filter types by prefixes. Example: [dbo, schema] will return only types defined by dbpedia.org/ontology/ and schema.org. Default: false.
  • redirects : boolean - get wikipedia redirects titles. Default: false. Works only if sitelinks is present.
  • categories : boolean - get wikipedia article categories. Default: false. Works only if sitelinks is present.
  • httpTimeout: number - http requests timeout
  • languages: string[] - languages for WikiEntity.labels
  • wikiPageId: boolean - get wikiPageId, Default true

convertToSimpleEntity(wikiEntity: WikiEntity): SimpleEntity

Convert a complex WikiEntity object to SimpleEntity object.

WikiEntity

WikiEntity is a simple version of an item returned by Wikidata API. It also may include some extra properties from Wikipadia API.


type WikiEntity = {
    id: string;
    label?: string;
    labels?: PlainObject<string>;
    description?: string;
    extract?: string;
    pageid?: number;
    aliases?: string[];
    sitelinks?: PlainObject<string>;
    claims?: PlainObject<WikidataProperty>;
    types?: string[];
    redirects?: string[];
    categories?: string[];
    redirectsToId?: string;
    redirectsFromId?: string;
}

type WikidataProperty = {
    id: string;
    label?: string;
    description?: string;
    values: WikidataPropertyValue[];
}

type WikidataPropertyValue = {
    datatype: string;
    value: any;
    pageid?: number;
    value_string?: string;
    label?: string;
    description?: string;
    qualifiers?: WikidataEntityClaims | null;
}

type PlainObject<T> = {
    [index: string]: T
}

SimpleEntity


export enum SimpleEntityType {
    EVENT = 'E',
    ORG = 'O',
    PERSON = 'H',
    PLACE = 'P',
    PRODUCT = 'R',
    WORK = 'W',
}

export type SimpleEntityData = { [prop: string]: string[] }

export type SimpleEntity = {
    lang?: string
    wikiDataId?: string
    name?: string
    abbr?: string
    description?: string
    about?: string
    wikiPageId?: number
    wikiPageTitle?: string
    type?: SimpleEntityType
    types?: string[]
    countryCodes?: string[]
    data?: SimpleEntityData
    categories?: string[]
    redirectsToId?: string;
}