Mirror of the Rel4tion website/wiki source, view at <http://rel4tion.org>

[[ 🗃 ^yEzqv rel4tion-wiki ]] :: [📥 Inbox] [📤 Outbox] [🐤 Followers] [🤝 Collaborators] [🛠 Commits]

Clone

HTTPS: git clone https://vervis.peers.community/repos/yEzqv

SSH: git clone USERNAME@vervis.peers.community:yEzqv

Branches

Tags

master :: projects / kiwi / data / idan-files /

todo.idan

{- todo.idan - task vocabulary
 -
 - Written in 2015 by fr33domlover <fr33domlover@rel4tion.org>.
 -
 - ♡ Copying is an act of love. Please copy and share.
 -
 - The author(s) have dedicated all copyright and related and neighboring
 - rights to this content to the public domain worldwide.
 -
 - See <http://creativecommons.org/publicdomain/zero/1.0/>.
 -}

-- This file defines the Todo ontology, which contains a model for describing
-- tasks and projects.

~~ en

use smaoin
use nli
use nlit
use <%> as todo

default todo

-------------------------------------------------------------------------------
------------------------------------------------------------- | namespace | ---
-------------------------------------------------------------------------------

@@@ +nlit:namespace
    "todo"
    "Todo"
    "Contains the Todo task and project ontology"

-------------------------------------------------------------------------------
--------------------------------------------------------------- | classes | ---
-------------------------------------------------------------------------------

<94facae8-4f33-4c78-8adb-e1e032f0b7a6> :: smaoin:Class
    nli:belongs_to_namespace @@@
    +nlit:local_label        "Ticket"
    +nlit:name               "Ticket"
    +nlit:description        "An item which needs work or attention"

<058f7891-ca51-45df-8e42-9d43229a4bbc> :: smaoin:Class
    nli:belongs_to_namespace @@@
    +nlit:local_label        "TicketIdentifierSource"
    +nlit:name               "Ticket identifier source"
    +nlit:description
        "Both resource uids and ticket titles can be long and hard to "
        "remember. For this reason, a ticket can have a short 'id' which "
        "humans can use to refer to it. A common method for generating these "
        "IDs is by maintaining a counter, incremented for each new ticket, "
        "and generating IDs from the counter value. For example: #1, #2, #3 "
        "and so on.\n"
        "\n"
        "Members of this class work like such counters. But they are generic "
        "ticket ID sources, not specifically limited to numbers and counters."

<af443a9b-0db4-42d7-b64b-f33354a46627> => :TicketIdentifierSource
    nli:belongs_to_namespace @@@
    +nlit:local_label        "TicketIdentifierCounter"
    +nlit:name               "Ticket identifier counter"
    +nlit:description
        "An identifier source which maintains a numeric counter, from which "
        "tickets IDs can be generated (either by simple conversion to a "
        "string or perhaps by adding some prefix, e.g. #142)."

-------------------------------------------------------------------------------
------------------------------------------------------------ | properties | ---
-------------------------------------------------------------------------------

<%> @ :Ticket
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "subticket"
    +nlit:local_predicate_label "has_subticket"
    +nlit:field_name            "subticket"
    +nlit:predicate_name        "has subticket"
    +nlit:description
        "The subject ticket uses or can use the object ticket's progress or "
        "result for the subject ticket's own work, or suggests it as a "
        "possible addition or improvement of some sort."

<%> => :subticket
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "suggestion"
    +nlit:local_predicate_label "suggests"
    +nlit:field_name            "suggestion"
    +nlit:predicate_name        "suggests"
    +nlit:description
        "The subject ticket suggests that the object ticket is closed before "
        "or together with the subject ticket."

<%> => :subticket
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "recommendation"
    +nlit:local_predicate_label "recommends"
    +nlit:field_name            "recommendation"
    +nlit:predicate_name        "recommends"
    +nlit:description
        "The subject ticket recommends that the object ticket is closed "
        "before or together with the subject ticket."

<%> => :subticket
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "requirement"
    +nlit:local_predicate_label "requires"
    +nlit:field_name            "requirement"
    +nlit:predicate_name        "requires"
    +nlit:description
        "The subject ticket requires that the object ticket is closed before "
        "the subject ticket's work can start."

<094c8144-f0a6-4cf5-bf89-66a75a9d8d73>
    :: smaoin:FunctionalProperty @ :Ticket -> smaoin:Boolean
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "closed"
    +nlit:local_predicate_label "is_closed"
    +nlit:field_name            "closed"
    +nlit:predicate_name        "is closed"
    +nlit:description
        "Whether the ticket is done with."

<d33d9436-85ce-4bc5-9ac5-1647123c0c79>
    :: smaoin:FunctionalProperty @ :Ticket -> smaoin:String
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "id"
    +nlit:local_predicate_label "has_id"
    +nlit:field_name            "ID"
    +nlit:predicate_name        "has ID"
    +nlit:description
        "A short numeric or other human-friendly identifier for the ticket."

<704fcab5-2374-496d-b68b-558a58000810>
    :: smaoin:FunctionalProperty @ :Ticket -> smaoin:String
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "title"
    +nlit:local_predicate_label "has_title"
    +nlit:field_name            "title"
    +nlit:predicate_name        "has title"
    +nlit:description
        "A one-line title for the ticket."

<b6f2a776-8f9c-48ee-abc9-0aee51223672>
    :: smaoin:FunctionalProperty @ :Ticket -> smaoin:String
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "description"
    +nlit:local_predicate_label "has_description"
    +nlit:field_name            "description"
    +nlit:predicate_name        "has description"
    +nlit:description
        "A detailed description of the ticket."

<2474ca42-a012-488f-bb21-80f423cb44a6>
    :: smaoin:FunctionalProperty @ :Ticket -> smaoin:String
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "diary"
    +nlit:local_predicate_label "has_diary"
    +nlit:field_name            "diart"
    +nlit:predicate_name        "has diary"
    +nlit:description
        "A log of brainstorming and progress of the work on the ticket."

<fc8556ff-1a89-4a88-8578-d229d08cc57a>
    :: smaoin:FunctionalProperty @ :Ticket -> smaoin:String
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "result"
    +nlit:local_predicate_label "has_result"
    +nlit:field_name            "result"
    +nlit:predicate_name        "has result"
    +nlit:description
        "A description of the result of the work."

<110a9aba-9df7-484c-95c0-b5506351ee24>
    :: smaoin:FunctionalProperty @ :TicketIdentifierSource -> *
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "source_state"
    +nlit:local_predicate_label "has_source_state"
    +nlit:field_name            "source state"
    +nlit:predicate_name        "has source state"
    +nlit:description
        "Ticket identifier sources don't necessarily hold state (e.g. perhaps "
        "they randomly generate IDs), but often they do (e.g. a numeric "
        "counter). This property specifies the held state used for generating "
        "IDs."

<d3d91bab-8a9e-4219-bb32-104f69ad0418>
    @ :TicketIdentifierCounter -> smaoin:Number => :source_state
    nli:belongs_to_namespace    @@@
    +nlit:local_field_label     "counter_value"
    +nlit:local_predicate_label "has_counter_value"
    +nlit:field_name            "counter_value"
    +nlit:predicate_name        "has counter value"
    +nlit:description
        "The ID counter's value. For example, it can be the next available ID."

[See repo JSON]