承接 queryr/term-store 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

queryr/term-store

最新稳定版本:1.3.0

Composer 安装命令:

composer require queryr/term-store

包简介

Persistence of Wikibase terms with lookups of those terms and by those terms

README 文档

README

Build Status Scrutinizer Code Quality Code Coverage Latest Stable Version Download count

Stores terms of Wikibase entities to facilitate

  • lookup of EntityIds given a term
  • lookup of term(s) given an EntityId
  • storing a Fingerprint for an EntityId
  • removing all terms associated with an EntityId

System dependencies

  • PHP 5.5 or later (PHP 7 and HHVM are supported)
  • php5-sqlite (only needed for running the tests)

Installation

To add this package as a local, per-project dependency to your project, simply add a dependency on queryr/term-store to your project's composer.json file. Here is a minimal example of a composer.json file that just defines a dependency on TermStore 1.x:

{
    "require": {
        "queryr/term-store": "~1.0"
    }
}

Usage

If you are curious what the database schema is, look at src/TermStoreInstaller.php.

All services are constructed via the TermStoreFactory class:

use Queryr\TermStore\TermStoreFactory;
$factory = new TermStoreFactory(
	$dbalConnection,
	new TermStoreConfig( /* optional config */ )
);

$dbalConnection is a Connection object from Doctrine DBAL.

Writing to the store

$writer = $factory->newTermStoreWriter();

$writer->storeEntityFingerprint( $entityId, $fingerprint );
$writer->dropTermsForId( $entityId );

Lookup up an EntityId based on terms

$idLookup = $factory->newEntityIdLookup();

$idLookup->getItemIdByLabel( $languageCode, $labelText );
$idLookup->getItemIdByText( $languageCode, $termText );
$idLookup->getIdByLabel( $languageCode, $labelText );

See the EntityIdLookup interface for all methods and their documentation.

Lookup label based on EntityId and language

$labelLookup = $factory->newLabelLookup();
$labelLookup->getLabelByIdAndLanguage( $entityId, $languageCode );

See the LabelLookup interface for documentation.

Running the tests

For tests only

composer test

For style checks only

composer cs

For a full CI run

composer ci

Release notes

Version 1.3.0 (2018-01-04)

  • Bumped minimum PHP version to 7.1
  • Added scalar and return type hints

Version 1.2.0 (2017-02-28)

  • Installation with Wikibase DataModel 6.x is now allowed
  • Installation with Wikibase DataModel 5.x is now allowed

Version 1.1.0 (2015-11-10)

  • Added newLabelLookup to TermStoreFactory
  • Improved documentation

Version 1.0.0 (2015-11-03)

  • Installation with Wikibase DataModel 4.x is now allowed
  • Installation with Wikibase DataModel 3.x is now allowed
  • Changed minimum Wikibase DataModel version to 2.5
  • Added ci command that runs PHPUnit, PHPCS, PHPMD and covers tags validation
  • Added TravisCI and ScrutinizerCI integration

Version 0.2.2 (2014-10-21)

  • Installation with Wikibase DataModel 2.x is now allowed

Version 0.2.1 (2014-10-05)

  • Improved performance of TermStore::storeEntityFingerprint via usage of a transaction

Version 0.2 (2014-09-11)

  • Added TermStoreFactory. Service construction should now happen via this factory
  • Added EntityIdLookup, which is now implemented by TermStore
  • Added getItemIdByLabel, getPropertyIdByLabel, getItemIdByText and getPropertyIdByText to TermStore

Version 0.1 (2014-06-23)

  • Initial release

统计信息

  • 总下载量: 349
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0
  • 更新时间: 2015-11-03