Auto-linking for Mathematical Concepts for PlanetMath.org, Wikipedia, and beyond.
HTML Perl JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
archive
bin
lib
pod
t
util
.gitignore
.travis.yml
COPYING
Changes
INSTALL.md
LICENSE
MANIFEST
Makefile.PL
README.md

README.md

NNexus

Build Status license CPAN version

Installation

Just execute cpan NNexus (or cpanm if you're a cpanminus lover) to obtain the full distribution.

Description

NNexus provides an API and an engine for auto-linking of mathematical concepts. It supports the subtasks of concept indexing, concept discovery and flexible annotation (e.g. linking).

License

NNexus is free, libre, open-source software, under the MIT license.

Example use

The library comes with a pre-packaged snapshot of over 10,000 concepts from PlanetMath, Wikipedia, Wolfram Mathworld and DLMF. You can jump right in with a perl one-liner:

perl -MNNexus -e 'print linkentry(join("",<>))' < example.html > linked_example.html

... or read the rest of this README for installation instructions and further use cases.

Documentation

The Manual draft contains a technical overview of the NNexus system.

For installation and deployment, consult the INSTALL file.

Demos

nnexusglasses.user.js is a Userscript that you can use to add links to math terms in any web page!

NNexus deployed on PlanetMath.org.

Using NNexus as a Web Service

curl -d "An abelian group example." nnexus.mathweb.org

Returns:

{"status":"OK","payload":"An <a class=\"nnexus_concepts\" href=\"javascript:void(0)\" onclick=\"this.nextSibling.style.display='inline'\">abelian group<\/a><sup style=\"display: none;\"><a class=\"nnexus_concept\" href=\"http:\/\/mathworld.wolfram.com\/AbelianGroup.html\"><img src=\"http:\/\/mathworld.wolfram.com\/favicon_mathworld.png\" alt=\"Mathworld\"><\/img><\/a><a class=\"nnexus_concept\" href=\"http:\/\/planetmath.org\/abeliangroup\"><img src=\"http:\/\/planetmath.org\/sites\/default\/files\/fab-favicon.ico\" alt=\"Planetmath\"><\/img><\/a><\/sup> example.","message":"No obvious problems."}

These two lines of PHP illustrate how NNexus can be used within a program; see Planetary for more details.

  $data = 'body=' . urlencode($text) . '&format='.$format.'&domain=Planetmath';
  $content = planetary_webglue_do_post('http://127.0.0.1:3000/linkentry',$data);

NNexus API

The NNexus legacy API has been redesigned, into a simple pair of indexing and linking workflows, detailed in the "Indexing Framework" and "Annotation Schemes" chapters in the manual.

Status

This is a fork and rewrite of the original NNexus code by James Gardner (pebbler@gmail.com). Watch this space for frequent updates.

The current development emphasis falls on improving linking accuracy as well as maintenance patches.

Contact

For any questions and support requests, contact the current package maintainer: Deyan Ginev (d.ginev@jacobs-university.de)