Giter Club home page Giter Club logo

sml-ttl's Introduction

sml-ttl

Simple RDF store and RDF/Turtle parser/serialiser written in Standard ML

https://hg.sr.ht/~cannam/sml-ttl

This is an in-memory RDF triple store and RDF/Turtle parser/serialiser written in Standard ML.

This library provides:

  • A 100% spec-compliant RDF/Turtle parser with fair performance

  • An RDF/Turtle serialiser

  • A simple single-graph datastore capable of doing reasonably quick indexed lookups (but not SPARQL queries)

The Turtle parser passes all current W3C spec tests at the time of writing. The serialiser successfully serialises all of the test files (plus some additional tests) such that they can be parsed in again.

An example program and a file conversion utility are included.

To build

A Makefile is provided. Some additional SML libraries are pulled in at build time using Repoint.

To build and run tests using Poly/ML:

$ make

To build and run tests using MLton (slower compiling, faster runtime):

$ make release

You can build the bundled programs (e.g. example.sml, convert.sml) with MLton using the supplied .mlb files, so long as Repoint has pulled in the necessary dependencies (which the Makefile would do for you):

$ ./repoint install
$ mlton example.mlb
$ mlton convert.mlb

To extract the API documentation (must have smldoc installed, e.g. from the fork at https://github.com/cannam/smldoc ):

$ ./repoint install
$ make doc

The code has been tested with a number of compilers on various platforms:

  • Linux and macOS CI build using Poly/ML, MLton, and SML/NJ: Build Status
  • Windows CI build using SML/NJ: Build status

Origin

Written by Chris Cannam, [email protected]. MIT licence, see the file COPYING for details.

This code has something in common with the Yertle library I wrote a couple of years previously, which provided a very similar set of features in the Yeti language. Both were initially language-learning exercises.

sml-ttl's People

Contributors

cannam avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.