OntoSoft

Release 02 Mar 2015

This version:
http://ontosoft.org/software_20150302
Latest version:
http://ontosoft.org/software
Previous version:
http://ontosoft.org/software_20150210
Revision
0.95
Authors:
Varun Ratnakar, USC/ISI
Yolanda Gil, USC/ISI
Imported Ontologies:
This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0).

Abstract

The aim of the ontology is to provide a vocabulary for people to publish their software in order for it to be accessible to other users, allow others to run it, cite it, understand it, and use it in their experiments.

Download this version

Table of Contents

1. Introduction back to ToC

The aim of the ontology is to provide a vocabulary for people to publish their software in order for it to be accessible to other users, allow others to run it, cite it, understand it, and use it in their experiments.

1.1. Namespace declarations back to ToC

Table 1: Namespaces used in the document
osw<http://ontosoft.org/software#>
owl<http://www.w3.org/2002/07/owl#>
rdfs<http://www.w3.org/2000/01/rdf-schema#>
xsd<http://www.w3.org/2001/XMLSchema#>
dcterms<http://purl.org/dc/terms/#>

2. Ontosoft Overview back to ToC

An overview can be seen below:

Classes

Properties

Data Properties

Named Individuals

Annotation Properties

3. Ontosoft Description back to ToC

Complete description of the ontology: a diagram explaining how the classes are related, examples of usage, etc.

4. Cross reference for Ontosoft classes and properties

This section provides details for each class and property defined by Ontosoft.

Classes

compositionc back to ToC or Class ToC

IRI: http://ontosoft.org/software#Composition

Composition class is used to describe composition of a software with others in a workflow

is in domain of
has compatible softwareop, has workflow descriptionop
is in range of
has composition descriptionop

filec back to ToC or Class ToC

IRI: http://ontosoft.org/software#File

A File indicates a file based input to, or file based output from a software

is in domain of
has file idop, has file typeop
is in range of
has input fileop, has output fileop

languagec back to ToC or Class ToC

IRI: http://ontosoft.org/software#Language

The class of programming languages

is in range of
has languageop
has members
Cni, C++ni, CSSni, HTMLni, fortranni, javani, javascriptni, matlabni, perlni, pythonni, rscriptni

licensec back to ToC or Class ToC

IRI: http://ontosoft.org/software#License

A class of licenses that the software is released under

is in range of
has licenseop
has members
AGPLni, Apache v2ni, BSDni, CDDLni, Creative Commonsni, EPLni, GFDLni, GPLv2ni, GPLv3ni, LGPLni, MITni, MPLni, MsRLni

Locationc back to ToC or Class ToC

IRI: http://ontosoft.org/software#Location

A Location URL

is in domain of
has URI valuedp
is in range of
has citation locationop, has code locationop, has documentationop, has preferred citationop, has project websiteop, has test data locationop

measurementc back to ToC or Class ToC

IRI: http://ontosoft.org/software#Measurement

A Numeric value

is in domain of
has unitsdp
is in range of
has average run timeop, requires average memoryop

numeric valuec back to ToC or Class ToC

IRI: http://ontosoft.org/software#NumericValue

A numeric value

operating systemc back to ToC or Class ToC

IRI: http://ontosoft.org/software#OperatingSystem

Operating Systems that the software runs on

is in range of
supports operating systemop

personc back to ToC or Class ToC

IRI: http://ontosoft.org/software#Person

A Person identifier class

is in domain of
has person identifierop
is in range of
has creatorop, has major contributorop

softwarec back to ToC or Class ToC

IRI: http://ontosoft.org/software#Software

A Software is any piece of code that is described in Ontosoft. This could some visualisation software, software package, library, componentised scripts, etc. This can be subclassed if software categories with extra properties are required, otherwise one should use SoftwareTag to categorise software.

has sub-classes
software versionc
is in domain of
domain keywordsop, has active developmentop, has average run timeop, has benchmark informationop, has code locationop, has composition descriptionop, has creatorop, has dependencyop, has documentationop, has input fileop, has installation instructionsop, has languageop, has licenseop, has major contributorop, has nameop, has other implementation detailsop, has output fileop, has preferred citationop, has project websiteop, has relevant data sourcesop, has salient qualitiesop, has short descriptionop, has software communityop, has software doiop, has software supportop, has software tagop, has test dataop, has test instructionsop, has use informationop, has use limitationsop, has use statisticsop, has uses and assumptionsop, requires average memoryop, similar softwareop, supports operating systemop

software DOIc back to ToC or Class ToC

IRI: http://ontosoft.org/software#SoftwareDOI

SoftwareDoi indicates the DOI for a software version

is in domain of
has doiop, has doi version idop
is in range of
has software doiop

software tagc back to ToC or Class ToC

IRI: http://ontosoft.org/software#SoftwareTag

A software can be tagged with multiple categories. Multiple instances can be created of this, and it can also be subclassed to have hierarchical categories

is in range of
has software tagop

software versionc back to ToC or Class ToC

IRI: http://ontosoft.org/software#SoftwareVersion

A version of a piece of software described by ontosoft

has super-classes
softwarec
is in domain of
has version idop, has version release dateop
is in range of
has dependencyop

test datac back to ToC or Class ToC

IRI: http://ontosoft.org/software#TestData

TestData is used to describe test datasets for the software

is in domain of
has test data descriptionop, has test data locationop
is in range of
has test dataop

Object Properties

Accessibilityop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#AccessibilityProperty

CONTRIBUTEop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#ContributionProperty

DO RESEARCHop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#ResearchProperty

domain keywordsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#domainKeywords

has super-properties
Domain Knowledgeop
has domain
softwarec
has range
text valuec

Mention any domain specific keywords for this software

Domain Knowledgeop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#DomainKnowledgeProperty

Execution Requirementsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#RequirementsProperty

has active developmentop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasActiveDevelopment

has super-properties
Support and Communityop
has domain
softwarec
has range
text valuec

How is the software being developed or maintained ?

has average run timeop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasAverageRunTime

has characteristics: functional

has super-properties
Execution Requirementsop
has domain
softwarec
has range
measurementc

Do you know how long it takes to run this software on average ?

has benchmark informationop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasBenchmarkInformation

has super-properties
Qualityop
has domain
softwarec
has range
text valuec

Is there any benchmark information about the software ?

has citation locationop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasCitationLocation

has super-properties
Scientific Publicationsop
has domain
citationc
has range
Locationc

has citation textop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasCitationText

has super-properties
Scientific Publicationsop
has domain
citationc
has range
text valuec

has code locationop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasCodeLocation

has characteristics: functional

has super-properties
Accessibilityop
has domain
softwarec
has range
Locationc

What is the URL for the code ?

has compatible softwareop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasCompatibleSoftware

has super-properties
Run with other softwareop
has domain
compositionc
has range
text valuec

What other software can this software be composed with (in a workflow) ?

has composition descriptionop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasCompositionDescription

has characteristics: functional

has super-properties
Run with other softwareop
has domain
softwarec
has range
compositionc

Is this software typically used with other software in a workflow ? (eg: for visualization, preprocessing, postprocessing, etc)

has creatorop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasCreator

has super-properties
Qualityop
has domain
softwarec
has range
personc

Who created this software ?

has dependencyop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasDependency

has super-properties
Execution Requirementsop
has domain
softwarec
has range
software versionc

What other software does the software require to be installed ?

has documentationop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasDocumentation

has characteristics: functional

has super-properties
Accessibilityop
has domain
softwarec
has range
Locationc

Is there any on-line documentation about the software ?

has doiop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasDoi

has super-properties
Scientific Publicationsop
has domain
software DOIc
has range
text valuec

What is the DOI for this software (or software version) ?

has doi version idop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasDoiVersionId

has super-properties
Scientific Publicationsop
has domain
software DOIc
has range
text valuec

Is this DOI associated with a particular version ?

has file idop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasFileId

has super-properties
Run with other softwareop
has domain
filec
has range
text valuec

What is the id for the file ?

has file typeop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasFileType

has super-properties
Run with other softwareop
has domain
filec
has range
text valuec

What is the file type ?

has input fileop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasInputFile

has super-properties
Run with other softwareop
has domain
softwarec
has range
filec

What input files that the software require ?

has installation instructionsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasInstallationInstructions

has super-properties
Execution Requirementsop
has domain
softwarec
has range
text valuec

How can one install the software ?

has languageop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasLanguage

has super-properties
Execution Requirementsop
has domain
softwarec
has range
languagec

What languages is the program written in ?

has licenseop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasLicense

has super-properties
Accessibilityop
has domain
softwarec
has range
licensec

What license is the code released under ?

has major contributorop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasMajorContributor

has super-properties
Qualityop
has domain
softwarec
has range
personc

Are there any major contributors of note for this software ?

has nameop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasName

has characteristics: functional

has super-properties
Accessibilityop
has domain
softwarec
has range
text valuec

What is it called ?

has other implementation detailsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasOtherImplementationDetails

has characteristics: functional

has super-properties
Execution Requirementsop
has domain
softwarec
has range
text valuec

Are there any other important details about the implementation of this code (parallelization, special hardware, etc) ?

has output fileop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasOutputFile

has super-properties
Run with other softwareop
has domain
softwarec
has range
filec

has person identifierop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasPersonIdentifier

has super-properties
Qualityop
has domain
personc
has range
text valuec

Provide a Twitter handle, ORCID Id, email address, github URL, home page, or any other unique identifier for this person

has preferred citationop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasPreferredCitation

has characteristics: functional

has super-properties
Scientific Publicationsop
has domain
softwarec
has range
Locationc

Is there a preferred publication for citing this software ?

has project websiteop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasProjectWebsite

has characteristics: functional

has super-properties
Accessibilityop
has domain
softwarec
has range
Locationc

Is there a project website for the software ?

has relevant data sourcesop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasRelevantDataSources

has super-properties
Run with other dataop
has domain
softwarec
has range
text valuec

Are there any relevant data sources to conduct an experiment with ?

has salient qualitiesop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasSalientQualities

has super-properties
Qualityop
has domain
softwarec
has range
text valuec

What other useful features of this software are worth highlighting ?

has short descriptionop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasShortDescription

has characteristics: functional

has super-properties
Accessibilityop
has domain
softwarec
has range
text valuec

Would you like to provide a short description for this software ?

has software communityop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasSoftwareCommunity

has super-properties
Support and Communityop
has domain
softwarec
has range
text valuec

Is there any on-line resource for accessing the software community ? (eg. Mailing-list, discussion board, wiki, etc)

has software doiop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasSoftwareDoi

has super-properties
Scientific Publicationsop
has domain
softwarec
has range
software DOIc

Is there a DOI for this software or any of its versions ?

has software supportop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasSoftwareSupport

has super-properties
Support and Communityop
has domain
softwarec
has range
text valuec

How can a user get support for the software ? (eg. Report bugs, request features and extensions, etc)

has software tagop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasSoftwareTag

has super-properties
Accessibilityop
has domain
softwarec
has range
software tagc

What category tags are associated with the software ?

has test dataop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasTestData

has super-properties
Testop
has domain
softwarec
has range
test datac

Do you have any test data for the software ?

has test data descriptionop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasTestDataDescription

has characteristics: functional

has super-properties
Testop
has domain
test datac
has range
text valuec

Can you describe the test data ?

has test data locationop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasTestDataLocation

has characteristics: functional

has super-properties
Testop
has domain
test datac
has range
Locationc

What is the URL for test data ?

has test instructionsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasTestInstructions

has characteristics: functional

has super-properties
Testop
has domain
softwarec
has range
text valuec

Are there any specific instructions for testing the software ?

has use informationop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasUseInformation

has super-properties
Qualityop
has domain
softwarec
has range
text valuec

Is there any information about uses of this software (paper dois, research labs, etc) ?

has use limitationsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasUseLimitations

has super-properties
Domain Knowledgeop
has domain
softwarec
has range
text valuec

Are there any constraints on use, situations it is not designed for, simplifications ?

has use statisticsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasUseStatistics

has super-properties
Qualityop
has domain
softwarec
has range
text valuec

Is there any information about the software use (downloads, frequency of run, etc) ?

has uses and assumptionsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasUsesAndAssumptions

has characteristics: functional

has super-properties
Domain Knowledgeop
has domain
softwarec
has range
text valuec

What are the recommended uses and assumptions for the software ?

has version idop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasVersionId

has super-properties
Software Evolutionop
has domain
software versionc
has range
text valuec

What is the software version id ?

has version release dateop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasVersionReleaseDate

has super-properties
Software Evolutionop
has domain
software versionc
has range
text valuec

When was this version released ?

has workflow descriptionop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#hasWorkflowDescription

has characteristics: functional

has super-properties
Run with other softwareop
has domain
compositionc
has range
text valuec

Describe the workflow ?

Qualityop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#QualityProperty

requires average memoryop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#requiresAverageMemory

has characteristics: functional

has super-properties
Execution Requirementsop
has domain
softwarec
has range
measurementc

Are there any memory requirements for this software ?

RUNop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#ExecutionProperty

has sub-properties
Accessibilityop, Execution Requirementsop, Testop

Run with other dataop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#OtherDataProperty

has super-properties
DO RESEARCHop
has sub-properties
has relevant data sourcesop

Run with other softwareop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#OtherSoftwareProperty

Scientific Publicationsop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#PublicationProperty

similar softwareop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#similarSoftware

has characteristics: functional

has super-properties
Domain Knowledgeop
has domain
softwarec
has range
text valuec

Is there any other similar software that you know of ?

Software Evolutionop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#SoftwareEvolutionProperty

has super-properties
CONTRIBUTEop
has sub-properties
has version idop, has version release dateop

Support and Communityop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#SupportCommunityProperty

has super-properties
CONTRIBUTEop
has sub-properties
has active developmentop, has software communityop, has software supportop

supports operating systemop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#supportsOperatingSystem

has super-properties
Execution Requirementsop
has domain
softwarec
has range
operating systemc

What Operating Systems can the program run on ?

Testop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#TestProperty

UNDERSTANDop back to ToC or Object Property ToC

IRI: http://ontosoft.org/software#ComprehensionProperty

has sub-properties
Domain Knowledgeop, Qualityop

Data Properties

has numeric valuedp back to ToC or Data Property ToC

IRI: http://ontosoft.org/software#hasNumericValue

has characteristics: functional

has domain
measurementc or numeric valuec
has range
float

has text valuedp back to ToC or Data Property ToC

IRI: http://ontosoft.org/software#hasTextValue

has characteristics: functional

has domain
text valuec
has range
string

has unitsdp back to ToC or Data Property ToC

IRI: http://ontosoft.org/software#hasUnits

has domain
measurementc
has range
string

has URI valuedp back to ToC or Data Property ToC

IRI: http://ontosoft.org/software#hasURI

has characteristics: functional

has domain
Locationc
has range
any u r i

Annotation Properties

descriptionap back to ToC or Annotation Property ToC

IRI: http://purl.org/dc/elements/1.1/description

is required propertyap back to ToC or Annotation Property ToC

IRI: http://ontosoft.org/software#isRequiredProperty

This property annotation indicates if a property is a required property or not

has range
boolean

search configap back to ToC or Annotation Property ToC

IRI: http://ontosoft.org/software#searchConfig

This property annotation provides information to be handed over to search engines (like Solr) to explain how to tokenize and index the property values

ui configap back to ToC or Annotation Property ToC

IRI: http://ontosoft.org/software#uiConfig

This property annotation provides UI specific information for the property like positioning, special UI interface, etc

Named Individuals

AGPLni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#AGPL

belongs to
licensec

Apache v2ni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#ALv2

belongs to
licensec

BSDni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#BSD

belongs to
licensec

Cni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#C

belongs to
languagec

C++ni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#Cplusplus

belongs to
languagec

CDDLni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#CDDL

belongs to
licensec

Creative Commonsni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#CreativeCommons

belongs to
licensec

CSSni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#CSS

belongs to
languagec

EPLni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#EPL

belongs to
licensec

fortranni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#Fortran

belongs to
languagec

GFDLni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#GFDL

belongs to
licensec

GPLv2ni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#GPLv2

belongs to
licensec

GPLv3ni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#GPLv3

belongs to
licensec

HTMLni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#HTML

belongs to
languagec

javani back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#Java

belongs to
languagec

javascriptni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#Javascript

belongs to
languagec

LGPLni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#LGPL

belongs to
licensec

matlabni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#Matlab

belongs to
languagec

MITni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#MIT

belongs to
licensec

MPLni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#MPL

belongs to
licensec

MsRLni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#MsRL

belongs to
licensec

perlni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#Perl

belongs to
languagec

pythonni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#Python

belongs to
languagec

rscriptni back to ToC or Named Individual ToC

IRI: http://ontosoft.org/software#Rscript

belongs to
languagec

5. References back to ToC

Add your references here in a list. It is recommended to have them as a list.

6. Acknowledgements back to ToC

The authors would like to thank Chris Mattmann, Scott Peckham, Kaijian Xu, Erin Robinson and Chris Duffy for helpful discussions about software descriptions that contributed to this ontology

Also thanks to Silvio Peroni for developing LODE, a Live OWL Documentation Environment used for representing the Cross Referencing Section of this document and Daniel Garijo for developing the script used to create the template of this document.