onoi / remi
一个小型库,用于从选定的元数据提供者中挖掘(解析)REST响应
0.4.0
2017-05-13 02:25 UTC
Requires
- php: >=5.3.2
- onoi/http-request: ~1.1
Requires (Dev)
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2024-08-29 04:09:04 UTC
README
这个库旨在从REST/Http元数据提供者响应中生成一个过滤后的记录(挖掘REST响应,即remi
)。代码库曾是Semantic Cite的一部分,现在作为一个独立的库被部署。支持的提供者包括
- CrossRef (DOI)
- VIAF
- PubMed (PMID和PMCID)
- OCLC (WorldCat)
- OpenLibrary (OLID, ISBN)
要求
PHP 5.3 / HHVM 3.5 或更高版本
安装
为此库推荐的安装方法是将其依赖项添加到您的composer.json文件中。
{ "require": { "onoi/remi": "~0.4" } }
使用
use Onoi\HttpRequest\HttpRequestFactory; use Onoi\Remi\FilteredHttpResponseParserFactory; $httpRequestFactory = new HttpRequestFactory() $filteredHttpResponseParserFactory = new FilteredHttpResponseParserFactory( $httpRequestFactory->newCurlRequest() );
$crossRefFilteredHttpResponseParser = $filteredHttpResponseParserFactory->newCrossRefFilteredHttpResponseParser( new FilteredRecord() ) $crossRefFilteredHttpResponseParser->doFilterResponseById( '10.1126/science.1152662' );
$filteredRecord = new FilteredRecord(); $filteredRecord->setRedactedFields( array( 'pages', 'abstract' ) ); $pubMedFilteredHttpResponseParser = $filteredHttpResponseParserFactory->newNcbiPubMedFilteredHttpResponseParser( $filteredRecord ) $pubMedFilteredHttpResponseParser->doFilterResponseById( '19782018' );
FilteredHttpResponseParser
(实现ResponseParser
接口)返回从REST响应中过滤出的简单数组
。FilteredHttpResponseParser::doFilterResponseById
不期望对请求的响应进行任何输入验证(就格式或范围而言),因此实现类负责进行适当的验证过程。- 可以使用
FilteredRecord::setRedactedFields
从记录中删除所选字段。 - 还可以调用一个
CachedCurlRequest
以避免重复请求相同的REST API URL。
贡献和支持
如果您想为此项目贡献工作,请订阅开发人员邮件列表,并查看贡献指南。过去做出贡献的人的名单可以在这里找到。
测试
该库提供单元测试,覆盖了通常由持续集成平台运行的内核功能。也可以使用composer phpunit
命令从根目录手动执行测试。
发行说明
- 0.4.0 (2017-05-13)
- 将Ncbi资源的HTTP更改为HTTPS
- 0.3.0 (2016-09-21)
- 添加了一些额外的字段
- 0.2.0 (2015-09-25)
- 将
ResponseParser
接口更改为澄清方法名称
- 将
- 0.1.0 (2015-08-03) 首次发布
- 添加了
ResponseParser
接口 - 添加了
FilteredHttpResponseParserFactory
,以提供对CrossRef、VIAF、PubMed、OCLC和OpenLibrary REST API的访问
- 添加了