Code Monkey home page Code Monkey logo

raptor's Introduction

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
  <title>Raptor RDF Syntax Library</title>
  <link rel="meta" type="application/rdf+xml" title="DOAP" href="raptor.rdf" />
</head>
<body>

<h1 style="text-align:center">Raptor RDF Syntax Library</h1>
<h2 style="text-align:center"><a href="https://www.dajobe.org/">Dave Beckett</a></h2>
  

<h2>Overview</h2>

<p><a href="https://librdf.org/raptor/">Raptor</a>
is a free software / Open Source C library that provides
a set of parsers and serializers that
generate Resource Description Framework (RDF) triples
by parsing syntaxes or serialize the triples into a syntax.
The supported parsing syntaxes are RDF/XML, N-Quads, N-Triples 1.0
and 1.1, TRiG, Turtle 2008 and 2013, RDFa 1.0 and 1.1, RSS tag soup
including all versions of RSS, Atom 0.3 and Atom 1.0, GRDDL and
microformats for HTML, XHTML and XML.  The serializing syntaxes are
RDF/XML (regular, abbreviated, XMP), Turtle 2013, N-Quads, N-Triples
1.1, Atom 1.0, RSS 1.0, GraphViz DOT, HTML, JSON and mKR.
</p>

<p>Raptor was designed to work closely with the
<a href="https://librdf.org/">Redland RDF library</a>
(<b>R</b>DF <b>P</b>arser <b>T</b>oolkit f<b>o</b>r <b>R</b>edland)
but is entirely separate.  It is a portable library that works
across many POSIX systems (Unix, GNU/Linux, BSDs, OSX, cygwin, win32).
</p>

<p>A summary of the changes can be found in the
<a href="NEWS.html">NEWS</a> file,
detailed API changes in the <a href="RELEASE.html">release notes</a>
and file-by-file changes in the <a href="ChangeLog">ChangeLog</a>.
</p>

<p>Details of upgrading from Raptor 1 as described in the
<a href="UPGRADING.html">Upgrading document</a>.
</p>

<ul>
<li>Designed to integrate well with <a href="https://librdf.org/">Redland</a></li>
<li>Parses content on the web if <a href="https://curl.se/libcurl/">libcurl</a>, <a href="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home">libxml2</a> or BSD libfetch is available.</li>
<li>Supports all RDF terms including datatyped and XML literals</li>
<li>Optional features including parsers and serialisers can be selected at configure time.</li>
<li>Language bindings to Perl, PHP, Python and Ruby when used via Redland</li>
<li>No memory leaks</li>
<li>Fast</li>
<li>Standalone <a href="rapper.html">rapper</a> RDF parser utility program</li>
</ul>

<p>Known bugs and issues are recorded in the
<a href="https://bugs.librdf.org/">Redland issue tracker</a>
or at
<a href="https://github.com/dajobe/raptor/issues">GitHub issues for Raptor</a>.
</p>



<h2>Parsers</h2>

<h3>RDF/XML Parser</h3>

<p>A Parser for the standard
<a href="https://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML syntax</a>.
</p>
<ul>
<li>Fully handles the <a href="https://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML syntax updates</a> for <a href="https://www.w3.org/TR/xmlbase/">XML Base</a>, <code>xml:lang</code>, RDF datatyping and Collections.</li>
<li>Handles all RDF vocabularies such as <a href="http://www.foaf-project.org/">FOAF</a>, <a href="http://www.purl.org/rss/1.0/">RSS 1.0</a>, <a href="http://dublincore.org/">Dublin Core</a>, <a href="https://www.w3.org/TR/owl-features/">OWL</a>, <a href="http://usefulinc.com/doap">DOAP</a></li>
<li>Handles <code>rdf:resource</code> / <code>resource</code> attributes</li>
<li>Uses <a href="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home">libxml</a> XML parser</li>
</ul>


<h3>N-Quads Parser</h3>

<p>A parser for the
<a href="https://www.w3.org/TR/2013/CR-n-quads-20131105/">RDF 1.1 N-Quads - A line-based syntax for an RDF datasets</a>, W3C Candidate Recommendation, 05 November 2013.
This is an extension to N-Triples, providing an optional 4th context
graph term at the end of the line when a triple is associated with a
named graph.
</p>


<h3>N-Triples Parser</h3>

<p>A parser for the
<a href="https://www.w3.org/TR/2013/CR-n-triples-20131105/">RDF 1.1 N-Triples - A line-based syntax for an RDF graph</a>, W3C Candidate Recommendation, 05 November 2013 (aka N-Triples 2013)
based on the older
<a href="https://www.w3.org/TR/rdf-testcases/#ntriples">N-Triples</a>.
</p>


<h3>Turtle Parser</h3>

<p>A parser for the
<a href="https://www.w3.org/TR/2013/CR-turtle-20130219/">Turtle Terse RDF Triple Language</a> W3C Candidate Recommendation, 19 February 2013
based on earlier work
<a href="https://www.dajobe.org/2004/01/turtle/">Turtle Terse RDF Triple Language</a> (2004)
</p>


<h3>TRiG Parser</h3>

<p>A parser for the
<a href="https://www.w3.org/TR/2014/REC-trig-20140225/">RDF 1.1 TriG RDF Dataset Language</a>.
</p>

<p>The parser does not support the entire 1.1 TRiG specification; the
'{' ... '}' around a graph and the <code>GRAPH</code> keyword may not
be omitted.
</p>


<h3>RSS "tag soup" parser</h3>

<p>A parser for the multiple XML RSS formats that use the elements
such as channel, item, title, description in different ways.
Attempts to turn the input into
<a href="http://www.purl.org/rss/1.0/">RSS 1.0</a>
RDF triples.  True <a href="http://www.purl.org/rss/1.0/">RSS 1.0</a>,
as a full RDF vocabulary, is best parsed by the RDF/XML parser.
It also generates triples for RSS enclosures.
</p>

<p>This parser also provides support for the Atom 1.0 syndication
format defined in IETF
<a href="http://www.ietf.org/rfc/rfc4287.txt">RFC 4287</a>
as well as the earlier Atom 0.3.
</p>


<h3>GRDDL and microformats parser</h3>

<p>A parser/processor for
<a href="https://www.w3.org/TR/2007/REC-grddl-20070911/">Gleaning Resource Descriptions from Dialects of Languages (GRDDL)</a>
syntax, W3C Recommendation of 2007-09-11 which allows reading XHTML
and XML as RDF triples by using profiles in the document that declare
XSLT transforms from the XHTML or XML content into RDF/XML or other
RDF syntax which can then be parsed.  It uses either an XML or
a lax HTML parser to allow HTML tag soup to be read.
</p>

<p>The parser passes the all the GRDDL tests as of Raptor 1.4.16.
</p>

<p>The parser also handles hCard and hReview using public XSL sheets.
</p>


<h3>RDFa parser</h3>

<p>A parser for
<a href="https://www.w3.org/TR/2008/REC-rdfa-syntax-20081014/">RDFa 1.0</a>
(W3C Recommendation 14 October 2008) and
<a href="https://www.w3.org/TR/2012/REC-rdfa-core-20120607/">RDFa 1.1</a>
(W3C Recommendation 07 June 2012)
implemented via <a href="https://github.com/rdfa/librdfa">librdfa</a>
linked inside Raptor.  librdfa was, written primarily by Manu Sporny
of Digital Bazaar and is licensed with the same license as Raptor.
</p>

<p>As of Raptor 2.0.8 the RDFa parser passes all of the
<a href="https://www.w3.org/2006/07/SWD/RDFa/testsuite/xhtml1-testcases/">RDFa 1.0 test suite</a>
except for 4 tests and all of the
<a href="http://rdfa.info/dev/">RDFa 1.1 test suite</a>
except for 30 tests.
</p>


<h2>Serializers</h2>

<h3>RDF/XML Serializer</h3>

<p>A serializer to the standard
<a href="https://www.w3.org/TR/rdf-syntax-grammar/">RDF/XML syntax</a>
as revised by the
<a href="https://www.w3.org/2001/sw/RDFCore/">W3C RDF Core working group</a>
in 2004.   This writes a plain triple-based RDF/XML serialization with
no optimisation or pretty-printing.
</p>

<p>A second serializer is provided using several of the RDF/XML
abbreviations to provide a more compact readable format, at the cost
of some pre-processing.  This is suitable for small documents.
</p>


<h3>N-Quads Serializer</h3>

<p>A serializer for the
<a href="https://www.w3.org/TR/2013/CR-n-quads-20131105/">RDF 1.1 N-Quads -A line-based syntax for an RDF datasets</a>, W3C Candidate Recommendation, 05 November 2013.
This is an extension to N-Triples, providing an optional 4th context
graph term at the end of the line when a triple is associated with a
named graph.
</p>


<h3>N-Triples Serializer</h3>

<p>A serializer for the
<a href="https://www.w3.org/TR/2013/CR-n-triples-20131105/">RDF 1.1
N-Triples - A line-based syntax for an RDF graph</a> (aka N-Triples 2013)
based on the earlier
<a href="https://www.w3.org/TR/rdf-testcases/#ntriples">N-Triples</a>
syntax as used by the 
<a href="https://www.w3.org/2001/sw/RDFCore/">W3C RDF Core working group</a>
for the <a href="https://www.w3.org/TR/rdf-testcases/">RDF Test Cases</a>.
</p>


<h3>Atom 1.0 Serializer</h3>

<p>A serializer to the Atom 1.0 syndication format defined in IETF
<a href="http://www.ietf.org/rfc/rfc4287.txt">RFC 4287</a>.
</p>


<h3>JSON Serializers</h3>

<p>Two serializers for to write triples encoded in JSON:</p>
<ol>
<li><code>json</code>: in a resource-centric abbreviated form
like Turtle or RDF/XML-Abbreviated as defined by:
<a href="https://www.w3.org/TR/2013/NOTE-rdf-json-20131107/">RDF 1.1
JSON Alternate Serialization (RDF/JSON)</a>, W3C Working Group Note, 07 November 2013
</li>
<li><code>json-triples</code>: a triple-centric format based on the
SPARQL results in JSON format.</li>
</ol>
<p>JSON-LD is not supported - too complex to implement.</p>


<h3>GraphViz DOT Serializer</h3>

<p>An serializer to the GraphViz
<a href="http://www.graphviz.org/doc/info/lang.html">DOT format</a>
which aids visualising RDF graphs.
</p>


<h3>RSS 1.0 Serializer</h3>

<p>A serializer to the
<a href="http://purl.org/rss/1.0/spec">RDF Site Summary (RSS) 1.0</a>
format.
</p>


<h3>Turtle Serializer</h3>

<p>A serializer for the
<a href="https://www.w3.org/TR/2013/CR-turtle-20130219/">Turtle Terse RDF Triple Language</a> W3C Candidate Recommendation, 19 February 2013
</p>

<h3>XMP Serializer</h3>

<p>An alpha quality serializer to the Adobe XMP profile of RDF/XML
suitable for embedding inside an external document.
</p>

<h3>mKR Serializer</h3>

<p>A serializer for the
<a href="http://contextknowledgesystems.org/CKS.html">mKR (my Knowledge Representation) Language</a>
</p>

<h2>Documentation</h2>

<p>The public API is described in the
<a href="libraptor.html">libraptor.3</a> UNIX manual page.
It is demonstrated in the
<a href="rapper.html">rapper</a>
utility program which shows how to call the parser and write
the triples in a serialization.  When Raptor is used inside
<a href="https://librdf.org/">Redland</a>,
the Redland documentation explains
how to call the parser and contains several example programs.
There are also further examples in the <tt>example</tt> directory
of the distribution.
</p>

<p>To install Raptor see the <a href="INSTALL.html">Installation document</a>.
</p>


<h2>Sources</h2>

<p>The packaged sources are available from
<a href="http://download.librdf.org/source/">http://download.librdf.org/source/</a> (master site)
The development GIT sources can also be
<a href="https://github.com/dajobe/raptor">browsed at GitHub</a>
or checked out at git://github.com/dajobe/raptor.git
</p>


<h2>License</h2>

<p>This library is free software / open source software released
under the LGPL (GPL) or Apache 2.0 licenses.  See 
<a href="LICENSE.html">LICENSE.html</a> for full details.
</p>


<h2>Mailing Lists</h2>

<p>The <a href="https://librdf.org/lists/">Redland mailing lists</a>
discusses the development and use of Raptor and Redland as well as
future plans and announcement of releases.
</p>

<hr />

<p>Copyright (C) 2000-2023 <a href="https://www.dajobe.org/">Dave Beckett</a><br />Copyright (C) 2000-2005 <a href="https://www.bristol.ac.uk/">University of Bristol</a></p>

</body>
</html>

raptor's People

Contributors

adamnovak avatar akimd avatar anchakor avatar ansell avatar artturin avatar dajobe avatar elelayan avatar himajin100000 avatar hroptatyr avatar hughmcmaster avatar iskunk avatar jervenbolleman avatar kraptor avatar laalto avatar mathvich avatar njh avatar philjohn avatar pinotree avatar presbrey avatar rhmccullough avatar schnitzeltony avatar stbergmann avatar teragram-oss avatar thesamesam avatar tnn2 avatar trofi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

raptor's Issues

error converting lists from ntriples to turtle

Input file list.nt

_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <https://test.com/A> .                  
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> _:genid2 .  
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> <https://test.com/B> .                         
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest> <http://www.w3.org/1999/02/22-rdf-syntax-ns#nil> . 

Validation

$ rapper -i ntriples -c list.nt
rapper: Parsing URI file:///home/konrad/tmp/list.nt with parser ntriples
rapper: Parsing returned 4 triples

Conversion

$ rapper -i ntriples -o turtle list.nt > list.ttl
rapper: Parsing URI file:///home/konrad/tmp/list.nt with parser ntriples
rapper: Serializing with serializer turtle
rapper: Parsing returned 4 triples

Note that there is no error at this point.

Error

$ cat list.ttl
  @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
  
  [](<https://test.com/A>
      <https://test.com/B>
  ) .
  
$ rapper -i turtle -c list.ttl                   
rapper: Parsing URI file:///home/konrad/tmp/list.ttl with parser turtle
rapper: Error - URI file:///home/konrad/tmp/list.ttl:2 - syntax error, unexpected (, expecting .
rapper: Failed to parse file list.ttl turtle content
rapper: Parsing returned 0 triples

Environment

$ pacman -Ss raptor 
extra/raptor 2.0.16-3 [installed]
    A C library that parses RDF/XML/N-Triples into RDF triples
$ uname -a
Linux archlinux 6.6.2-arch1-1 #1 SMP PREEMPT_DYNAMIC Mon, 20 Nov 2023 23:18:21 +0000 x86_64 GNU/Linux

Real Example

This is just a minimum working example, I found the error while converting anno.ttl attached in the archive anno.zip from turtle to turtle. After rapper -i turtle -o turtle anno.ttl > anno.ttl there are a lot of broken parts like this one:

(:Bone
    :BoneCompound
    :BonePart
) .

Rapper cannot be installed Linux (debian based)

Hi, I wanted to install Raptor/rapper to perform quick convertion of RDF files from the terminal on Ubuntu 20.04

I found this doc that brought me back 15 years ago: https://librdf.org/raptor/INSTALL.html

Removing all the details about potential options for installation this is the actual lines 98% of people needs to run:

./autogen.sh
./configure
make 
make install

Running autogen complains for missing libraries, I started to fix them one by one by running autogen, searched on google, then installing the required library:

apt install -y automake libtool gtk-doc-tools

Then I arrived at a moment where autogen started to complain about missing "flex", but it seems like I also need to manually build flex: https://github.com/westes/flex and I did not wanted to spend 1 more hour debugging another project that I had no knowledge of.

So I stopped at this level, because I originally just wanted to convert Nquads to Turtle :)

I was wondering how the people using this library are installing it? Are you also going through this painful manual resolution of dozen of dependencies? Or do you have scripts that helps you to install those? @dajobe

Is this possible to provide a cleaner way to install this library? Ideally to have it packages using one of the multiple option to package and share packages (apt, snap)

But a simple script to install the required dependencies easily for common Linux distros would be already a great start! (at least debian so you support most OS used by researchers + windows with WSL)

Note that there is already a brew package to easily install it on MacOS

2.0.15: Many failing tests

Hi! I'm packaging raptor for Arch Linux.
To be able to run tests I have to remove man files from the test setup unfortunately:

diff -ruN a/tests/rdfxml/Makefile.am b/tests/rdfxml/Makefile.am
--- a/tests/rdfxml/Makefile.am	2013-11-25 00:44:50.000000000 +0100
+++ b/tests/rdfxml/Makefile.am	2022-02-19 16:03:26.992680028 +0100
@@ -22,15 +22,15 @@
 # 
 
 # These are errors in strict mode, warnings in lax - for now
-RDF_BAGID_TEST_FILES=ex-03.rdf ex-42.rdf ex-43.rdf ex-44.rdf ex-45.rdf
+RDF_BAGID_TEST_FILES=ex-43.rdf ex-45.rdf
 
-RDF_TEST_FILES=ex-00.rdf ex-01.rdf ex-02.rdf ex-04.rdf ex-05.rdf \
-ex-06.rdf ex-07.rdf ex-08.rdf ex-09.rdf ex-10.rdf ex-11.rdf ex-12.rdf \
-ex-13.rdf ex-14.rdf ex-15.rdf ex-16.rdf ex-17.rdf ex-18.rdf \
-ex-20.rdf ex-21.rdf ex-22.rdf ex-23.rdf ex-24.rdf ex-25.rdf ex-26.rdf \
-ex-27.rdf ex-28.rdf ex-29.rdf ex-30.rdf ex-31.rdf ex-32.rdf ex-33.rdf \
-ex-34.rdf ex-35.rdf ex-36.rdf ex-37.rdf ex-38.rdf ex-39.rdf ex-40.rdf \
-ex-41.rdf ex-46.rdf ex-47.rdf ex-48.rdf ex-49.rdf ex-51.rdf \
+RDF_TEST_FILES=ex-00.rdf ex-01.rdf ex-02.rdf ex-05.rdf \
+ex-07.rdf ex-08.rdf ex-09.rdf ex-10.rdf ex-11.rdf ex-12.rdf \
+ex-13.rdf ex-14.rdf ex-15.rdf ex-16.rdf ex-17.rdf \
+ex-20.rdf ex-21.rdf ex-23.rdf ex-24.rdf ex-25.rdf ex-26.rdf \
+ex-27.rdf ex-28.rdf ex-29.rdf ex-33.rdf \
+ex-35.rdf ex-37.rdf ex-39.rdf \
+ex-48.rdf ex-49.rdf ex-51.rdf \
 ex-53.rdf ex-54.rdf ex-56.rdf ex-57.rdf ex-58.rdf ex-61.rdf \
 ex-62.rdf ex-63.rdf \
 22-rdf-syntax-ns.rdf rdfs-namespace.rdf rdf-schema.rdf \
@@ -40,15 +40,15 @@
 #   libxml2 bug report: http://bugs.gnome.org/show_bug.cgi?id=159219
 RDF_MAYFAIL_XML_TEST_FILES=ex-55.rdf
 
-RDF_BAD_TEST_FILES=bad-00.rdf bad-01.rdf bad-02.rdf bad-03.rdf \
+RDF_BAD_TEST_FILES=bad-00.rdf bad-01.rdf bad-03.rdf \
 bad-04.rdf bad-05.rdf bad-06.rdf bad-07.rdf bad-08.rdf bad-09.rdf \
 bad-10.rdf bad-11.rdf bad-12.rdf bad-13.rdf bad-14.rdf bad-18.rdf \
 bad-19.rdf bad-20.rdf bad-21.rdf bad-22.rdf bad-23.rdf
 
 RDF_BAD_NFC_TEST_FILES=bad-15.rdf bad-16.rdf bad-17.rdf
 
-RDF_WARN_TEST_FILES=warn-00.rdf warn-02.rdf warn-04.rdf \
-warn-05.rdf warn-06.rdf warn-07.rdf \
+RDF_WARN_TEST_FILES=warn-00.rdf warn-02.rdf \
+warn-07.rdf \
 $(RDF_BAGID_TEST_FILES)
 
 RDF_ASSUME_TEST_FILES=ex-19.rdf
diff -ruN a/tests/rdfxml/Makefile.in b/tests/rdfxml/Makefile.in
--- a/tests/rdfxml/Makefile.in	2014-11-02 07:04:38.000000000 +0100
+++ b/tests/rdfxml/Makefile.in	2022-02-19 16:06:59.546806167 +0100
@@ -262,14 +262,14 @@
 top_srcdir = @top_srcdir@
 
 # These are errors in strict mode, warnings in lax - for now
-RDF_BAGID_TEST_FILES = ex-03.rdf ex-42.rdf ex-43.rdf ex-44.rdf ex-45.rdf
-RDF_TEST_FILES = ex-00.rdf ex-01.rdf ex-02.rdf ex-04.rdf ex-05.rdf \
-ex-06.rdf ex-07.rdf ex-08.rdf ex-09.rdf ex-10.rdf ex-11.rdf ex-12.rdf \
-ex-13.rdf ex-14.rdf ex-15.rdf ex-16.rdf ex-17.rdf ex-18.rdf \
-ex-20.rdf ex-21.rdf ex-22.rdf ex-23.rdf ex-24.rdf ex-25.rdf ex-26.rdf \
-ex-27.rdf ex-28.rdf ex-29.rdf ex-30.rdf ex-31.rdf ex-32.rdf ex-33.rdf \
-ex-34.rdf ex-35.rdf ex-36.rdf ex-37.rdf ex-38.rdf ex-39.rdf ex-40.rdf \
-ex-41.rdf ex-46.rdf ex-47.rdf ex-48.rdf ex-49.rdf ex-51.rdf \
+RDF_BAGID_TEST_FILES = ex-43.rdf ex-45.rdf
+RDF_TEST_FILES = ex-00.rdf ex-01.rdf ex-02.rdf ex-05.rdf \
+ex-07.rdf ex-08.rdf ex-09.rdf ex-10.rdf ex-11.rdf ex-12.rdf \
+ex-13.rdf ex-14.rdf ex-15.rdf ex-16.rdf ex-17.rdf \
+ex-20.rdf ex-21.rdf ex-23.rdf ex-24.rdf ex-25.rdf ex-26.rdf \
+ex-27.rdf ex-28.rdf ex-29.rdf ex-33.rdf \
+ex-35.rdf ex-37.rdf ex-39.rdf \
+ex-48.rdf ex-49.rdf ex-51.rdf \
 ex-53.rdf ex-54.rdf ex-56.rdf ex-57.rdf ex-58.rdf ex-61.rdf \
 ex-62.rdf ex-63.rdf \
 22-rdf-syntax-ns.rdf rdfs-namespace.rdf rdf-schema.rdf \
@@ -279,14 +279,14 @@
 # ex-55 fails with libxml2
 #   libxml2 bug report: http://bugs.gnome.org/show_bug.cgi?id=159219
 RDF_MAYFAIL_XML_TEST_FILES = ex-55.rdf
-RDF_BAD_TEST_FILES = bad-00.rdf bad-01.rdf bad-02.rdf bad-03.rdf \
+RDF_BAD_TEST_FILES = bad-00.rdf bad-01.rdf bad-03.rdf \
 bad-04.rdf bad-05.rdf bad-06.rdf bad-07.rdf bad-08.rdf bad-09.rdf \
 bad-10.rdf bad-11.rdf bad-12.rdf bad-13.rdf bad-14.rdf bad-18.rdf \
 bad-19.rdf bad-20.rdf bad-21.rdf bad-22.rdf bad-23.rdf
 
 RDF_BAD_NFC_TEST_FILES = bad-15.rdf bad-16.rdf bad-17.rdf
-RDF_WARN_TEST_FILES = warn-00.rdf warn-02.rdf warn-04.rdf \
-warn-05.rdf warn-06.rdf warn-07.rdf \
+RDF_WARN_TEST_FILES = warn-00.rdf warn-02.rdf \
+warn-07.rdf \
 $(RDF_BAGID_TEST_FILES)
 
 RDF_ASSUME_TEST_FILES = ex-19.rdf

I am not sure whether these files are still useful or are failing due to changes in the dependencies of raptor.
Having so many failing test files is not great though and eventually leads to downstreams disabling test suites altogether.

It would be amazing if you could create a new release (see #48 ) so that the failing files can subsequently be identified and fixed/removed.

Create a new release

Hi! I'm packaging raptor for Arch Linux.

Would it be possible to create a new release for this project? The last one is from 2014 and there are CVEs for which I need to carry patches although they are fixed upstream (here).

Releasing a new version would be great, so that downstreams can rely on a new tarball with these fixes included.

Broken build with libxml2 2.11.0

Raptor does not build against libxml2 2.11.0 because a private symbol 'checked' in entities, that is now removed, was being used.

Fixed with #58

make[1]: *** No rule to make target 'turtle_lexer.c', needed by 'all'. Stop.

Ubuntu 20.04
checked that all listed dependencies installed
followed instructions to build from source
no errors seen, until the make step

make >output.txt
ar: `u' modifier ignored since `D' is the default (see `U')
make[1]: *** No rule to make target 'turtle_lexer.c', needed by 'all'.  Stop.
make: *** [Makefile:528: all-recursive] Error 1

I see turtle_lexer.l in /src/ and multiple notes in Makefile that .c/.h files will be BUILT but for some reason this isn't happening, I guess?

Any ideas, any thing I should check is installed? Any known (must use older version) lib/tool requirements?

Casing of domain name and scheme should be canonicalized (and interpreted as such)

Not sure if I interpret rfc3986 correctly but I believe that with input file:

<https://example.com> <https://ex.com> <https://EXAMPLE.COM> .
<https://example.com> <HTTPS://ex.com> <https://eXAMPLE.COM> .

... and command:

$ rapper --input turtle input.ttl --output turtle
rapper: Serializing with serializer turtle
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<https://example.com>
    <HTTPS://ex.com> <https://eXAMPLE.COM> ;
    <https://ex.com> <https://EXAMPLE.COM> .
rapper: Parsing returned 2 triples

... the output should be the same output as with the follwoing input:

<https://example.com> <https://ex.com> <https://example.com> .
<https://example.com> <https://ex.com> <https://example.com> .

... which is:

rapper: Serializing with serializer turtle
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<https://example.com>
    <https://ex.com> <https://example.com> .

rapper: Parsing returned 2 triples

Missing infos about published packages

Thanks for the answer to #45 @dajobe

Happy to see those libraries are available! I could indeed install it with apt install libraptor2-0

But how do we know about it? That those packages are available and that I need to install libraptor2-0 exactly? The package use rapper, and raptor as a name, also raptor is quite a generic name, and the prefix lib is popular, but not always used, so it is hard to figure out which name you gave to the package and to search for it. And there is a random -0 at the end of the package name

The documentation website don't explain that it has been published and can be installed using prebuilt binaries: https://librdf.org/raptor/INSTALL.html

It only details how to build from scratch.

Adding a quick link and examples, e.g. "Install with apt install libraptor2-0" would save a lot of time for anyone trying to use Raptor! On your side it is fast, easy to do and does not require to be maintained in the future

Please break extremely long lines in turtle output

Rapper with turtle output generates a line of length 35679 in one of my files, which is not ideal for version control.
This happens when there are many objects for the same subject-predicate combination, for example:

[...]
<bb>
    ov:defines <bb/199993EG>, <bb/1TierArchitecture>, <bb/2PhaseCommitProtocol>, <bb/2TierArchitecture>, <bb/3LGM2>, <bb/3LGM2ApplicationComponent>, <bb/3LGM2B>, <bb/3LGM2CommunicationInterface>, <bb/3LGM2CommunicationLink>, <bb/3LGM2ComputerBasedApplicationComponent>, <bb/3LGM2DataTransmissionConnection>, <bb/3LGM2DomainLayer>, <bb/3LGM2EnterpriseFunction>, <bb/3LGM2EntityType>, <bb/3LGM2InformationProcess>, <bb/3LGM2InterlayerRelationship>, <bb/3LGM2IntralayerRelationship>, <bb/3LGM2Location>, <bb/3LGM2LogicalToolLayer>, <bb/3LGM2M>, <bb/3LGM2MCommunicationStandard>, <bb/3LGM2MMessageType>, <bb/3LGM2MessageType>, <bb/3LGM2OrganizationalSystem>, <bb/3LGM2OrganizationalUnit>, <bb/3LGM2PhysicalDataProcessingSystem>, <bb/3LGM2PhysicalToolLayer>, <bb/3LGM2ReceivingInterface>, <bb/3LGM2S>, <bb/3LGM2SInvokingInterface>, <bb/3LGM2SProvidingInterface>, <bb/3LGM2SService>, <bb/3LGM2SServiceClass>, <bb/3LGM2SendingInterface>, <bb/3LGM2SoftwareProduct>, <bb/3LGM2Support>, <bb/3LGM2Tool>, <bb/3LGM2ToolClass>, <bb/3LGM2TransmittingMedium>, <bb/3LGM2Use>, <bb/3TierArchitecture>, bb:A01, bb:A02, bb:A03, bb:AC1Style, bb:ACnStyle, bb:AccessControlManagement, bb:AccessControlSystem, bb:AccessIntegration, bb:Accuracy, bb:Acid, bb:AcquireAndImplement, bb:Activity, bb:ActivityModelingElement, bb:AdHocMonitoring, bb:Adaptability, bb:AdaptabilityOfTheHIS, bb:AdaptationCost, bb:Administration, bb:AdministrationAndAllocationOfPatientRecords, bb:AdministrationManagement, bb:AdministrationOfBusinessTripsAndFurtherTraining, bb:AdministrationOfHumanResourceMasterData, bb:AdministrativeAdmission, bb:AdministrativeDischargeAndBilling, bb:AdministrativeEntityType, bb:AdministrativeGuideline, bb:AdministrativePatientData, bb:AdministrativeStaff, bb:AdministrativeSticker, bb:AdministrativeSupport, bb:AdmissionDiagnosis, bb:AdoptionOfProjectResult, bb:Adt, bb:AnalysisAndAssessmentOfTheCurrentHISState, bb:AnnualHospitalOperatingCost, bb:AnnualITBudget, bb:ApplicationComponent, bb:ApplicationComponentStyle, bb:ApplicationHosting, bb:ApplicationPortfolio, bb:ApplicationServer, bb:ApplicationSupport, bb:Appointment, bb:AppointmentScheduling, bb:AppropriatePhysicalDataProcessingSystem, bb:Appropriateness, bb:ApprovalToAStudy, bb:ApprovalToStrategicInformationManagementPlan, bb:ArchitecturalStyle, bb:ArchitecturalStyleOfTheLogicalToolLayer, bb:ArchitecturalStyleOfThePhysicalToolLayer, bb:ArchitectureOfAnInformationSystem, bb:Archiving, bb:ArchivingOfPatientInformation, bb:ArtificialSystem, bb:Ascii, bb:AssetAccounting, bb:AsynchronousCommunication, bb:Atc, bb:Atomicity, bb:AuthenticityOfData, bb:AvailabilityOfApplicationComponents, bb:AvailabilityOfData, bb:AvailabilityOfTheApplicationComponent, bb:AvailablePhysicalDataProcessingSystem, bb:AvailableServer, bb:BPflV, bb:Backbone, bb:BalanceOfComputerBasedAndNonComputerBasedTools, bb:BalanceOfDataSecurityAndWorkingProcesses, bb:BalanceOfDocumentationQualityAndDocumentationEfforts, bb:BalanceOfFunctionalLeannessAndFunctionalRedundancy, bb:BalanceOfHomegeneityAndHeterogeneity, bb:BalancedNetwork, bb:Bar, bb:Bdsg, bb:Bed, bb:BedOccupation, bb:BehavioralPerspective, bb:Benchmarking, bb:BestOfBreedArchitecture, bb:BestPracticeBenchmark, bb:Bill, bb:BillingOfAccountableServices, bb:BloodBank, bb:BloodBankManagementSystem, bb:BodyWashing, bb:Book, bb:Bus, bb:BusinessIntelligenceSystem, bb:BusinessProcess, bb:BusinessProcessMetamodel, bb:BusinessProcessModel, bb:BusinessProcessReferenceModel, bb:BusinessReferenceModel, bb:BusinessStrategy, bb:CP1Style, bb:CPnStyle, bb:Car, bb:CardiovascularInformationSystem, bb:Case, bb:CaseMixIndex, bb:CaseStudy, bb:Catering, bb:Cchit, bb:CchitFunctionalCriterion, bb:Ccow, bb:CcowStandard, bb:Cda, bb:Cdrom, bb:Cen, bb:CentralizedComputingCenter, bb:CertifiabilityOfPhysicalDataProcessingSystems, bb:CertifiabilityOfSoftware, bb:CertifiablePhysicalDataProcessingSystem, bb:Certification, bb:CertificationByCCHIT, bb:CertificationByEuroRec, bb:CertificationByISO, bb:CertifiedPhysicalDataProcessingSystem, bb:ChangeManagement, bb:ChemotherapeuticTreatment, bb:ChiefExecutiveOfficer, bb:ChiefFinancialOfficer, bb:ChiefInformationOfficer, bb:ClassDiagram, bb:Classification, bb:ClassificationOfDiagnoses, bb:ClassificationOfProcedures, bb:Client, bb:ClientServerArchitecture, bb:ClinicalChemistryReport, bb:ClinicalDataWarehouse, bb:ClinicalDepartment, bb:ClinicalDocumentation, bb:ClinicalInformationSystem, bb:ClinicalPathway, bb:ClinicalResearch, bb:ClinicalTrial, bb:CloseToHierarchyNetwork, bb:Cluster, bb:Cobit, bb:CobitProcess, bb:CodingOfDiagnoses, bb:CodingOfDiagnosesAndProcedures, bb:CodingOfProcedures, bb:CodingSystem, bb:CommunicateDocumentsToOtherApplications, bb:CommunicateReportToOrderingUnit, bb:Communication, bb:CommunicationAbility, bb:CommunicationInterface, bb:CommunicationLink, bb:CommunicationNetwork, bb:CommunicationPattern, bb:CommunicationProtocol, bb:CommunicationServer, bb:CommunicationStandard, bb:Complaint, bb:Completeness, bb:ComponentAlignmentModelOfMartin, bb:ComputedTomography, bb:ComputerBasedApplicationComponent, bb:ComputerBasedInformationProcessing, bb:ComputerBasedInformationSystem, bb:ComputerBasedNursingForm, bb:ComputerBasedPhysicalDataProcessingSystem, bb:ComputerBasedTool, bb:ComputerNetwork, bb:ComputerSupportedInformationSystem, bb:ComputerSystem, bb:ComputerizedPhysicianOrderEntrySystem, bb:ComputingCenter, bb:ComputingCenterManager, bb:Confidentiality, bb:ConfigurationManagement, bb:ConformityWithUserExpectations, bb:ConsensusMethod, bb:Consistency, bb:Consultant, bb:ContextualIntegration, bb:ContinualServiceImprovement, bb:ContinuousHISAuditing, bb:ContinuousQualityImprovementProcess, bb:Controllability, bb:ControlledRedundancyOfData, bb:ControlledTranscriptionOfData, bb:Controlling, bb:ControllingReport, bb:ConvergingTechnologies, bb:CopperCable, bb:CorrectInformation, bb:CostAccounting, bb:CostBenefitAnalysis, bb:CostEffectivenessAnalysis, bb:CostOfTreatment, bb:CostUnit, bb:CreationOfStrategicInformationManagementPlan, bb:CreditAccounting, bb:CrossEnterpriseDocumentSharing, bb:CtScanner, bb:Customizing, bb:DB1Style, bb:DBnStyle, bb:Data, bb:DataCollectionEffort, bb:DataIntegration, bb:DataMetamodel, bb:DataModel, bb:DataProtection, bb:DataReferenceModel, bb:DataSecurity, bb:DataSecurityOfficer, bb:DataTransmissionConnection, bb:DataWarehouseSystem, bb:DatabaseServer, bb:DatabaseStyle, bb:DatabaseSystem, bb:DebtorAccounting, bb:DecisionMakingAndPatientInformation, bb:DecisionMakingPlanningAndOrganizationOfPatientTreatment, bb:DecisionSupportSystem, bb:Decomposition, bb:DecubitusProphylaxis, bb:DeductiveApproach, bb:DefinitionEN, bb:DegreeOfComputerSupport, bb:DeliverAndSupport, bb:DeliveringOfCustomerCenteredServices, bb:DelphiSurvey, bb:DepartmentOfFacilityManagement, bb:DepartmentOfQualityManagement, bb:DepartmentalSystemAdministrator, bb:DeploymentOfStrategicInformationManagementPlan, bb:DescriptionOfTheCurrentHISState, bb:DescriptionOfThePlannedHISState, bb:DesigningCustomerCenteredServices, bb:DhcpServer, bb:Diagnosis, bb:DiagnosisClass, bb:DiagnosticProcedure, bb:DiagnosticService, bb:DiagnosticStandard, bb:DialysisInformationSystem, bb:DicomFileFormat, bb:DicomMessageFormat, bb:DicomNetworkProtocol, bb:DicomService, bb:DicomStandard, bb:Diet, bb:DigitalDictationSystem, bb:DigitalImage, bb:DigitalXRay, bb:Directing, bb:DirectiveForHISConstruction, bb:DischargeSummary, bb:DiseaseManagement, bb:DnsServer, bb:DocumentArchivingSystem, bb:DocumentStandard, bb:DoubleExamination, bb:Drg, bb:DrgCalculation, bb:Drug, bb:DrugService, bb:Durability, bb:EMailCommunication, bb:EN12538, bb:EN12539, bb:EN1613, bb:EconomicAnalysis, bb:Edifact, bb:Education, bb:EducationResearch, bb:EffectivenessStudy, bb:Efficiency, bb:EfficiencyOfInformationLogistics, bb:EfqmExcellenceModel, bb:EhrStrategy, bb:ElectronicHealthRecord, bb:ElectronicPatientRecord, bb:EncryptionSoftware, bb:EnsureAccessIntegration, bb:EnsureContextualIntegration, bb:EnsureDataIntegration, bb:EnsurePresentationIntegration, bb:EnsureProcessIntegration, bb:EnsureSemanticIntegration, bb:EnterpriseFunction, bb:EnterpriseFunctionModelingElement, bb:EnterpriseOrganizationalStructure, bb:EnterpriseResourcePlanningSystem, bb:EntityType, bb:EntityTypeModelingElement, bb:EntityTypeRelation, bb:EntityTypeRelationModelingElement, bb:ErrorTolerance, bb:EstablishAndPromoteTheStrategicInformationManagementPlan, bb:EstablishingReferentialIntegrity, bb:Ethernet, bb:EuroRec, bb:EuroRecEHRQualitySeal, bb:EuropeanNorm, bb:Evaluation, bb:EvaluationMethod, bb:Event, bb:EventCountingStudy, bb:EventDrivenProcessChain, bb:EventModelingElement, bb:Excretion, bb:ExecutionOfAQuantitativeStudy, bb:ExecutionOfAnITEvaluationStudy, bb:ExecutionOfAnOperation, bb:ExecutionOfChemotheraphy, bb:ExecutionOfClinicalTrials, bb:ExecutionOfClinicalTrialsAndExperiments, bb:ExecutionOfDiagnosticAndTherapeuticProcedures, bb:ExecutionOfDiagnosticTherapeuticAndNursingProcedures, bb:ExecutionOfIrradiation, bb:ExecutionOfLabExaminations, bb:ExecutionOfNursingProcedures, bb:ExecutionOfProphylaxis, bb:ExecutionOfRadiologicalProcedures, bb:ExperimentalStudyDesign, bb:Extent, bb:ExternalFinding, bb:FacilityAndArea, bb:FacilityManagement, bb:FailureManagement, bb:FamilyHistory, bb:FaxMachine, bb:Feature, bb:FeatureAdministrateTheMasterPatientIndex, bb:FeatureAdmitPatientsToTheWard, bb:FeatureAnalyzeData, bb:FeatureArchivePictures, bb:FeatureAssignDoctorsToPatientsOrRooms, bb:FeatureAssignOrderAndBloodSamplesToDevices, bb:FeatureAssignOrdersToModalities, bb:FeatureAssignPatientsToModalities, bb:FeatureAssignPatientsToRoomsAndBeds, bb:FeatureAssignStaffToPatientsOrOutpatientUnits, bb:FeatureAssignStaffToPatientsOrRooms, bb:FeatureAttachDigitalSignatures, bb:FeatureCalculateDosageOfDrugs, bb:FeatureCollectResultsFromDevices, bb:FeatureCommunicateDischargeInformation, bb:FeatureCommunicatePictures, bb:FeatureCreateWorklistForAGroupOfPatients, bb:FeatureCreatingARoster, bb:FeatureCreationOfRadiologyReports, bb:FeatureDisplayEarlierLabResultsOfAPatient, bb:FeatureDisplayPictures, bb:FeatureDisplayVitalParametersFromMonitoringDevices, bb:FeatureDisplayWarningMessages, bb:FeatureImportDocuments, bb:FeatureIndexDocumentContent, bb:FeatureIntegrateDataFromDifferentApplicationComponents, bb:FeatureManageModalities, bb:FeatureManageStorageFormats, bb:FeatureManageStorageMedia, bb:FeatureMergePatientInformationFromTwoRecords, bb:FeatureMessageQueuing, bb:FeatureModifyPresentationOfPictures, bb:FeatureMulticasting, bb:FeatureOfferDecisionSupportForCarePlanning, bb:FeatureOrganizePatientTransport, bb:FeaturePrepareReport, bb:FeaturePreparingStatistics, bb:FeaturePrintForms, bb:FeaturePrintReports, bb:FeaturePrintingOfLabels, bb:FeatureProvideACollectionOfInternalProcessesAndRegulations, bb:FeatureProvideAccessToArchivedInformation, bb:FeatureProvideCatalogsAndOtherMeansForCodingOfNursingDiagnosis, bb:FeatureProvideCatalogsAndOtherMeansForCodingOfNursingProcedures, bb:FeatureProvideCatalogsAndOtherMeansForCodingPatientRelatedProcedures, bb:FeatureProvideCatalogsAndOtherMeansForCodingPatientsDiagnoses, bb:FeatureProvideCatalogsAndOtherMeansForCodingRadiologicalDiagnoses, bb:FeatureProvideCatalogsAndOtherMeansForCodingRadiologicalProcedures, bb:FeatureProvideContextRelatedMedicalKnowledge, bb:FeatureProvideDrugCatalogs, bb:FeatureProvideFormsForClinicalReports, bb:FeatureProvideFormsForDocumentingClinicalProcedures, bb:FeatureProvideFormsForDocumentingDiagnosis, bb:FeatureProvideFormsForDocumentingDiagnosisAndProblems, bb:FeatureProvideFormsForDocumentingMedicalAnamnesis, bb:FeatureProvideFormsForDocumentingMedications, bb:FeatureProvideFormsForDocumentingNursingAims, bb:FeatureProvideFormsForDocumentingNursingTasks, bb:FeatureProvideFormsForDocumentingPatientsInformedConsent, bb:FeatureProvideFormsForDocumentingPerformedTasks, bb:FeatureProvideFormsForDocumentingPlannedTasks, bb:FeatureProvideFormsForDocumentingProceduresAndOutcomes, bb:FeatureProvideFormsForDocumentingTheNursingHistory, bb:FeatureProvideFormsForDocumentingTheOutcomeOfNursingTasks, bb:FeatureProvideFormsForEnteringClinicalData, bb:FeatureProvideFormsForEnteringOrUpdatingPatientAdministrativeInformation, [...]

I would appreciate if there was a maximum line length, even if it is very long, such as 200 or 1000, to break this up like the following:

<bb>
    ov:defines <bb/199993EG>, <bb/1TierArchitecture>, <bb/2PhaseCommitProtocol>, <bb/2TierArchitecture>, <bb/3LGM2>, <bb/3LGM2ApplicationComponent>, <bb/3LGM2B>,   <bb/3LGM2CommunicationInterface>, <bb/3LGM2CommunicationLink>, <bb/3LGM2ComputerBasedApplicationComponent>,
      <bb/3LGM2DataTransmissionConnection>, <bb/3LGM2DomainLayer>, <bb/3LGM2EnterpriseFunction>, <bb/3LGM2EntityType>, <bb/3LGM2InformationProcess>, <bb/3LGM2InterlayerRelationship>, <bb/3LGM2IntralayerRelationship>, <bb/3LGM2Location>, <bb/3LGM2LogicalToolLayer>, <bb/3LGM2M>, <bb/3LGM2MCommunicationStandard>, <bb/3LGM2MMessageType>, <bb/3LGM2MessageType>, <bb/3LGM2OrganizationalSystem>, <bb/3LGM2OrganizationalUnit>, <bb/3LGM2PhysicalDataProcessingSystem>, <bb/3LGM2PhysicalToolLayer>, <bb/3LGM2ReceivingInterface>, <bb/3LGM2S>, <bb/3LGM2SInvokingInterface>, <bb/3LGM2SProvidingInterface>, <bb/3LGM2SService>, <bb/3LGM2SServiceClass>, <bb/3LGM2SendingInterface>, <bb/3LGM2SoftwareProduct>, <bb/3LGM2Support>, <bb/3LGM2Tool>, <bb/3LGM2ToolClass>, <bb/3LGM2TransmittingMedium>, <bb/3LGM2Use>, <bb/3TierArchitecture>, bb:A01, bb:A02, bb:A03, bb:AC1Style, bb:ACnStyle, 
      bb:AccessControlManagement, bb:AccessControlSystem, bb:AccessIntegration, bb:Accuracy, bb:Acid, bb:AcquireAndImplement, bb:Activity, bb:ActivityModelingElement, bb:AdHocMonitoring, bb:Adaptability, bb:AdaptabilityOfTheHIS, bb:AdaptationCost, bb:Administration, bb:AdministrationAndAllocationOfPatientRecords, bb:AdministrationManagement, bb:AdministrationOfBusinessTripsAndFurtherTraining, bb:AdministrationOfHumanResourceMasterData, bb:AdministrativeAdmission, bb:AdministrativeDischargeAndBilling, bb:AdministrativeEntityType, bb:AdministrativeGuideline, bb:AdministrativePatientData, bb:AdministrativeStaff, bb:AdministrativeSticker, [...]

More consistent sorting of language tagged literals

Currently, it seems like all literal values are foremost sorted by using the lexical form. However, I would prefer to have language-tagged literals sorted using their language tags first and the lexical form second. This would prevent unnecessary line changes in git diffs when, for example, a label for some single language changes.

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.