This document describes an OWL2 ontology [[!owl2-quick-reference]] for the description of a project, aimed at supporting linked data publishing of project descriptions across a number of domains. The ontology extends W3C Prov ontology [[!prov-o]] with typical features of a project description, including sub-activities, specific agent roles, and funding arrangements. It is expected to be specialized for applications that have more detailed requirements.

The namespace for terms in this ontology is: http://www.w3.org/ns/project#
This namespace is proposed but not yet accepted or hosted at w3.org.

The vocabulary defined in this document is also available in these non-normative formats: Turtle.

This is an initial draft produced for consideration by the W3C Data eXchange Working Group.

Introduction

This document describes a core ontology for the description of a project, known as PROJECT. A project is a planned activity, in which one or more agent participants fill specific roles (e.g. project leader, sponsor or funder). A project is typically structured as a set of sub-activities. A project usually generates outputs of some kind, including products. The project is a key unit of activity in modern business, and provides context for the origin of many artefacts.

A number of previous initiatives have developed project ontologies. In Friend of a Friend (FOAF) [[foaf]] the foaf:Project class is a stub (no specific properties) which was included primarily to act as the topic of a homepage. The Description of a Project ontology (DOAP) [[doap]] is oriented to software development projects. The Funding, Research Administration and Projects Ontology (FRAPO) [[frapo]] is similarly aimed at describing administrative information relating to grant funding and research projects. There are classes for the characterization of grant applications, funding bodies, project partners etc, but FRAPO uses the foaf:Project class directly with just one additional property related to identification, not function. The Project Documents Ontology (PDO) [[pdo]] relates to various documents in a project-specific setting, like meeting minutes, status reports etc. In VIVO-ISF [[vivo-isf]] the vivo:Project class is very lightweight, characterised only by its timing and geographic focus. VIVO is linked to the OBO Foundry [[obo]] and other ontologies there (e.g. the Open-Med eagle-i ontology) provide specializations, but in the context of relatively narrow domain applications.

The DBPedia ontology [[dbpedia-ont]] provides what is probably the most general purpose class for projects. The dbo:Project class is described as "a temporary endeavor undertaken to achieve defined objectives" and has key properties relating to timing, objectives, and classification (keywords). A specialization dbo:ResearchProject adds information about funding and key stakeholders (coordinator, participant, funder).

PPSR-Core ?

However, none of the models discussed here supports the variety of relationships with stakeholders, inputs and outputs, and sub-activities that are characteristic of projects. Nevertheless, these relations are templated in the W3C PROV-O ontology [[!prov-o]] which provides quite rich, though generic, support for many kinds of links between activities, stakeholders (agents) and artefacts (entities) related to projects. Thus, the Project ontology is designed as an extension to PROV-O, with the core proj:Project class specializing prov:Activity by adding the key project-related concepts.

Overview of project ontology

Scope of the Project ontology

The PROJECT ontology is designed to enable publication of information describing projects, including research projects. It is not designed to support project management, though sub-activities are included. As far as possible PROJECT is intended to be domain-neutral, and it is expected that domains and applications will specialize or extend this ontology for more specific purposes.

The ontology gives terms to support the representation of:

One specialization is included - the Research Project - which has been the subject of several predecessor designs that have informed the design of this ontology.

PROJECT extends the W3C [[!prov-o]] ontology. Otherwise, it has no dependencies except for the normal RDF/OWL infrastructure (RDF [[!rdf11-concepts]], RDFS [[!rdf-schema]], OWL [[!owl2-quick-reference]]), Dublin Core [[dc-terms]] for some ontology metadata, and SKOS [[!skos-reference]] to support some relationships between Role values, and project classification.

A summary of the main classes and relationships in PROJECT is shown in the diagram below, including the key superclass prov:Activity.

summary of PROJECT ontology showing how the Project class extends prov:Activity
Core classes from PROJECT vocabulary, with their relationships to PROV-O.
Rough draft to indicate scope of a properly drafted figure to be included here

Examples

We present two examples to illustrate the scope and some of the capabilities of the PROJECT ontology.

Construction project

This example describes a recent public works project carried out in Melbourne, Australia. It concerns a phase of an initiative to replace level-crossings on the suburban rail network. It was sponsored by the state government, who were also the sole funders. This phase involved the removal of four level crossings. The project was led by a consortium. Three public transport bodies also participated. The project was completed several months early.

The level of detail shown here is intended only to illustrate the expressivity of the PROJECT ontology, and the use of structures from an external vocabulary to complement.

          ex:VictoriaLevelCrossingRemovalPhase1
          rdf:type proj:Project ;
          rdfs:label "Victoria level-crossing removal - phase 1" ;
          proj:hadBudgetTotal [
            rdf:type proj:SumOfMoney ;
            rdfs:label "Level crossing removal phase 1 budget " ;
            proj:moneyAmount "524000000"^^xsd:decimal ;
            proj:moneyCurrency <https://dbpedia.org/resource/Australian_dollar> ;
          ] ;
          proj:hadLeader ex:johnholland-kbr ;
          prov:wasAssociatedWith <http://www.metrotrains.com.au/> ;
          prov:wasAssociatedWith <https://www.ptv.vic.gov.au/> ;
          prov:wasAssociatedWith <https://www.vicroads.vic.gov.au/> ;
          proj:hadSponsor <http://levelcrossings.vic.gov.au/about/about-the-authority> ;
          proj:hadSubActivity ex:BentleighLevelCrossingRemoval ;
          proj:hadSubActivity ex:BurkeRoadLevelCrossingRemoval ;
          proj:hadSubActivity ex:McKinnonRoadLevelCrossingRemoval ;
          proj:hadSubActivity ex:NorthRoadLevelCrossingRemoval ;
          proj:wasFundedThrough [
            rdf:type proj:FundingAssociation ;
            rdfs:label "Level crossing removal project phase 1 funding arrangement" ;
            rdfs:seeAlso <http://www.premier.vic.gov.au/contract-awarded-for-first-four-level-crossing-removals/> ;
            proj:fundsProvided [
              rdf:type proj:SumOfMoney ;
              proj:moneyAmount "524000000"^^xsd:decimal ;
              proj:moneyCurrency <https://dbpedia.org/resource/Australian_dollar> ;
            ] ;
            prov:agent <http://www.vic.gov.au/> ;
          ] ;
          rdfs:label "Victoria level-crossing removal - phase 1" ;
          proj:plannedEndTime "2017-03-31T23:59:00"^^xsd:dateTime ;
          proj:plannedStartTime "2015-10-01T00:00:00"^^xsd:dateTime ;
          prov:atLocation <https://dbpedia.org/resource/Melbourne> ;
          prov:endedAtTime "2016-10-31T00:00:00"^^xsd:dateTime ;
          prov:startedAtTime "2015-10-01T00:00:00"^^xsd:dateTime ;
          .
        

Each individual level crossing removal has its own timeline and may be modeled as a prov:Activity. Some local businesses were impacted during the course of the activities.

          ex:McKinnonRoadLevelCrossingRemoval
          rdf:type prov:Activity ;
          rdfs:label "McKinnon Road level crossing removal" ;
          proj:wasSubActivityOf ex:VictoriaLevelCrossingRemovalPhase1 ;
          proj:plannedEndTime "2017-03-31T00:00:00"^^xsd:dateTime ;
          proj:plannedStartTime "2016-01-31T00:00:00"^^xsd:dateTime ;
          prov:atLocation <https://dbpedia.org/resource/McKinnon_railway_station> ;
          prov:endedAtTime "2016-10-31T00:00:00"^^xsd:dateTime ;
          prov:qualifiedAssociation [
            rdf:type prov:Association ;
            prov:agent <https://www.zomato.com/melbourne/fabulous-fine-foods-ormond-mckinnon> ;
            prov:hadRole ex:Negative-economic-impact ;
          ] ;
          prov:startedAtTime "2016-01-31T00:00:00"^^xsd:dateTime ;
          .
        

The project leader was a consortium with two members, the description of which is represented as an org:FormalOrganization using the W3C Organisation ontology [[vocab-org]].

          ex:johnholland-kbr
          rdf:type org:FormalOrganization ;
          rdfs:label "John Holland - KBR Joint Venture" ;
          rdfs:seeAlso <http://www.johnholland.com.au/who-we-are/latest-news/john-holland-wins-level-crossing-removal-projects-in-victoria/> ;
          org:hasMembership [
            rdf:type org:Membership ;
            org:member <http://www.johnholland.com.au> ;
            org:role ex:Joint-Venture-Partner ;
          ] ;
          org:hasMembership [
            rdf:type org:Membership ;
            org:member <https://www.kbr.com/> ;
            org:role ex:Joint-Venture-Partner ;
          ] ;
          .
        

Research project

This example is a scientific research project to assess the impact of feral animals on natural and social values in the Archer River Basin of Australia’s Cape York Peninsula. The objective is to establish a robust baseline of feral animal distribution and describe the impact of these animals on freshwater ecosystems, biodiversity and cultural values. The project has five separate surveys which each apply different methodologies (dwcterms:samplingProtocol) to collect different data sets, each with a different survey schema. The project commenced on 31st Dec 2012, but no end date has been specified. It was set up under the National Environmental Science Programme, but has not had a funding value attributed to it yet. It is being run by CSIRO with a CSIRO officer managing the it and two other organisations associated with it ... work needed on org description .... A research paper has been published as an output.

          ex:cyferal-impact
          rdf:type proj:Project ;
          rdf:type proj:ResearchProject ;
          rdfs:label "Improved management of feral animals in remote tropical Australia" ;
          proj:budgetTotal [
            rdf:type proj:SumOfMoney ;
            proj:moneyAmount 0 ;
            proj:moneyCurrency <https://dbpedia.org/resource/Australian_dollar> ;
          ] ;
          proj:hadFieldOfResearch <http://purl.org/au-research/vocabulary/anzsrc-for/2008/050202> ;
          proj:hadFieldOfResearch <http://purl.org/au-research/vocabulary/anzsrc-for/2008/050204> ;
          proj:hadFieldOfResearch <http://purl.org/au-research/vocabulary/anzsrc-for/2008/050205> ;
          proj:hadFieldOfResearch <http://purl.org/au-research/vocabulary/anzsrc-for/2008/050206> ;
          proj:hadPrincipalInvestigator <http://orcid.org/0000-0002-5823-7364> ;
          proj:hadSponsor <http://dbpedia.org/resource/Commonwealth_Scientific_and_Industrial_Research_Organisation> ;
          proj:hadSubActivity ex:Aerial ;
          proj:hadSubActivity ex:Incidental ;
          proj:hadSubActivity ex:Limnology ;
          proj:hadSubActivity ex:Terrestrial ;
          proj:hadSubActivity ex:Wetland ;
          proj:wasSubActivityOf <http://www.environment.gov.au/science/nesp> ;
          rdfs:label "Improved management of feral animals in remote tropical Australia" ;
          proj:hadObjective "To develop a robust understanding of the costs and benefits of selected feral animal control programs on reducing impacts to natural and cultural values." ;
          proj:plannedEndTime "2022-12-31T23:59:00"^^xsd:dateTime ;
          proj:plannedStartTime "2012-12-31T00:00:00"^^xsd:dateTime ;
          proj:projectParticipant <mailto:peter.brenton@csiro.au> ;
          proj:hadPlan ex:FCY-project-plan ;
          proj:wasFundedThrough [
            rdf:type proj:FundingAssociation ;
            proj:fundsProvided [
              rdf:type proj:SumOfMoney ;
              proj:moneyAmount 0 ;
              proj:moneyCurrency <https://dbpedia.org/resource/Australian_dollar> ;
            ] ;
            prov:agent <http://dbpedia.org/resource/Government_of_Australia> ;
          ] ;
          prov:atLocation <http://dbpedia.org/resource/Archer_River,_Queensland> ;
          prov:generated <https://doi.org/10.1071/WF15133> ;
          prov:startedAtTime "2012-12-31T00:00:00"^^xsd:dateTime ;
          .
        

A description of one of the sub-activities is shown next, though with limited detail.

          ex:Aerial
          rdf:type prov:Activity ;
          rdfs:label "Aerial feral animals survey" ;
          proj:wasSubActivityOf ex:cyferal-impact ;
          prov:endedAtTime "2016-10-31T00:00:00"^^xsd:dateTime ;
          prov:startedAtTime "2016-01-31T00:00:00"^^xsd:dateTime ;
          .
        

Description and commentary

Project structure

Relationship of a project to its sub-activities
Relationship of a project to its sub-activities.
Rough draft to indicate scope of a properly drafted figure to be included here

The core class in the PROJECT ontology is proj:Project which is intended to be applicable to a broad range of project types. A project is a planned activity that generates outputs, and is modelled as a specialization of the prov:Activity class.

A project or activity is typically organized through a set of sub-activities, which may be undertaken concurrently or consecutively, and may themselves be composed of further sub-activities. Basic structure is captured through the proj:hadSubActivity and proj:wasSubActivityOf properties. A project or activity is often related to or influenced by other activities, captured through the proj:hadRelatedActivity property. Details of each relationship are captured as properties of the individual prov:ActivityInfluence, using the prov:hadRole and prov:activity properties, plus other properties as required.

Project stakeholders and funding

Relationship of a project to its stakeholders
Relationship of a project to its stakeholders.
Rough draft to indicate scope of a properly drafted figure to be included here

There are a number of distinctive stakeholders in a project, in particular: a leader who is accountable for the delivery of project outcomes; a sponsor under whose authority the project is undertaken; funders; and project staff or participants. In some cases it is useful to provide specific details of a participant's role in the project. PROJECT provides a number of ways to represent the relationships of stakeholders to projects and activities.

The standard role of leader is implemented as a directly named property from an prov:Activity to a prov:Agent, and sponsor as a directly named property from a proj:Project to a prov:Agent.

Basic funding arrangements are captured through the proj:hadSponsor and proj:hadBudgetTotal properties. More complex arrangements, for example if multiple funders are involved, can be captured through the proj:wasFundedThrough property, which links a funding agent with a funding amount in the context of a project.

Other relationships may be expressed using the prov:qualifiedAssociation property. Details of each relationship are captured as properties of the individual prov:Association, using the prov:role and prov:agent properties, plus other properties as required.

We distinguish one sub-class, the proj:ResearchProject, in which the leader(s) is known as a Principal Investigator, and which is classified according to its field of research.

Notation and conventions

RDF Namespaces

The following RDF namespace prefixes are used within this document. Use of a namespace does not imply endorsement of the associated data platform or vocabulary.

RDF namespaces used in the document
Prefix Namespace IRI Source
dbo http://dbpedia.org/ontology/ dbPedia ontology [[dbpedia-ont]]
dcat http://www.w3.org/ns/dcat# Data Catalog Vocabulary [[vocab-dcat]]
dcterms http://purl.org/dc/terms/ Dublin Core Metadata Initiative (DCMI) Metadata Terms [[dc-terms]]
doap http://usefulinc.com/ns/doap# Description of a (software) project [[doap]]
ex http://www.w3.org/ns/project/example/ Examples for this document
foaf http://xmlns.com/foaf/0.1/ Friend of a friend [[foaf]]
frapo http://purl.org/cerif/frapo/ Funding, Research Administration and Projects Ontology [[frapo]]
obo http://purl.obolibrary.org/obo/ Open Biomedical Ontologies [[obo]]
org http://www.w3.org/ns/org# Organization ontology [[vocab-org]]
owl http://www.w3.org/2002/07/owl# Web Ontology Language [[owl2-quick-reference]]
pdo http://ontologies.smile.deri.ie/pdo# Project documents ontology [[pdo]]
no namespace or proj http://www.w3.org/ns/project# Project Ontology
proji http://www.w3.org/ns/project/ Individuals in the Project Ontology
prov http://www.w3.org/ns/prov# W3C Provenance Ontology [[prov-o]]
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# Resource Description Framework [[rdf11-concepts]]
rdfs http://www.w3.org/2000/01/rdf-schema# RDF Schema vocabulary [[rdf-schema]]
schemaorg http://schema.org/ schema.org [[schema-org]]
skos http://www.w3.org/2004/02/skos/core# Simple Knowledge Organization System (SKOS) [[skos-reference]]
vivo http://vivoweb.org/ontology/core# VIVO-ISF [[vivo-isf]]

Notation

Code examples, including definitions, are shown in Turtle notation [[turtle]], except for class restrictions which use OWL2 Manchester syntax [[owl2-manchester-syntax]].

Vocabulary reference

Index of classes and properties

Classes: | FundingAssociation | Project | ResearchProject | SumOfMoney |

Properties: | fundsProvided | hadAreaOfInterest | hadBudgetTotal | hadFieldOfResearch | hadLeader | hadPrincipalInvestigator | hadRelatedActivity | hadSponsor | hadSubActivity | wasFundedThrough | wasSubActivityOf | moneyAmount | moneyCurrency | hadObjective | plannedEndTime | plannedStartTime | hadPlan |

Core project characteristics

Class: Project

A formal activity with planned start and end dates, leader, sponsor, and a budget.

RDFS Class:proj:Project
Type:owl:Class
subClassOf:prov:Activity
Usage note:

Property: had objective

The objective of the project.

RDF Property:proj:hadObjective
Type:owl:AnnotationProperty
Domain:proj:Project
Usage note:

Property: had plan

The project plan.

RDF Property:proj:hadPlan
Type:owl:ObjectProperty
Domain:proj:Project
Range:prov:Plan
subpropertyOf:prov:used
Usage note:

A new property is required to associated a plan with a project activity because the domain of prov:hadPlan is prov:Association.

Property: plannedStartTime

The planned start date and time for an activity.

RDF Property:proj:plannedStartTime
Type:owl:DatatypeProperty
Domain:prov:Activity
Range:xsd:dateTimeStamp
Usage note:

Property: plannedEndTime

The planned end date and time for an activity.

RDF Property:proj:plannedEndTime
Type:owl:DatatypeProperty
Domain:prov:Activity
Range:xsd:dateTimeStamp
Usage note:

Property: hadLeader

The party (person or organization) responsible for leading an activity.

RDF Property:proj:hadLeader
Type:owl:ObjectProperty
subPropertyOf:prov:wasAssociatedWith
Usage note:

Property: hadSponsor

The party (person or organization) who is sponsoring a project.

RDF Property:proj:hadSponsor
Type:owl:ObjectProperty
Domain:proj:Project
subPropertyOf:prov:wasAssociatedWith
Usage note:

Property: hadBudgetTotal

The project budget or planned expenditure.

RDF Property:proj:hadBudgetTotal
Type:owl:ObjectProperty
Domain:proj:Project
Range:proj:SumOfMoney
Usage note:

Project activity structure

Property: hadSubActivity

Direct link to a subsidiary activity.

RDF Property:proj:hadSubActivity
Type:owl:ObjectProperty
Domain:prov:Activity
Range:prov:Activity
Usage note:

Property: wasSubActivityOf

Direct link to a parent activity.

RDF Property:proj:wasSubActivityOf
Type:owl:ObjectProperty
inverseOf:proj:hadSubActivity
subPropertyOf:prov:wasInformedBy
Usage note:

Property: hadRelatedActivity

Link to a related activity association.

RDF Property:proj:hadRelatedActivity
Type:owl:ObjectProperty
Domain:prov:Activity
Range:prov:ActivityInfluence
inverseOf:prov:activity
subPropertyOf:prov:qualifiedInfluence
Usage note:

Project stakeholders

Property: hadParticipant

Direct link to a party (person or organization) participating in the activity.

RDF Property:prov:wasAssociatedWith
Type:owl:ObjectProperty
subPropertyOf:prov:wasAssociatedWith
Usage note:

Project funding

Property: wasFundedThrough

Link to a description of a project funding arrangement.

RDF Property:proj:wasFundedThrough
Type:owl:ObjectProperty
Domain:proj:Project
Range:proj:FundingAssociation
subPropertyOf:prov:qualifiedAssociation
Usage note:

Class: FundingAssociation

Association class to support description of a project funding arrangement, such as a grant or contract.

RDF Class:proj:FundingAssociation
Type:owl:Class
subClassOf:prov:Association
Usage note:

Property: fundingScheme

Pointer to the scheme through which the funding was provided.

RDF Property:proj:fundingScheme
Type:owl:ObjectProperty
Domain:proj:FundingAssociation
Usage note:The value should identify the scheme through which the funding was provided - e.g. EC Horizon 2020, Australia's National Collaborative Research Infrastructure Strategy.

Property: fundsProvided

Link to a sum of money.

RDF Property:proj:fundsProvided
Type:owl:ObjectProperty
Range:proj:SumOfMoney
Usage note:

Property: grantNumber

Identifier assigned by the funder. 'Grant number' is common for research or charitable projects, 'Contract number' in a commercial context.

RDF Property:proj:grantNumber
Type:owl:AnnotationProperty
Domain:proj:FundingAssociation
Range:xsd:string
Usage note:

Property: agent

Pointer to the agent which provided the funds.

RDF Property:prov:agent
Type:owl:ObjectProperty
Domain:prov:Association
Range:prov:Agent
Usage note:When used in the context of the sub-class proj:FundingAssociation, the value of prov:agent should identify the agent which provided the funds.

Research project

Class: ResearchProject

A research project.

RDFS Class:proj:ResearchProject
Type:owl:Class
subClassOf:proj:Project
Usage note:

Property: hadPrincipalInvestigator

The person who acts as principal investigator on the research project.

RDF Property:proj:hadPrincipalInvestigator
Type:owl:ObjectProperty
Domain:proj:ResearchProject
Range:foaf:Person
subPropertyOf:proj:hadLeader
Usage note:

Property: hadFieldOfResearch

The field of research of the research project.

RDF Property:proj:FieldOfResearch
Type:owl:ObjectProperty
Domain:proj:ResearchProject
Range:skos:Concept
Usage note:The value is usually taken from a curated vocabulary, such as ANZSRC Fields of Research, Re3data subjects, EDAM Topic or Scigraph subjects

Utilities

Class: SumOfMoney

A sum of money.

RDF Class:proj:SumOfMoney
Type:owl:Class
Usage note:

Property: moneyAmount

The numeric value of a sum of money, which must be scaled by a specified currency to get the actual value.

RDF Property:proj:moneyAmount
Type:owl:DatatypeProperty
Domain:proj:SumOfMoney
Range:xsd:decimal
Usage note:

Property: moneyCurrency

The currency in which a sum of money is specified.

RDF Property:proj:moneyCurrency
Type:owl:ObjectProperty
Domain:proj:SumOfMoney
Usage note:It is expected that the value will be a link (URI) to a definition of the currency used.

Alignments with related ontologies

[[frapo]] [[schema-org]] [[doap]] [[pdo]] [[vivo-isf]] [[foaf]] [[dbpedia-ont]] [[PPSR-Core]] [[eagle-i]]