PHPackages                             olcaytaner/annotatedsentence - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. olcaytaner/annotatedsentence

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

olcaytaner/annotatedsentence
============================

Turkish Annotated Sentence library

1.0.9(1mo ago)0283GPL-3.0-or-laterPHP

Since Oct 7Pushed 1mo agoCompare

[ Source](https://github.com/StarlangSoftware/AnnotatedSentence-Php)[ Packagist](https://packagist.org/packages/olcaytaner/annotatedsentence)[ RSS](/packages/olcaytaner-annotatedsentence/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (33)Versions (11)Used By (3)

This resource allows for matching of Turkish words or expressions with their corresponding entries within the Turkish dictionary, the Turkish PropBank TRopBank, morphological analysis, named entity recognition, word senses from Turkish WordNet KeNet, shallow parsing, and universal dependency relation.

Data Format
-----------

[](#data-format)

The structure of a sample annotated word is as follows:

```
{turkish=Gelir}
{morphologicalAnalysis=gelir+NOUN+A3SG+PNON+NOM}
{metaMorphemes=gelir}
{semantics=TUR10-0289950}
{namedEntity=NONE}
{propbank=ARG0$TUR10-0798130}
{shallowParse=ÖZNE}
{universalDependency=10$NSUBJ}

```

As is self-explanatory, 'turkish' tag shows the original Turkish word; 'morphologicalAnalysis' tag shows the correct morphological parse of that word; 'semantics' tag shows the ID of the correct sense of that word; 'namedEntity' tag shows the named entity tag of that word; 'shallowParse' tag shows the semantic role of that word; 'universalDependency' tag shows the index of the head word and the universal dependency for this word; 'propbank' tag shows the semantic role of that word for the verb synset id (frame id in the frame file) which is also given in that tag.

For Developers
==============

[](#for-developers)

You can also see [Python](https://github.com/starlangsoftware/AnnotatedSentence-Py), [Cython](https://github.com/starlangsoftware/AnnotatedSentence-Cy), [Java](https://github.com/starlangsoftware/AnnotatedSentence), [C](https://github.com/starlangsoftware/AnnotatedSentence-C), [C++](https://github.com/starlangsoftware/AnnotatedSentence-CPP), [Swift](https://github.com/starlangsoftware/AnnotatedSentence-Swift), [Js](https://github.com/starlangsoftware/AnnotatedSentence-Js), or [C#](https://github.com/starlangsoftware/AnnotatedSentence-CS) repository.

Requirements
------------

[](#requirements)

- [Php 8.4 or higher](#php)
- [Git](#git)

### Php

[](#php)

To check if you have a compatible version of Php installed, use the following command:

```
php -V

```

You can find the latest version of Php [here](https://www.php.net/downloads/).

### Git

[](#git)

Install the [latest version of Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).

Download Code
-------------

[](#download-code)

In order to work on code, create a fork from GitHub page. Use Git for cloning the code to your local or below line for Ubuntu:

```
git clone

```

A directory called AnnotatedSentence will be created. Or you can use below link for exploring the code:

```
git clone https://github.com/starlangsoftware/AnnotatedSentence-Php.git

```

Open project with PhpStorm IDE
------------------------------

[](#open-project-with-phpstorm-ide)

Steps for opening the cloned project:

- Start IDE
- Select **File | Open** from main menu
- Choose `AnnotatedSentence-Php` file
- Select open as project option
- Couple of seconds, dependencies will be downloaded.

For Contibutors
===============

[](#for-contibutors)

### composer.json file

[](#composerjson-file)

1. autoload is important when this package will be imported.

```
  "autoload": {
    "psr-4": {
      "olcaytaner\\WordNet\\": "src/"
    }
  },

```

2. Dependencies should be maximum (not only direct but also indirect references should also be given), everything directly in the code should be given here.

```
  "require-dev": {
    "phpunit/phpunit": "11.4.0",
    "olcaytaner/dictionary": "1.0.0",
    "olcaytaner/xmlparser": "1.0.1",
    "olcaytaner/morphologicalanalysis": "1.0.0"
  }

```

### Data files

[](#data-files)

1. Add data files to the project folder. Subprojects should include all data files of the parent projects.

### Php files

[](#php-files)

1. Do not forget to comment each function.

```
    /**
     * Returns true if specified semantic relation type presents in the relations list.
     *
     * @param SemanticRelationType $relationType element whose presence in the list is to be tested
     * @return bool true if specified semantic relation type presents in the relations list
     */
    public function containsRelationType(SemanticRelationType $relationType): bool{
        foreach ($this->relations as $relation){
            if ($relation instanceof SematicRelation && $relation->getRelationType() == $relationType){
                return true;
            }
        }
        return false;
    }

```

2. Function names should follow caml case.

```
    public function getRelation(int $index): Relation{

```

3. Write getter and setter methods.

```
    public function getOrigin(): ?string
    public function setName(string $name): void

```

4. Use standard javascript test style by extending the TestCase class. Use setup when necessary.

```
class WordNetTest extends TestCase
{
    private WordNet $turkish;

    protected function setUp(): void
    {
        ini_set('memory_limit', '450M');
        $this->turkish = new WordNet();
    }

    public function testSize()
    {
        $this->assertEquals(78327, $this->turkish->size());
    }

```

5. Enumerated types should be declared with enum.

```
enum CategoryType
{
    case MATHEMATICS;
    case SPORT;
    case MUSIC;
    case SLANG;
    case BOTANIC;

```

6. If there are multiple constructors for a class, define them as constructor1, constructor2, ..., then from the original constructor call these methods.

```
    public function constructor1(string $path, string $fileName): void
    public function constructor2(string $path, string $extension, int $index): void
    public function __construct(string $path, string $extension, ?int $index = null)

```

7. Use \_\_toString method if necessary to create strings from objects.

```
    public function __toString(): string

```

8. Use xmlparser package for parsing xml files.

```
  $doc = new XmlDocument("../test.xml");
  $doc->parse();
  $root = $doc->getFirstChild();
  $firstChild = $root->getFirstChild();

```

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance89

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity42

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 ~23 days

Recently: every ~50 days

Total

10

Last Release

55d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8903e2f2ee6f2b7849f720cf76786a074796f23ac27e12bde3036de5ca12de3f?d=identicon)[olcaytaner](/maintainers/olcaytaner)

---

Top Contributors

[![olcaytaner](https://avatars.githubusercontent.com/u/39756553?v=4)](https://github.com/olcaytaner "olcaytaner (6 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/olcaytaner-annotatedsentence/health.svg)

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

###  Alternatives

[parallax/filament-comments

Add comments to your Filament Resources.

135263.9k2](/packages/parallax-filament-comments)[daacreators/creators-ticketing

A robust and dynamic ticketing system for Filament

293.8k](/packages/daacreators-creators-ticketing)

PHPackages © 2026

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