@prefix dc:    <http://purl.org/dc/elements/1.1/> .
@prefix itm:   <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix skos:  <http://www.w3.org/2004/02/skos/core#> .

itm:role  a               rdf:Property ;
        rdfs:comment      "Rol que desempeña un miembro del proyecto" ;
        rdfs:domain       itm:Member ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The role reference" ;
        rdfs:range        itm:Role .

itm:users  a              rdf:Property ;
        rdfs:comment      "Usuarios registrados en el sistema de gestión de proyectos" ;
        rdfs:domain       itm:IssueTrackingDatabase ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The users reference" ;
        rdfs:range        itm:User .

itm:issues  a             rdf:Property ;
        rdfs:comment      "Tareas asociadas a una versión de software" ;
        rdfs:domain       itm:Version ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The issues reference" ;
        rdfs:range        itm:Issue ;
        rdfs:subClassOf   <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#tasks> .

itm:estimatedHours  a     owl:DatatypeProperty , rdf:Property ;
        rdfs:comment      "Número de horas estimadas para una tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The estimatedHours attribute" ;
        rdfs:range        xsd:float .

itm:roles  a              rdf:Property ;
        rdfs:comment      "Roles registrados en el sistema de gestión de proyectos" ;
        rdfs:domain       itm:IssueTrackingDatabase ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The roles reference" ;
        rdfs:range        itm:Role .

itm:login  a              owl:DatatypeProperty , rdf:Property ;
        rdfs:comment      "Login de un usuario" ;
        rdfs:domain       itm:User ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The login attribute" ;
        rdfs:range        xsd:string .

itm:dependentTask  a      rdf:Property ;
        rdfs:comment      "Tarea dependiente de una tarea dada" ;
        rdfs:domain       itm:IssueDependency ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The dependentTask reference" ;
        rdfs:range        itm:Issue .

itm:doneRatio  a          owl:DatatypeProperty , rdf:Property ;
        rdfs:comment      "Porcentaje completado de la tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The doneRatio attribute" ;
        rdfs:range        xsd:float .

itm:dependencies  a       rdf:Property ;
        rdfs:comment      "Dependencias de una tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The dependencies reference" ;
        rdfs:range        itm:IssueDependency .

itm:language  a           owl:DatatypeProperty , rdf:Property ;
        rdfs:comment      "Lenguaje de un usuario" ;
        rdfs:domain       itm:User ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The language attribute" ;
        rdfs:range        xsd:string .

itm:Role  a               owl:Class , rdfs:Class ;
        rdfs:comment      "Clase que representa el rol que juega un usuario en los\n   proyectos." ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The Role entity" ;
        rdfs:subClassOf   <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#Role> .

itm:IssueTrackingDatabase
        a                 owl:Class , rdfs:Class ;
        rdfs:comment      "Clase contenedora de todos los proyectos software\n   gestionados en la herramienta." ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The IssueTrackingDatabase entity" .

itm:owner  a              rdf:Property ;
        rdfs:comment      "Propietario de la tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The owner reference" ;
        rdfs:range        itm:Member .

itm:members  a            rdf:Property ;
        rdfs:comment      "Miembros del proyecto" ;
        rdfs:domain       itm:Project ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The members reference" ;
        rdfs:range        itm:Member .

itm:Issue  a              owl:Class , rdfs:Class ;
        rdfs:comment      "Clase para describir una tarea o unidad concreta de\n   trabajo, necesaria para evolucionar un sistema informático, como\n   añadir una nueva característica, arreglo de un fallo, etc.\n  " ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The Issue entity" ;
        rdfs:subClassOf   <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#Task> .

<http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0>
        a                              owl:Ontology ;
        dc:creator                     itm:ruizrube ;
        dc:description                 "<p>This vocabulary defines the common characteristics of task management tools or issue tracking systems, such as Jira, Redmine or Trac.</p>\r\n\r\n<p>A partir del estudio de las características de las herramientas de gestión de tareas o issue tracking systems, se ha elaborado este vocabulario.</p>" ;
        dc:modified                    "2013-12-15"^^xsd:date ;
        dc:title                       "Issue Tracking tool Model" ;
        vann:preferredNamespacePrefix  "itm" ;
        vann:preferredNamespaceUri     "http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0#" ;
        foaf:page                      <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0.html> .

itm:responsible  a        rdf:Property ;
        rdfs:comment      "Miembro responsable de la tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The responsible reference" ;
        rdfs:range        itm:Member .

itm:tracker  a            rdf:Property ;
        rdfs:comment      "Tracker al que está asociado una tarea determinada" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The tracker reference" ;
        rdfs:range        itm:Tracker .

itm:name  a                 rdf:Property , owl:DatatypeProperty ;
        rdfs:comment        "Nombre del proyecto, versión, tarea, tracker, categoría de tarea o rol" ;
        rdfs:domain         itm:Project , itm:Role , itm:Version , itm:Tracker , itm:IssueCategory , itm:Issue ;
        rdfs:isDefinedBy    <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label          "The name attribute" ;
        rdfs:range          xsd:string ;
        rdfs:subPropertyOf  dc:title , <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#name> .

itm:status  a             rdf:Property ;
        rdfs:comment      "Estado de una versión o tarea de un proyecto" ;
        rdfs:domain       itm:Issue , itm:Version ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The status attribute" ;
        rdfs:range        skos:Concept .

itm:permissions  a        owl:DatatypeProperty , rdf:Property ;
        rdfs:comment      "Permisos que dispone de un determinado rol" ;
        rdfs:domain       itm:Role ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The permissions attribute" ;
        rdfs:range        xsd:string .

itm:elapsedHours  a       owl:DatatypeProperty , rdf:Property ;
        rdfs:comment      "Horas trabajadas en una tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The elapsedHours attribute" ;
        rdfs:range        xsd:float .

itm:Member  a             owl:Class , rdfs:Class ;
        rdfs:comment      "Clase utilizada para asociar un determinado usuario a un\n   proyecto, haciendo uso de un rol determinado." ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The Member entity" .

itm:Version  a            owl:Class , rdfs:Class ;
        rdfs:comment      "Clase que describe cada una de las versiones del\n   software objeto del proyecto gestionado en la herramienta.\n  " ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The Version entity" ;
        rdfs:subClassOf   <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#Milestone> , <http://usefulinc.com/ns/doap#Version> .

itm:versions  a             rdf:Property ;
        rdfs:comment        "Versiones definidas para un proyecto software" ;
        rdfs:domain         itm:Project ;
        rdfs:isDefinedBy    <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label          "The versions reference" ;
        rdfs:range          itm:Version ;
        rdfs:subPropertyOf  <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#milestones> .

itm:completedDate  a      owl:DatatypeProperty , rdf:Property ;
        rdfs:comment      "Fecha de compleción de una tarea" ;
        rdfs:domain       itm:Issue , itm:Version ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The completedDate attribute" ;
        rdfs:range        xsd:date .

itm:ruizrube  a    foaf:Person ;
        foaf:name  "Iván Ruiz Rube" .

itm:IssueDependency  a    owl:Class , rdfs:Class ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The IssueDependency entity" .

itm:description  a          rdf:Property , owl:DatatypeProperty ;
        rdfs:comment        "Descripción de un proyecto, versión o tarea" ;
        rdfs:domain         itm:Version , itm:Project , itm:Issue ;
        rdfs:isDefinedBy    <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label          "The description attribute" ;
        rdfs:range          xsd:string ;
        rdfs:subPropertyOf  dc:description , <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#description> .

itm:Project  a            owl:Class , rdfs:Class ;
        rdfs:comment      "Clase que representa a un proyecto software controlado\n   desde la herramienta." ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The Project entity" ;
        rdfs:subClassOf   <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#Project> , <http://usefulinc.com/ns/doap#Project> .

itm:user  a               rdf:Property ;
        rdfs:comment      "Usuario que es miembro de un proyecto" ;
        rdfs:domain       itm:Member ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The user reference" ;
        rdfs:range        itm:User .

itm:User  a               owl:Class , rdfs:Class ;
        rdfs:comment      "Clase que representa a un usuario registrado en la\n   herramienta." ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The User entity" ;
        rdfs:subClassOf   foaf:Person .

itm:IssueCategory  a      owl:Class , rdfs:Class ;
        rdfs:comment      "Clase que permite realizar una clasificación específica\n   de los issues de un determinado proyecto." ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The IssueCategory entity" ;
        rdfs:subClassOf   <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#TaskCategory> .

itm:issueCategories  a    rdf:Property ;
        rdfs:comment      "Categorías de las tareas registradas para un proyecto determinado" ;
        rdfs:domain       itm:Project ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The issueCategories reference" ;
        rdfs:range        itm:IssueCategory ;
        rdfs:subClassOf   <http://spi-fm.uca.es/spdef/models/deployment/spcm/1.0#taskCategories> .

itm:priority  a           rdf:Property ;
        rdfs:comment      "Prioridad en la realización de una tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The priority attribute" ;
        rdfs:range        skos:Concept .

itm:projects  a           rdf:Property ;
        rdfs:comment      "Conjunto de proyectos registrados en el sistema de gestión de proyectos" ;
        rdfs:domain       itm:IssueTrackingDatabase ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The projects reference" ;
        rdfs:range        itm:Project .

itm:type  a               rdf:Property ;
        rdfs:comment      "Tipo de dependencia entre tareas" ;
        rdfs:domain       itm:IssueDependency ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The type attribute" ;
        rdfs:range        skos:Concept .

itm:category  a           rdf:Property ;
        rdfs:comment      "Categoría de la tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The category reference" ;
        rdfs:range        itm:IssueCategory .

itm:dueDate  a            owl:DatatypeProperty , rdf:Property ;
        rdfs:comment      "Fecha estimada de finalización de una tarea" ;
        rdfs:domain       itm:Issue ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The dueDate attribute" ;
        rdfs:range        xsd:date .

itm:Tracker  a            owl:Class , rdfs:Class ;
        rdfs:comment      "Clase utilizada para identificar el listado de issues o\n   tareas de un determinado tipo, típicamente bugs, features, o patchs.\n  " ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The Tracker entity" .

itm:trackers  a           rdf:Property ;
        rdfs:comment      "Conjunto de trackers registrados en el sistema de gestión de proyectos" ;
        rdfs:domain       itm:IssueTrackingDatabase ;
        rdfs:isDefinedBy  <http://spi-fm.uca.es/spdef/models/genericTools/itm/1.0> ;
        rdfs:label        "The trackers reference" ;
        rdfs:range        itm:Tracker .
