定制 denason/wikimind 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

denason/wikimind

最新稳定版本:v1.0.1

Composer 安装命令:

composer require denason/wikimind

包简介

A powerful Laravel package for accessing structured knowledge from Wikidata. WikiMind helps you extract entities, properties, relationships, and metadata with intelligent query support. Ideal for building smart apps, auto-blogging systems, and AI-powered knowledge tools.

README 文档

README

🧠 A robust and developer-friendly Laravel package for querying Wikidata using SPARQL. With this package, you can seamlessly connect your Laravel application to Wikidata's vast and structured knowledge base, enabling access to entities, properties, and their relations in a programmatic and efficient manner.

Whether you're building educational tools, conducting data analysis, or enriching content with real-time knowledge, this package provides a fluent interface to fetch structured data directly from Wikidata.

Perfect for applications needing semantic data, linked entities, and flexible filters — with full Laravel

Say goodbye to raw API calls! With this package, you get full Laravel Facade support, smart query enhancements, and a streamlined interface for precise data retrieval.

Features

  • Retrieve entity data (labels, descriptions, properties, etc.) from Wikidata.
  • Fluent interface for constructing and executing SPARQL queries.
  • Multi-language support (English, Persian, French, etc.).
  • Efficient data filtering and advanced querying (supports DISTINCT queries).
  • Retrieve related entity labels and descriptions.
  • Easily integrate into your Laravel applications with Facade and Dependency Injection.

Requirements

  • PHP >= 8.0
  • Laravel >= 9.x

Installation

composer require denason/wikimind

Usage Examples

You can use the global wikiMindQuery() helper or dependency injection with the interface to access all features.

Using Helper :

$streetEntity = \Denason\Wikimind\Facades\Wikimind::getEntityId('street'); // Q79007

return wikiMindQuery()
    ->lang('fa')
    ->where('street', 'P31', $streetEntity)
    ->where('street', 'P17', 'Q794') // ایران
    ->select(['street', 'streetLabel'])
    ->filter('!BOUND(?place)')
    ->limit(50)
    ->get('collection');

Available Methods

All methods are accessible via the wikiMindQuery() helper or through dependency injection using the WikimindInterface.

Method Description
select() Specifies the variables to select in the query.
where() Adds conditions to the query (subject, predicate, object).
optional() Adds optional parts to the query.
filter() Adds a filter condition.
lang() Sets the language for the query (e.g., 'fa', 'en').
limit() Sets the number of results to return.
distinct() Ensures the results are distinct (removes duplicates).
orderBy() Specifies the variable and direction for ordering results.
get() Executes the query and returns the results in the specified format (e.g., 'array', 'collection').

Dependency Injection Example

Instead of using the global wikiMindQuery() helper, you can inject the WikimindInterface directly into your controller, service, or job.

This approach takes advantage of Laravel's service container to resolve the interface to its concrete implementation automatically.

  • Full support for Facades: You can use WikimindFacade for quick access to methods.

License

This package is open-sourced software licensed under the MIT license.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-11