Skip to content
This repository has been archived by the owner on Aug 5, 2020. It is now read-only.

Releases: SaftIng/Saft

0.9.1

11 May 16:17
Compare
Choose a tag to compare

Small bugfix for CommonNamespaces (shortenUri).

0.9.0.2

08 May 06:15
Compare
Choose a tag to compare

Mostly Travis adaptions, small refinements and bug fixes.

0.9

04 May 16:40
Compare
Choose a tag to compare
0.9

Important: This is a maintenance and stabilization release. We stabilized some parts, cleaned some others. The basement of Saft became quite stable. It has also a good test coverage. But some depending parts can't be maintained and developed further because of our limited time. With this release we wanted to slim down Saft, to what it is supposed to be: a stable RDF library to handle RDF data. Some additions and components are gone, because of limited use for us as well as not being in a useful state.

Therefore, we broke backward compatibility for some parts! Please have a look in the following.

So, if you guys use stuff, we killed (recently) just open an issue and tell us about it. We are fully open for critics and suggestions and if we see, someone needs certain parts of Saft, we might able to support it.

Discussions about release 0.9.0 can be found in issue #87.

Highlights

  • minimum PHP version is 5.6
  • removed Saft/Addtion/Rest and Saft/Skeleton
  • improved stability: added further test cases, fixed minor bugs
  • added Travis support for some package (removed Travis support for Saft itself, because each package has its own test environment)

API breaking changes

Removed

  • removed Saft/Data/SerializerFactoryImpl.php (because it had no real implementation)
  • removed Saft/Addition/Rest (because its not complete, not maintained and not in use by us.)
  • removed Saft/Skeleton (parts will be moved into a separate repository)

Changed

  • IMPORTANT: changed all classes which need NodeUtils, SparqlUtils or QueryUtils - mostly __construct()
    • classes NodeUtils, SparqlUtils or QueryUtils remain for now but were marked deprecated and will soon be removed
  • QueryUtils::getQueryType made non-static

composer

  • Minimum PHP version set to 5.6
  • removed packages (e.g. obsolete ones due removal of Skeleton, and some for code quality)
  • all Saft packages require other Saft packages in version >= 0.9

Marked deprecated

  • BasicTriplePatternStore
  • Saft/Rdf/NodeUtils
  • Saft/Sparql/Query/QueryUtils
  • Saft/Sparql/SparqlUtils

Changes (backward compatible)

Addition/ARC2

  • changed private properties of ARC2 to protected

Addition/Virtuoso

  • changed private properties of Virtuoso to protected

0.8.1

15 Apr 11:04
Compare
Choose a tag to compare

General

Bugfixes and some small new features.

Important Notice

We deprecated:

  • Saft/Skeleton (will be moved to separate repository)
  • Saft/Addition/Rest

Also important:

  • we will make each component, like Saft/Rdf, stand-alone with own PHPUnit configuration etc.

0.8

20 Oct 07:14
Compare
Choose a tag to compare
0.8

About the release

In this release new features were added but also a massive restructuring took place. In some classes we used new-calls instead of given the instance through the constructor. Therefore dependency injection was not fully implemented. We corrected that mistake with this release. The changed files are listed below.

Minimum PHP version change

Version 0.8 needs at least PHP 5.4. Before some parts needed PHP 5.3 some PHP 5.4. To be more consistent with our vendors, we increased the version.

Broke backward compatibility

Addition/ARC2/Store/ARC2

  • __construct has new parameter order:
    • NodeFactory $nodeFactory,
    • StatementFactory $statementFactory,
    • QueryFactory $queryFactory,
    • ResultFactory $resultFactory,
    • StatementIteratorFactory $statementIteratorFactory,
    • NodeUtils $nodeUtils,
    • NodeRecognitionUtils $nodeRecognitionUtils,
    • QueryUtils $queryUtils,
    • SparqlUtils $sparqlUtils,
    • array $configuration

Addition/EasyRdf/Data/ParserEasyRdf

  • new parameter order in __construct:
    • NodeFactory $nodeFactory,
    • StatementFactory $statementFactory,
    • StatementIteratorFactory $statementIteratorFactory,
    • NodeUtils $noteUtils,
    • $serialization

Addition/HttpStore/Store/Http

  • new parameter order in __construct:
    • NodeFactory $nodeFactory,
    • StatementFactory $statementFactory,
    • QueryFactory $queryFactory,
    • ResultFactory $resultFactory,
    • StatementIteratorFactory $statementIteratorFactory,
    • NodeUtils $nodeUtils,
    • array $configuration

Addition/Redland/Rdf/NodeFactory

  • added NodeUtils to __construct parameter list

Addition/Virtuoso/Store/Virtuoso

  • added parameter NodeUtils $nodeUtils and QueryUtils $queryUtils before $configuration parameter

Rdf

AbstractLiteral

  • added NodeRecognitionUtils $nodeRecognitionUtils to __construct

LiteralImpl

  • __construct has new parameter order:
    • NodeRecognitionUtils $nodeRecognitionUtils
    • $value,
    • NamedNode $datatype = null,
    • $lang = null

NamedNodeImpl

  • new parameter order for __construct:
    • NodeUtils $nodeUtils
    • $uri

NodeUtils

  • constructor now wants two parameters:
    • NodeFactory $nodeFactory
    • NodeRecognitionUtils $nodeRecognitionUtils
  • createNodeInstance has lost one parameter: $nodeFactory

Skeleton

../Data/ParserFactory

  • added parameter $parserSerializerUtils to __construct

../DependencyInjection/ContainerDice

  • added parameter NodeFactory $nodeFactory to __contruct

../Store/Importer

  • added ParserFactory $parserFactory as second parameter
  • removed FileImporter class

Sparql/Query

AbstractQuery

  • added one parameter to __construct: one instance of NodeUtils

AskQueryImpl, ConstructQueryImpl, DescribeQueryImpl, GraphQueryImpl, SelectQueryImpl and UpdateQueryImpl

  • because of the changes in AbstractQuery, all this classes need an additional parameter NodeUtils in __construct

QueryFactoryImpl

  • __construct has now 2 parameters:
    • NodeUtils $nodeUtils
    • QueryUtils $queryUtils

Sparql/SparqlUtils

  • __construct has now StatementIteratorFactory $statementIteratorFactory as parameter

Store/AbstractSparqlStore

  • added SparqlUtils $sparqlUtils as parameter to __construct

Changes

composer.json files

  • changed all composer.json files to:
    • require PHP 5.4
    • require Saft packages with version 0.8 or higher

Rdf/NodeUtils

  • simpleCheckURI now uses a more liberal algorithm to check a given URI

Skeleton/Data/ParserFactory

  • does implements ParserFactory interface from now on

Test/TestCase

  • added parameter $debug to assertStatementIteratorEquals: setting it to true will output detailed information in case an error occur

Added

  • added class NQuadsParser to parse n-triples and n-quads
  • added class RDFXMLParser to parse RDF/XML

0.7

11 Oct 15:08
Compare
Choose a tag to compare
0.7

New features

SPARQL endpoint

We added a SPARQL endpoint implementation, which is based on the SPARQL 1.1 protocol. Not all features of a typical endpoint are implemented yet, but we are working hard to finish that in the future.

Bugfixes and new features

  • improved overall handling of SPARQL queries

ARC2

  • removing all triples after a dropGraph call (#72, also removing according table content)
  • fixed DELETE FROM WHERE query handling - before the fix, only one triple got removed, now all get removed.
  • new: support for INSERT DATA queries (see SPARQL+ section for more information)
  • new: support for DELETE DATA queries (see SPARQL+ section for more information)

BasicTriplePatternStore

  • fixed hasMatchingStatements: should handle URI and pattern the right way

SerializerEasyRdf

  • correct handling of BlankNodes
  • literal values now come together with there type (e.g. xsd:string)

Deprecation warnings

FileImporter

We marked function getFileSerialization of Saft/Skeleton/Store/FileImporter.php deprecated. Please use getSerialization from now on.

NQuadsSerializerImpl

We marked Saft/Data/NQuadsSerializerImpl.php as deprecated, because it needs more refinement, but with EasyRDF a good alternative is already available. We leave the current version available, but we expect to remove it in one of the later releases. It wasn't part of the API before, but we wanted to give you guys a bit more heads-up.

SerializerFactoryImpl

Our SerializerFactoryImpl will not provide an instance of this class anymore! Furthermore, it will be marked deprecated too, because without the n-quads serializer it has no other purpose. Its function createSerializerFor will throw an exception when used.

Saft\Skeleton\Data\SerializerFactory

Class SerializerFactory adapted to not use SerializerFactoryImpl class anymore. It will only use SerializerFactoryEasyRdf from now on.

Broke backward compatibility in BasicTriplePatternStore

  • To fix an invalid state in Store/BasicTriplePatternStore.php, we changed its return value for some functions from ArrayStatementIteratorImpl.php to StatementSetResultImpl. This change reflects the fact, that the query function only returns an instance of Sparql\Result\Result.php.
  • I changed hasMatchingStatement to return only boolean and not a ValueResultImpl instance anymore. Sometimes it returned a ValueResultImpl instance which is forbidden due the function does only return boolean.

Extended API

ARC2

  • Added function getStore() to ARC2.php, which returns the current ARC2 instance
  • Added function getConnection() to ARC2.php, which returns the currently active connection to the database.
  • Changed visibility of getRowCount from protected to public

Saft/Sparql

  • Extended StatementSetResultImpl by implementing StatementIterator too (no adaptions should be necessary)

0.6.1

02 Aug 17:20
Compare
Choose a tag to compare

This release contains a lot of fixes to make sure, Saft runs on PHP 5.4, PHP 5.5, PHP 5.6, PHP 7.0, PHP nightly and HHVM, using Travis CI. We implemented additional checks in our tests to avoid errors if an extension is missing, for instance.

Therefore we needed to change some dependencies in the composer.json's:

  • version of zendframework/zend-cache reduced from 2.6.* to 2.5.1
  • version of slim/slim reduced from 3.2.* to 2.6.*

0.6

02 Aug 14:44
Compare
Choose a tag to compare
0.6

Feature release

We added the REST-implementation of the feature/rest-api branch. It provides an interface between a public HTTP-interface and a store. You can send requests with certain parameters (e.g. s, p, o) and it will send you results back. A request will result in a SPARQL query and its answer will be transformed and send back.

That way, you can provide an alternative interface for a SPARQL endpoint, not allowing the full spectrum of SPARQL to query your store.

0.5

02 Aug 13:22
Compare
Choose a tag to compare
0.5

Important changes

All packages

All packages require minimum PHP 5.3.3 and minimum PHPUnit 4.8 and minimum PHP Codesniffer 2.5. Setting PHPUnit to >=4.8 allows newer versions, if user wants it. If a Saft package needs another Saft package, it uses at least version 0.4.

Rapid/Blank

  • removed Saft/Rapid/Blank.php (was deprecated) - it was a test and is doesn't fit in Saft structure.

HTTP Store

  • removed Saft/Addition/HttpStore/Net/Client.php: It's purpose was to abstract the interaction between Saft's HTTP-Store and an underlying HTTP-library. We moved its functionality back to Http.php.
  • changed Saft/Addition/HttpStore/Store/Http.php:
    • added setClient function (needs to be called after instantiation)
    • change accessibility of method openConnection from protected to public; it needs to be called after you called setClient:
http = new Http(
    new NodeFactoryImpl(),
    new StatementFactoryImpl(),
    new QueryFactoryImpl(),
    new ResultFactoryImpl(),
    new StatementIteratorFactoryImpl(),
    $config
);
$http->setClient(new Curl()); // or a mock of Curl class
$http->openConnection();

QueryCache (our)

  • uses Zend/Cache instead of Nette/Caching* from now on
  • Changed requirements in composer.json:
    • minimum PHP version 5.3.3
    • zendframework/zend-cache 2.6.*
    • saft/saft-store >= 0.4
    • phpunit/phpunit >= 4.8 (to allow newer versions, if necessary)

0.4

01 Aug 10:40
Compare
Choose a tag to compare
0.4

This new minor release contains basically all files from Saft.skeleton. We moved them back to Saft repository. The jump from 0.2 to 0.4 was necessary, because Saft.skeleton is already on 0.3.

No major changes in the rest of the files.