RDF-Endpoint-0.05/ 000755 000765 000024 00000000000 11760736477 014633 5 ustar 00samofool staff 000000 000000 RDF-Endpoint-0.05/Changes 000644 000765 000024 00000006644 11760736466 016136 0 ustar 00samofool staff 000000 000000 ############################################################################
## Changes for RDF-Endpoint ################################################
############################################################################
RDF-Endpoint
============
Created: 2010-06-19
Home page:
Bug tracker:
Maintainer: Gregory Todd Williams
0.05 [2012-05-28]
- (Update) Added use of Plack::Builder and Plack::Middleware::AccessLog in
default configuration.
- (Update) Added Service Description resultFormat triples for SPARQL XML
and JSON Results.
- (Update) Renamed Service Description sd:defaultDatasetDescription
property to sd:defaultDataset.
- (Update) Croak when unable to open file handles
- (Update) Updated see also link to SPARQL Protocol (1.1).
- (Update) Improved HTTP error status code messages.
- (Addition) Use a default in-memory store if no config file is available.
- (Addition) Let RDF_ENDPOINT_FILE env variable override the Config::JFDI
default.
- (Update) Require a recent version (0.99) of Plack::Request with support
for logging.
- (Update) Fixed bug in handling of update requests.
- (Update) Improved conformance with SPARQL 1.1 Protocol spec.
- (Update) Removed custom logging code (should be done with Plack
middleware).
0.04 [2011-07-19]
- (Addition) Added RDFa serialization tests (from KjetilK).
- (Update) Require RDF::RDFa::Generator 0.102 (fixes RDFa service
description serialization bug).
- (Update) Fixed bug introduced by commit 3fb5e48 causing query results to
disappear from HTML results page.
- (Update) Allow the service description default graph to be a URI or a
blank node (based on config value).
0.03 [2011-06-07]
- (Update) Removed duplicated, hard-coded HTML to allow better
customization of HTML (from nichtich).
- (Update) Add merging of namespace hashes (from kjetilk).
- (Update) Updated service description RDF to use sd:endpoint instead of
sd:url (tracking updates in the SD spec).
- (Update) style element must go in head (from kjetilk).
- (Update) Actually dereference correctly endpoint_path, and make the test
use root (from kjetilk).
- (Update) Make endpoint path configurable (from kjetilk).
- (Update) Replace new_with_string with new and change docs (from
kjetilk).
0.02 [2011-04-16]
- (Update) Service description is now cached in the RDF::Endpoint object.
- (Update) Changes to align with SPARQL Protocol 1.1.
- (Update) Moved endpoint-specific configuration variables into top-level
'endpoint' hash.
- (Update) Fixed caching bug in which browsers would use cached results
across endpoint instantiations.
- (Addition) Added support for POSTing queries and updates directly using
the appropriate media types.
- (Addition) Added ETag support for query results, varying based on Accept
and Accept-Encoding headers, and query string.
- (Update) Updated endpoint.psgi to move config parsing and endpoint
object construction outside of the request handler.
- (Update) Updated RDF::Endpoint to use a persistent model object across
run() calls.
- (Update) Updated content negotiation quality values.
- (Addition) Added CodeMirror files for syntax highlighting SPARQL query
form markup.
- (Update) Updated tests to test functionality directly via PSGI.
0.01 [2010-07-14]
- (Addition) First release.
RDF-Endpoint-0.05/Changes.ttl 000644 000765 000024 00000013142 11760736372 016723 0 ustar 00samofool staff 000000 000000 # -*-n3-*-
@prefix dc: .
@prefix dcterms: .
@prefix foaf: .
@prefix doap: .
@prefix xsd: .
@prefix asc: .
@prefix my: .
<>
dc:title "Changes" ;
dc:description "Changes for RDF::Endpoint" ;
dc:subject my:project ;
.
dcterms:isVersionOf my:project ;
doap:Version [
doap:revision "0.05" ;
doap:created "2012-05-28" ;
] ;
asc:changes [
asc:addition "Use a default in-memory store if no config file is available." ;
asc:addition "Let RDF_ENDPOINT_FILE env variable override the Config::JFDI default." ;
asc:update "Fixed bug in handling of update requests." ;
asc:update "Improved conformance with SPARQL 1.1 Protocol spec." ;
asc:update "Added use of Plack::Builder and Plack::Middleware::AccessLog in default configuration." ;
asc:update "Improved HTTP error status code messages." ;
asc:update "Added Service Description resultFormat triples for SPARQL XML and JSON Results." ;
asc:update "Renamed Service Description sd:defaultDatasetDescription property to sd:defaultDataset." ;
asc:update "Croak when unable to open file handles" ;
asc:update "Removed custom logging code (should be done with Plack middleware)." ;
asc:update "Require a recent version (0.99) of Plack::Request with support for logging." ;
asc:update "Updated see also link to SPARQL Protocol (1.1)." ;
] ;
.
dcterms:isVersionOf my:project ;
doap:Version [
doap:revision "0.04" ;
doap:created "2011-07-19" ;
] ;
asc:changes [
asc:addition "Added RDFa serialization tests (from KjetilK)." ;
asc:update "Allow the service description default graph to be a URI or a blank node (based on config value)." ;
asc:update "Require RDF::RDFa::Generator 0.102 (fixes RDFa service description serialization bug)." ;
asc:update "Fixed bug introduced by commit 3fb5e48 causing query results to disappear from HTML results page." ;
] ;
.
dcterms:isVersionOf my:project ;
doap:Version [
doap:revision "0.03" ;
doap:created "2011-06-07" ;
] ;
asc:changes [
asc:update "Removed duplicated, hard-coded HTML to allow better customization of HTML (from nichtich)." ;
asc:update "Actually dereference correctly endpoint_path, and make the test use root (from kjetilk)." ;
asc:update "Make endpoint path configurable (from kjetilk)." ;
asc:update "style element must go in head (from kjetilk)." ;
asc:update "Updated service description RDF to use sd:endpoint instead of sd:url (tracking updates in the SD spec)." ;
asc:update "Add merging of namespace hashes (from kjetilk)." ;
asc:update "Replace new_with_string with new and change docs (from kjetilk)." ;
] ;
.
dcterms:isVersionOf my:project ;
doap:Version [
doap:revision "0.02" ;
doap:created "2011-04-16" ;
] ;
asc:changes [
asc:addition "Added ETag support for query results, varying based on Accept and Accept-Encoding headers, and query string." ;
asc:addition "Added support for POSTing queries and updates directly using the appropriate media types." ;
asc:addition "Added CodeMirror files for syntax highlighting SPARQL query form markup." ;
asc:update "Changes to align with SPARQL Protocol 1.1." ;
asc:update "Updated tests to test functionality directly via PSGI." ;
asc:update "Updated content negotiation quality values." ;
asc:update "Moved endpoint-specific configuration variables into top-level 'endpoint' hash." ;
asc:update "Fixed caching bug in which browsers would use cached results across endpoint instantiations." ;
asc:update "Service description is now cached in the RDF::Endpoint object." ;
asc:update "Updated endpoint.psgi to move config parsing and endpoint object construction outside of the request handler." ;
asc:update "Updated RDF::Endpoint to use a persistent model object across run() calls." ;
] ;
.
dcterms:isVersionOf my:project ;
doap:Version [
doap:revision "0.01" ;
doap:created "2010-07-14" ;
] ;
asc:changes [
asc:addition "First release." ;
] ;
.
my:project
a doap:Project ;
doap:name "RDF-Endpoint" ;
doap:shortdesc "A SPARQL Protocol Endpoint implementation"@en ;
doap:programming-language "Perl" ;
doap:homepage ;
doap:download-page ;
doap:bug-database ;
doap:maintainer ;
doap:developer ;
doap:documenter ;
doap:tester ;
doap:created "2010-06-19"^^xsd:date ;
doap:license ;
.
a foaf:Person ;
foaf:name "Gregory Todd Williams" ;
foaf:homepage ;
foaf:page ;
foaf:mbox ;
;
.
RDF-Endpoint-0.05/Changes.xml 000644 000765 000024 00000017741 11760736466 016735 0 ustar 00samofool staff 000000 000000
Changes for RDF::EndpointChangesGregory Todd WilliamsFirst release.2010-07-140.01Added CodeMirror files for syntax highlighting SPARQL query form markup.Added ETag support for query results, varying based on Accept and Accept-Encoding headers, and query string.Added support for POSTing queries and updates directly using the appropriate media types.Changes to align with SPARQL Protocol 1.1.Fixed caching bug in which browsers would use cached results across endpoint instantiations.Moved endpoint-specific configuration variables into top-level 'endpoint' hash.Service description is now cached in the RDF::Endpoint object.Updated RDF::Endpoint to use a persistent model object across run() calls.Updated content negotiation quality values.Updated endpoint.psgi to move config parsing and endpoint object construction outside of the request handler.Updated tests to test functionality directly via PSGI.2011-04-160.02Actually dereference correctly endpoint_path, and make the test use root (from kjetilk).Add merging of namespace hashes (from kjetilk).Make endpoint path configurable (from kjetilk).Removed duplicated, hard-coded HTML to allow better customization of HTML (from nichtich).Replace new_with_string with new and change docs (from kjetilk).Updated service description RDF to use sd:endpoint instead of sd:url (tracking updates in the SD spec).style element must go in head (from kjetilk).2011-06-070.03Added RDFa serialization tests (from KjetilK).Allow the service description default graph to be a URI or a blank node (based on config value).Fixed bug introduced by commit 3fb5e48 causing query results to disappear from HTML results page.Require RDF::RDFa::Generator 0.102 (fixes RDFa service description serialization bug).2011-07-190.04Let RDF_ENDPOINT_FILE env variable override the Config::JFDI default.Use a default in-memory store if no config file is available.Added Service Description resultFormat triples for SPARQL XML and JSON Results.Added use of Plack::Builder and Plack::Middleware::AccessLog in default configuration.Croak when unable to open file handlesFixed bug in handling of update requests.Improved HTTP error status code messages.Improved conformance with SPARQL 1.1 Protocol spec.Removed custom logging code (should be done with Plack middleware).Renamed Service Description sd:defaultDatasetDescription property to sd:defaultDataset.Require a recent version (0.99) of Plack::Request with support for logging.Updated see also link to SPARQL Protocol (1.1).2012-05-280.052010-06-19RDF-EndpointPerlA SPARQL Protocol Endpoint implementation
RDF-Endpoint-0.05/inc/ 000755 000765 000024 00000000000 11760736475 015402 5 ustar 00samofool staff 000000 000000 RDF-Endpoint-0.05/lib/ 000755 000765 000024 00000000000 11760736475 015377 5 ustar 00samofool staff 000000 000000 RDF-Endpoint-0.05/LICENSE 000644 000765 000024 00000005331 11552456153 015627 0 ustar 00samofool staff 000000 000000 Except as described below, all contents of this package are
Copyright (c) 2010 Gregory Todd Williams.
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
With the exception of the CodeMirror files enumerated below, the files in this
package may also be redistributed and/or modified under the same terms as Perl
itself.
--------------------------------------------------------------------------------
The following license applies to the CodeMirror (Javascript and CSS) files
contained in this package and retrieved from http://codemirror.net/:
share/www/css/docs.css
share/www/css/sparqlcolors.css
share/www/js/codemirror.js
share/www/js/editor.js
share/www/js/highlight.js
share/www/js/mirrorframe.js
share/www/js/parsecss.js
share/www/js/parsedummy.js
share/www/js/parsehtmlmixed.js
share/www/js/parsejavascript.js
share/www/js/parsesparql.js
share/www/js/parsexml.js
share/www/js/select.js
share/www/js/sparql_form.js
share/www/js/stringstream.js
share/www/js/tokenize.js
share/www/js/tokenizejavascript.js
share/www/js/undo.js
share/www/js/unittests.js
share/www/js/util.js
Copyright (c) 2007-2010 Marijn Haverbeke
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any
damages arising from the use of this software.
Permission is granted to anyone to use this software for any
purpose, including commercial applications, and to alter it and
redistribute it freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software. If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source
distribution.
Marijn Haverbeke
marijnh@gmail.com
RDF-Endpoint-0.05/Makefile.PL 000644 000765 000024 00000002213 11760237267 016574 0 ustar 00samofool staff 000000 000000 use strict;
use warnings;
use inc::Module::Install;
name 'RDF-Endpoint';
all_from 'lib/RDF/Endpoint.pm';
author 'Gregory Todd Williams ';
license 'zlib';
test_requires 'Test::More' => '0.61';
test_requires 'Test::WWW::Mechanize::PSGI' => 0;
requires 'Carp' => 0;
requires 'File::ShareDir' => 0;
requires 'RDF::Trine' => 0.134;
requires 'RDF::Query' => 2.905;
requires 'RDF::RDFa::Generator' => 0.102;
requires 'Plack::Request' => 0.99;
requires 'Plack::Response' => 0;
requires 'Plack::Middleware::AccessLog' => 0;
requires 'Data::Dumper' => 0;
requires 'Config::JFDI' => 0;
requires 'HTTP::Negotiate' => 0;
requires 'IO::Compress::Gzip' => 0;
requires 'XML::LibXML' => 1.70;
requires 'HTML::HTML5::Writer' => 0;
requires 'HTML::HTML5::Parser' => 0;
requires 'Hash::Merge::Simple' => 0;
resources(
'homepage' => "http://search.cpan.org/dist/RDF-Endpoint/",
'repository' => "http://github.com/kasei/perlrdf/",
);
write_doap_changes;
write_doap_changes_xml;
install_share;
install_script glob('scripts/*');
sign;
WriteAll;
RDF-Endpoint-0.05/MANIFEST 000644 000765 000024 00000002247 11760736475 015767 0 ustar 00samofool staff 000000 000000 Changes
Changes.ttl
Changes.xml
inc/Module/Install.pm
inc/Module/Install/Base.pm
inc/Module/Install/Can.pm
inc/Module/Install/DOAPChangeSets.pm
inc/Module/Install/Fetch.pm
inc/Module/Install/Makefile.pm
inc/Module/Install/Metadata.pm
inc/Module/Install/Scripts.pm
inc/Module/Install/Share.pm
inc/Module/Install/Win32.pm
inc/Module/Install/WriteAll.pm
lib/RDF/Endpoint.pm
LICENSE
Makefile.PL
MANIFEST This list of files
META.yml
rdf_endpoint.json
scripts/endpoint.psgi
share/index.html
share/results.html
share/www/favicon.ico
share/www/css/docs.css
share/www/css/sparqlcolors.css
share/www/js/codemirror.js
share/www/js/editor.js
share/www/js/highlight.js
share/www/js/mirrorframe.js
share/www/js/parsecss.js
share/www/js/parsedummy.js
share/www/js/parsehtmlmixed.js
share/www/js/parsejavascript.js
share/www/js/parsesparql.js
share/www/js/parsexml.js
share/www/js/select.js
share/www/js/sparql_form.js
share/www/js/stringstream.js
share/www/js/tokenize.js
share/www/js/tokenizejavascript.js
share/www/js/undo.js
share/www/js/unittests.js
share/www/js/util.js
t/00-load.t
t/pod.t
t/pod_coverage.t
t/psgi.t
SIGNATURE Public-key signature (added by MakeMaker)
RDF-Endpoint-0.05/META.yml 000644 000765 000024 00000002111 11760736466 016075 0 ustar 00samofool staff 000000 000000 ---
abstract: 'A SPARQL Protocol Endpoint implementation'
author:
- 'Gregory Todd Williams '
- 'Gregory Todd Williams '
build_requires:
ExtUtils::MakeMaker: 6.42
Test::More: 0.61
Test::WWW::Mechanize::PSGI: 0
configure_requires:
ExtUtils::MakeMaker: 6.42
distribution_type: module
generated_by: 'Module::Install version 0.99'
license: zlib
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: RDF-Endpoint
no_index:
directory:
- inc
- share
- t
requires:
Carp: 0
Config::JFDI: 0
Data::Dumper: 0
File::ShareDir: 0
HTML::HTML5::Parser: 0
HTML::HTML5::Writer: 0
HTTP::Negotiate: 0
Hash::Merge::Simple: 0
IO::Compress::Gzip: 0
Plack::Middleware::AccessLog: 0
Plack::Request: 0.99
Plack::Response: 0
RDF::Query: 2.905
RDF::RDFa::Generator: 0.102
RDF::Trine: 0.134
XML::LibXML: 1.7
perl: 5.8.0
resources:
homepage: http://search.cpan.org/dist/RDF-Endpoint/
license: http://dev.perl.org/licenses/
repository: http://github.com/kasei/perlrdf/
version: 0.05
RDF-Endpoint-0.05/rdf_endpoint.json 000644 000765 000024 00000001504 11760254114 020160 0 ustar 00samofool staff 000000 000000 {
# "store": "Memory",
# "store": "Memory;file:///Users/samofool/foaf.xrdf",
# "store" : "DBI;basic;DBI:SQLite:t/data/basic.db;user;pass",
"store": "DBI;endpoint;DBI:SQLite:dbname=endpoint.sqlite;;",
"endpoint": {
"update": true, # allow SPARQL Update operations
"load_data": true, # allow loading RDF data via SPARQL Protocol or FROM/FROM NAMED clauses
"html": {
"resource_links": true, # turn resources into links in HTML query result pages
"embed_images": false, # display foaf:Images as images in HTML query result pages
"image_width": 200, # with 'embed_images', scale images to this width
},
"service_description": {
"default": true, # generate dataset description of the default graph
"named_graphs": true, # generate dataset description of the available named graphs
},
}
}
RDF-Endpoint-0.05/scripts/ 000755 000765 000024 00000000000 11760736475 016320 5 ustar 00samofool staff 000000 000000 RDF-Endpoint-0.05/share/ 000755 000765 000024 00000000000 11760736475 015733 5 ustar 00samofool staff 000000 000000 RDF-Endpoint-0.05/SIGNATURE 000644 000765 000024 00000007740 11760736477 016127 0 ustar 00samofool staff 000000 000000 This file contains message digests of all files listed in MANIFEST,
signed via the Module::Signature module, version 0.68.
To verify the content in this distribution, first make sure you have
Module::Signature installed, then type:
% cpansign -v
It will check each file's integrity, as well as the signature's
validity. If "==> Signature verified OK! <==" is not displayed,
the distribution may already have been compromised, and you should
not run its Makefile.PL or Build.PL.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
SHA1 9ec0ded8359876adafbb027431ecbe3811587563 Changes
SHA1 d044ad160395969413461b1fe34bde91268b9e9d Changes.ttl
SHA1 79cfe96086a40eba7740437bb178c07ae2a7956f Changes.xml
SHA1 14a506260237169ed443ed15a269369cee605be3 LICENSE
SHA1 b2fac9e470966c65eba6f79c5322f6c3750f667b MANIFEST
SHA1 9cc420a55ba7d337367175a027711fbd1fa1d56f META.yml
SHA1 a334b310bf4954ae4d4aaf9961a64248b67b8042 Makefile.PL
SHA1 53b08a2e448ac8751374a8eed725dfc09aa5fb63 inc/Module/Install.pm
SHA1 150c0cf35e6b96a0d8eea62194c8abc0da182c86 inc/Module/Install/Base.pm
SHA1 70c3500a28a1e5d255599ce3f44e9a7b80759109 inc/Module/Install/Can.pm
SHA1 b19da2715a136aba51510f687a7b4e431e0a4bec inc/Module/Install/DOAPChangeSets.pm
SHA1 5f0d6d859fb1cf84cd9bbb1e263d18f581c7e537 inc/Module/Install/Fetch.pm
SHA1 75f901a4b514a772b03223e1b08e3b5cc78b1667 inc/Module/Install/Makefile.pm
SHA1 29044991152cb220fcd2a5ccc3512139d2f5f577 inc/Module/Install/Metadata.pm
SHA1 d5cd64445b98ff377f7bb3ad750c01b509622e28 inc/Module/Install/Scripts.pm
SHA1 030a99123adabbda547150b63e00569ddf119fba inc/Module/Install/Share.pm
SHA1 896bba60ebe29b3b60fce8414f923fec97bf53e1 inc/Module/Install/Win32.pm
SHA1 e5c82926a05f844765964b013b31c48eefbb208c inc/Module/Install/WriteAll.pm
SHA1 1568716dc0c5a92f1eba747bef5e1043c8614f6d lib/RDF/Endpoint.pm
SHA1 47f5747c74628fe5e2f9f3c00ac20d96799fa63d rdf_endpoint.json
SHA1 cab17f29a3f2b0d73190f04a6212e3593f7bab3f scripts/endpoint.psgi
SHA1 d182c2c9bfefaf10b3f6e7056cd39c114a560d84 share/index.html
SHA1 6dd0cf355b49dcb0fdfe9203c68917d5320584f8 share/results.html
SHA1 c40ebad09f7e1d92ad0228a0625d730ba2f57b84 share/www/css/docs.css
SHA1 398bae2ae66a19ab8976036b50a2d20041b67fe5 share/www/css/sparqlcolors.css
SHA1 aa6874f2bad5f0b75b0ff52760f5e6b48ec933ae share/www/favicon.ico
SHA1 13fece7654a01193013d3d96528c851bfc79a300 share/www/js/codemirror.js
SHA1 d372c911fcc2bd030da800fdeedfbcd6b0100c83 share/www/js/editor.js
SHA1 551ff99056361eebfba2a32ea7445502a6eb4f21 share/www/js/highlight.js
SHA1 5bff996ab2564db1a998de30cb9e1ae07cbe62b5 share/www/js/mirrorframe.js
SHA1 d7540f8390913afc0d58484bf5161cf9b9aad9f8 share/www/js/parsecss.js
SHA1 a0028275114eaedf7ddcf57976c99c32ecb2c1d3 share/www/js/parsedummy.js
SHA1 39383cdfc93568cc5673e2b71f681e2811fb5463 share/www/js/parsehtmlmixed.js
SHA1 d5319247a4b26cafccfd4f26621918f0f4d22ef4 share/www/js/parsejavascript.js
SHA1 c6597fb9a5c7969237f7f039f2d0bc6968ef7ce7 share/www/js/parsesparql.js
SHA1 ae75f537ad61277a21a8ec423f5deffed8454e22 share/www/js/parsexml.js
SHA1 85cdbc16cd1581f441480d91fa5c0a50f234ff0b share/www/js/select.js
SHA1 d3261a5ddb7e5835c7abed5d5c343f0ef98637a5 share/www/js/sparql_form.js
SHA1 19cc324cce7165c868a60d523b2462c648f20887 share/www/js/stringstream.js
SHA1 5fdb14f3db575d0ce6a7113f96ea5a530f4f1941 share/www/js/tokenize.js
SHA1 7f581a2b4647f1214d1bc3160eb4e166a1261e4f share/www/js/tokenizejavascript.js
SHA1 9bba7456d4a25b23e805bc2d1d5bde61371c4e82 share/www/js/undo.js
SHA1 26ff15a8f6c196e8bd9f5d7e7b628a6ee9b0dfaa share/www/js/unittests.js
SHA1 201409b1d00a8df0b65b00a1b92ab62d9e0bbd7a share/www/js/util.js
SHA1 ab27c130ce49175526943d0ca34d6f7a1197a630 t/00-load.t
SHA1 6387af7a5fde0747be5bc9ad2ec15ca9759bd95a t/pod.t
SHA1 9115f7ffe1933ad736dc292f3c89595b36ed6aa2 t/pod_coverage.t
SHA1 ac64598a7c17b09028399364547a0907a3685af7 t/psgi.t
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (Darwin)
Comment: GPGTools - http://gpgtools.org
iEYEARECAAYFAk/DvT0ACgkQhPK6VMqoyC2gdwCgnKroyD71azSsqvSvft+Ni4/4
g40An08yt6tesuL33sanBQ+hXvMKp9De
=6khr
-----END PGP SIGNATURE-----
RDF-Endpoint-0.05/t/ 000755 000765 000024 00000000000 11760736475 015074 5 ustar 00samofool staff 000000 000000 RDF-Endpoint-0.05/t/00-load.t 000755 000765 000024 00000000222 11417373145 016402 0 ustar 00samofool staff 000000 000000 #!perl
use Test::More tests => 1;
BEGIN {
use_ok( 'RDF::Endpoint' );
}
diag( "Testing RDF::Endpoint $RDF::Endpoint::VERSION, Perl $], $^X" );
RDF-Endpoint-0.05/t/pod.t 000644 000765 000024 00000000233 11412402225 016012 0 ustar 00samofool staff 000000 000000 use strict;
use warnings;
use Test::More;
eval "use Test::Pod 1.14";
plan skip_all => "Test::Pod 1.14 required for testing POD" if $@;
all_pod_files_ok();
RDF-Endpoint-0.05/t/pod_coverage.t 000644 000765 000024 00000000273 11412402225 017671 0 ustar 00samofool staff 000000 000000 use strict;
use warnings;
use Test::More;
eval "use Test::Pod::Coverage 1.04";
plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@;
all_pod_coverage_ok();
RDF-Endpoint-0.05/t/psgi.t 000755 000765 000024 00000010770 11760022650 016212 0 ustar 00samofool staff 000000 000000 #!perl
use strict;
use warnings;
use Test::More;
use URI::QueryParam;
use URI::Escape;
use LWP::UserAgent;
use HTTP::Request::Common;
use Test::WWW::Mechanize::PSGI;
use RDF::Endpoint;
use RDF::Trine qw(iri);
use RDF::Trine::Namespace;
my $sd = RDF::Trine::Namespace->new('http://www.w3.org/ns/sparql-service-description#');
my $config = {
endpoint => {
endpoint_path => '/',
update => 1,
load_data => 1,
html => {
resource_links => 1, # turn resources into links in HTML query result pages
embed_images => 0, # display foaf:Images as images in HTML query result pages
image_width => 200, # with 'embed_images', scale images to this width
},
service_description => {
default => 1, # generate dataset description of the default graph
named_graphs => 1, # generate dataset description of the available named graphs
},
},
};
my $model = RDF::Trine::Model->new();
my $end = RDF::Endpoint->new( $model, $config );
my $mech = Test::WWW::Mechanize::PSGI->new(
app => sub {
my $env = shift;
my $req = Plack::Request->new($env);
my $resp = $end->run( $req );
return $resp->finalize;
},
);
{
$mech->get_ok('/');
is( $mech->ct, 'text/html', 'main page text/html' );
$mech->content_lacks('xmlns:http://www.w3.org/1999/02/22-rdf-syntax-ns#="rdf"', 'No broken NS declaration');
$mech->content_contains('xmlns:sd="http://www.w3.org/ns/sparql-service-description#"', 'Correct service description NS declaration');
}
{
$mech->get_ok('/', { Accept => 'application/rdf+xml' });
is( $mech->ct, 'application/rdf+xml', 'RDF/XML service description' );
my $sd_content = $mech->content;
my $sdmodel = RDF::Trine::Model->new();
my $e = 'http://endpoint.local/';
RDF::Trine::Parser::RDFXML->parse_into_model( $e, $sd_content, $sdmodel );
ok( $sdmodel->size, 'parsed triples' );
my @st = $sdmodel->get_statements( iri($e), $sd->url, undef );
cmp_ok( scalar(@st), '>', 0, 'expected sd:url triple' );
}
{
my $query = "select * where {}";
my $uri = '/?query=' . uri_escape($query);
$mech->get_ok($uri, {Accept => 'application/sparql-results+xml'}, 'got success from empty query');
is( $mech->ct, 'application/sparql-results+xml', 'SRX media type' );
my $content = $mech->content;
my $i = RDF::Trine::Iterator->from_string( $content );
isa_ok( $i, 'RDF::Trine::Iterator::Bindings' );
my $iter = $i->materialize;
is( $iter->length, 1, 'expected result count' );
}
my $before = $model->size;
{
my $update = 'PREFIX : INSERT DATA { :rdf_endpoint_test :p "FoooooBAR", 1, _:a }';
my $resp = $mech->post_ok('/', { update => $update }, 'got success from insert POST' );
}
my $after = $model->size;
is( ($after - $before), 3, 'expected model size after INSERT' );
{
my $query = 'PREFIX : SELECT ?o WHERE { :rdf_endpoint_test :p ?o }';
my $uri = '/?query=' . uri_escape($query);
$mech->get_ok($uri, {Accept => 'application/sparql-results+xml'}, 'got success from query GET');
my $content = $mech->content;
my $iter = RDF::Trine::Iterator->from_string( $content );
my @values;
while (my $r = $iter->next) {
my $o = $r->{o};
if ($o->isa('RDF::Trine::Node::Blank')) {
push(@values, '_');
} else {
push(@values, $o->value);
}
}
is_deeply( [sort @values], [qw(1 FoooooBAR _)], 'expected values after INSERT' );
}
{
my $query = 'PREFIX : SELECT * WHERE { ?s ?p ?o }';
$mech->get_ok("/", "Returns 200");
$mech->title_like(qr/SPARQL/, "Title contains the word SPARQL");
$mech->submit_form_ok( {
form_id => 'queryform',
fields => {
query => $query,
'media-type' => 'text/html'
},
}, 'Submitting SELECT query.'
);
$mech->title_like(qr/SPARQL/, "Title contains the word SPARQL");
$mech->has_tag('textarea', $query, 'Query is in a textarea in the response');
$mech->has_tag('td', 'FoooooBAR', 'Literal string is in the response');
}
{
my $update = 'PREFIX : DELETE { :rdf_endpoint_test :p ?o } WHERE { :rdf_endpoint_test ?p ?o }';
my $resp = $mech->post_ok('/', { update => $update }, 'got success from delete POST' );
}
{
my $query = 'PREFIX : SELECT ?o WHERE { :rdf_endpoint_test ?p ?o }';
my $uri = '/?query=' . uri_escape($query);
$mech->get_ok($uri, {Accept => 'application/sparql-results+xml'}, 'got success from query GET');
my $content = $mech->content;
my $iter = RDF::Trine::Iterator->from_string( $content );
my $count = 0;
while (my $r = $iter->next) {
$count++;
}
is( $count, 0, 'expected count after delete' );
}
done_testing();
RDF-Endpoint-0.05/share/index.html 000644 000765 000024 00000002660 11647605574 017733 0 ustar 00samofool staff 000000 000000
SPARQL
RDF-Endpoint-0.05/share/results.html 000644 000765 000024 00000001432 11712064116 020301 0 ustar 00samofool staff 000000 000000
SPARQL Results