1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
|
#DOAP
Raptor RDF Syntax Library
Dave Beckett
Overview
Raptor 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.
Raptor was designed to work closely with the Redland RDF library (RDF
Parser Toolkit for Redland) but is entirely separate. It is a portable
library that works across many POSIX systems (Unix, GNU/Linux, BSDs,
OSX, cygwin, win32).
A summary of the changes can be found in the NEWS file, detailed API
changes in the release notes and file-by-file changes in the ChangeLog.
Details of upgrading from Raptor 1 as described in the Upgrading
document.
* Designed to integrate well with Redland
* Parses content on the web if libcurl, libxml2 or BSD libfetch is
available.
* Supports all RDF terms including datatyped and XML literals
* Optional features including parsers and serialisers can be selected
at configure time.
* Language bindings to Perl, PHP, Python and Ruby when used via
Redland
* No memory leaks
* Fast
* Standalone rapper RDF parser utility program
Known bugs and issues are recorded in the Redland issue tracker or at
GitHub issues for Raptor.
Parsers
RDF/XML Parser
A Parser for the standard RDF/XML syntax.
* Fully handles the RDF/XML syntax updates for XML Base, xml:lang,
RDF datatyping and Collections.
* Handles all RDF vocabularies such as FOAF, RSS 1.0, Dublin Core,
OWL, DOAP
* Handles rdf:resource / resource attributes
* Uses libxml XML parser
N-Quads Parser
A parser for the RDF 1.1 N-Quads - A line-based syntax for an RDF
datasets, 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.
N-Triples Parser
A parser for the RDF 1.1 N-Triples - A line-based syntax for an RDF
graph, W3C Candidate Recommendation, 05 November 2013 (aka N-Triples
2013) based on the older N-Triples.
Turtle Parser
A parser for the Turtle Terse RDF Triple Language W3C Candidate
Recommendation, 19 February 2013 based on earlier work Turtle Terse RDF
Triple Language (2004)
TRiG Parser
A parser for the RDF 1.1 TriG RDF Dataset Language.
The parser does not support the entire 1.1 TRiG specification; the '{'
... '}' around a graph and the GRAPH keyword may not be omitted.
RSS "tag soup" parser
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 RSS 1.0 RDF triples. True RSS 1.0, as a full RDF
vocabulary, is best parsed by the RDF/XML parser. It also generates
triples for RSS enclosures.
This parser also provides support for the Atom 1.0 syndication format
defined in IETF RFC 4287 as well as the earlier Atom 0.3.
GRDDL and microformats parser
A parser/processor for Gleaning Resource Descriptions from Dialects of
Languages (GRDDL) 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.
The parser passes the all the GRDDL tests as of Raptor 1.4.16.
The parser also handles hCard and hReview using public XSL sheets.
RDFa parser
A parser for RDFa 1.0 (W3C Recommendation 14 October 2008) and RDFa 1.1
(W3C Recommendation 07 June 2012) implemented via librdfa linked inside
Raptor. librdfa was, written primarily by Manu Sporny of Digital Bazaar
and is licensed with the same license as Raptor.
As of Raptor 2.0.8 the RDFa parser passes all of the RDFa 1.0 test
suite except for 4 tests and all of the RDFa 1.1 test suite except for
30 tests.
Serializers
RDF/XML Serializer
A serializer to the standard RDF/XML syntax as revised by the W3C RDF
Core working group in 2004. This writes a plain triple-based RDF/XML
serialization with no optimisation or pretty-printing.
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.
N-Quads Serializer
A serializer for the RDF 1.1 N-Quads -A line-based syntax for an RDF
datasets, 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.
N-Triples Serializer
A serializer for the RDF 1.1 N-Triples - A line-based syntax for an RDF
graph (aka N-Triples 2013) based on the earlier N-Triples syntax as
used by the W3C RDF Core working group for the RDF Test Cases.
Atom 1.0 Serializer
A serializer to the Atom 1.0 syndication format defined in IETF RFC
4287.
JSON Serializers
Two serializers for to write triples encoded in JSON:
1. json: in a resource-centric abbreviated form like Turtle or
RDF/XML-Abbreviated as defined by: RDF 1.1 JSON Alternate
Serialization (RDF/JSON), W3C Working Group Note, 07 November 2013
2. json-triples: a triple-centric format based on the SPARQL results
in JSON format.
JSON-LD is not supported - too complex to implement.
GraphViz DOT Serializer
An serializer to the GraphViz DOT format which aids visualising RDF
graphs.
RSS 1.0 Serializer
A serializer to the RDF Site Summary (RSS) 1.0 format.
Turtle Serializer
A serializer for the Turtle Terse RDF Triple Language W3C Candidate
Recommendation, 19 February 2013
XMP Serializer
An alpha quality serializer to the Adobe XMP profile of RDF/XML
suitable for embedding inside an external document.
mKR Serializer
A serializer for the mKR (my Knowledge Representation) Language
Documentation
The public API is described in the libraptor.3 UNIX manual page. It is
demonstrated in the rapper utility program which shows how to call the
parser and write the triples in a serialization. When Raptor is used
inside Redland, the Redland documentation explains how to call the
parser and contains several example programs. There are also further
examples in the example directory of the distribution.
To install Raptor see the Installation document.
Sources
The packaged sources are available from
http://download.librdf.org/source/ (master site) The development GIT
sources can also be browsed at GitHub or checked out at
git://github.com/dajobe/raptor.git
License
This library is free software / open source software released under the
LGPL (GPL) or Apache 2.0 licenses. See LICENSE.html for full details.
Mailing Lists
The Redland mailing lists discusses the development and use of Raptor
and Redland as well as future plans and announcement of releases.
__________________________________________________________________
Copyright (C) 2000-2023 Dave Beckett
Copyright (C) 2000-2005 University of Bristol
|