PHPackages                             dbym4820/hozophp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. dbym4820/hozophp

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

dbym4820/hozophp
================

HozoPHP is a ontology data management library for treat hozo-formed ontology

v1.2.0(3y ago)012MITPHPPHP &gt;=7.3.0CI failing

Since Oct 18Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/dbym4820/hozophp)[ Packagist](https://packagist.org/packages/dbym4820/hozophp)[ Docs](https://github.com/dbym4820/hozophp)[ RSS](/packages/dbym4820-hozophp/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (6)Used By (0)

HozoPHP：PHP用の法造オントロジーのデータ操作ライブラリ
================================

[](#hozophpphp用の法造オントロジーのデータ操作ライブラリ)

アップロードした法造形式オントロジーのデータをPHPで処理するためのライブラリ． オントロジーの修正・ファイルの変更に柔軟に対応できるよう設計したもの．

[APIのデモンストレーション](https://dbym4820.org/hozophp/)

Installation
------------

[](#installation)

### 環境構築

[](#環境構築)

#### Composerのインストール

[](#composerのインストール)

- Composer公式：
- Windows：[ダウンローダ(Composer-Setup.ext)](https://getcomposer.org/Composer-Setup.exe)からインストール
- macOS

```
~$ brew install composer

```

#### ライブラリのインストール

[](#ライブラリのインストール)

```
~$ composer require dbym4820/hozophp

```

#### オントロジーのアップロード・バージョン管理

[](#オントロジーのアップロードバージョン管理)

プロジェクトの任意の場所に法造のオントロジーファイル（XML）をアップ．

以下では，プロジェクトが

```
── project-root/
  ├── index.php
  └── ontology/
	  └──  20220916-sample.xml

```

というディレクトリ構造になっていて，index.phpの中で呼び出す前提で解説．

### プロジェクトへの導入

[](#プロジェクトへの導入)

#### 方法１：コンストラクタでオントロジーを設定

[](#方法１コンストラクタでオントロジーを設定)

```
require_once('./vendor/autoload.php'); // autoloaderの読み込み
use HozoPHP\OntologyManager; // 名前空間の使用宣言

$ontology = new OntologyManager(__DIR__."/ontology/", "20220916-sample.xml"); // 初期設定の反映とインスタンス化

```

もちろん，useせずに， new HozoPHP\\OntologyManager("/ontology/", "20220916-sample.xml") としても別にいい

#### 方法２：個別に設定

[](#方法２個別に設定)

```
require_once('./vendor/autoload.php'); // autoloaderの読み込み
use HozoPHP\OntologyManager; // 名前空間の使用宣言

$ontology = new OntologyManager(); // インスタンス化
$ontology->setOntologyDirectory(__DIR__."/ontology/"); // オントロジーのディレクトリを指定
$ontology->setOntology("20220916-sample.xml"); // 自分のオントロジーの指定
$ontology->treatOntology(); // オントロジーをPHPオブジェクト化

```

#### 方法３：オントロジーのXML文字列を渡してパージング

[](#方法３オントロジーのxml文字列を渡してパージング)

```
require_once('./vendor/autoload.php'); // autoloaderの読み込み
use HozoPHP\OntologyManager; // 名前空間の使用宣言

$ontology = new OntologyManager(); // インスタンス化
$ontology->treatOntologyString("オントロジーのXML文字列"); // 文字列を入力してオントロジーを変換

```

#### 方法４：URLを指定してオントロジーのXML文字列を取得してパージング

[](#方法４urlを指定してオントロジーのxml文字列を取得してパージング)

```
require_once('./vendor/autoload.php'); // autoloaderの読み込み
use HozoPHP\OntologyManager; // 名前空間の使用宣言

$ontology = new OntologyManager(); // インスタンス化
$ontology->treatRemoteOntologyString("https://"); // 文字列を入力してオントロジーを変換(外部のサーバーを参照)

$ontology->treatRemoteOntologyString("./"); // 文字列を入力してオントロジーを変換(自分のプロジェクトでホストしているサーバーを参照)

```

### 使用例

[](#使用例)

```
require_once('./vendor/autoload.php'); // autoloaderの読み込み
use HozoPHP\OntologyManager; // 名前空間の使用宣言
$ontology = new OntologyManager(__DIR__."/ontology/", "20220916-sample.xml"); // 初期設定の反映とインスタンス化
$result_array = $ontology->getAllConcepts(); //処理の実行(全概念の取得)
$ontology->showJson($result_array); // 結果のArrayをJSONとして表示

```

詳細な使用例は，本プロジェクトの[index.php](./index.php)を参照のこと．

提供メソッド一覧
--------

[](#提供メソッド一覧)

### ユーティリティ

[](#ユーティリティ)

#### 表示ユーティリティ

[](#表示ユーティリティ)

- XMLファイルをテキストとして表示（ファイルをコンバートしている場合）

```
$ontology->showXMLFile();

```

- XMLファイルをテキストとして表示(treatOntologyStringかtreatRemoteOntologyStringを使用して文字列をコンバートしている場合)

```
$ontology->showXMLString();

```

- XMLを変換したJSONオブジェクトを表示

```
$ontology->showJson();

```

### 基本概念の取得

[](#基本概念の取得)

- 全基本概念の一覧

```
$result = $ontology->getAllConcepts();

```

- 特定のIDを持つ基本概念

```
$result = $ontology->getConceptInfoFromID('基本概念ID');

```

- 特定のラベルを持つ基本概念

```
$result = $ontology->getConceptInfoFromLabel('基本概念ラベル');

```

- 特定のIDのを持つ基本概念の親概念

```
$result = $ontology->getParentConcept('基本概念ID');

```

- 特定のIDのを持つ基本概念の子概念一覧

```
$result = $ontology->getChildrenConcepts('基本概念ID');

```

- 特定のIDのを持つ基本概念の祖先概念

```
$result = $ontology->getAncestorConcepts('基本概念ID');

```

- 特定のIDのを持つ基本概念の子孫概念一覧

```
$result = $ontology->getDescendantConcepts('基本概念ID');

```

### 部分概念の取得

[](#部分概念の取得)

- 特定の基本概念に付随する部分概念・属性概念の一覧

```
$result = $ontology->getPartOfConceptInfo('基本概念ID');

```

- 特定の基本概念に付随する部分概念・属性概念（祖先のものも含む）一覧

```
$result = $ontology->getAncestorSubConcepts('基本概念ID');

```

- 特定のIDを持つ部分概念

### インスタンス概念の取得

[](#インスタンス概念の取得)

- 全インスタンスの一覧

```
$result = $ontology->getAllInstance()

```

- 特定の部分概念を持つインスタンスの一覧

```
$result = $ontology->getAllInstanceWhichHasSpecificPartInput(..........)

```

### 関係概念の取得

[](#関係概念の取得)

- IS-A関係の一覧

```
$result = $ontology->getISARelationshipList();

```

- その他

概念の構造
-----

[](#概念の構造)

### 基本概念／インスタンス概念

[](#基本概念インスタンス概念)

```
[
  'id' => '概念ID（string）',
  'label' => '概念ラベル（string）',
  'instantiation' => 'インスタンスか否か（string："true"か"false"）',
  'sub_concept' => [
      [
		  'id' => '部分・属性概念のID（string）',
		  'kind' => '部分概念か属性概念か（string："p/o"か"a/o"）,
		  'cardinality' => '個数制約（string）',
		  'role' => 'ロール概念名（string）',
		  'class_constraint' => 'クラス制約概念ラベル（string）',
		  'role_holder' => 'ロールホルダー名（string）',
		  'value' => '値（string）',
		  'sub_concept' =>
			  [
			    // ＊以下同形（部分概念の部分概念があれば）
			  ]
	  ]
	  // ＊以下同形（他の部分概念があれば）
	]
]

```

依存ライブラリ・対応システムなど
----------------

[](#依存ライブラリ対応システムなど)

- PHP（&gt;=7.3）
- [Composer](https://getcomposer.org/)（&gt;=2）
- [法造(https://hozo.jp/index\_jp.html)](https://hozo.jp/index_jp.html)（5.7）

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance49

Moderate activity, may be stable

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~28 days

Total

5

Last Release

1188d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5c150499278941e81788a8f80b0b49506e043a8405534c20ba4f2d044ccb646c?d=identicon)[dbym4820](/maintainers/dbym4820)

---

Top Contributors

[![dbym4820](https://avatars.githubusercontent.com/u/15119678?v=4)](https://github.com/dbym4820 "dbym4820 (26 commits)")

---

Tags

xmlontologyhozo

### Embed Badge

![Health badge](/badges/dbym4820-hozophp/health.svg)

```
[![Health](https://phpackages.com/badges/dbym4820-hozophp/health.svg)](https://phpackages.com/packages/dbym4820-hozophp)
```

###  Alternatives

[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M229](/packages/masterminds-html5)[jms/serializer

Library for (de-)serializing data of any complexity; supports XML, and JSON.

2.3k135.8M851](/packages/jms-serializer)[jms/metadata

Class/method/property metadata management in PHP

1.8k152.8M88](/packages/jms-metadata)[jms/serializer-bundle

Allows you to easily serialize, and deserialize data of any complexity

1.8k89.3M627](/packages/jms-serializer-bundle)[sabre/xml

sabre/xml is an XML library that you may not hate.

52832.2M131](/packages/sabre-xml)[presta/sitemap-bundle

A Symfony bundle that provides tools to build your application sitemap.

3929.4M28](/packages/presta-sitemap-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
