software
type: Ontology
version info: 0.9
comment: Ontosoft is an ontology to describe software

Accessibility
type: ObjectProperty
sub property of: RUN

UNDERSTAND
type: ObjectProperty

CONTRIBUTE
type: ObjectProperty

Domain Knowledge
type: ObjectProperty
sub property of: UNDERSTAND

RUN
type: ObjectProperty

Run with other data
type: ObjectProperty
sub property of: DO RESEARCH

Run with other software
type: ObjectProperty
sub property of: DO RESEARCH

Scientific Publications
type: ObjectProperty
sub property of: DO RESEARCH

Quality
type: ObjectProperty
sub property of: UNDERSTAND

Execution Requirements
type: ObjectProperty
sub property of: RUN

DO RESEARCH
type: ObjectProperty

Software Evolution
type: ObjectProperty
sub property of: CONTRIBUTE

Support and Community
type: ObjectProperty
sub property of: CONTRIBUTE

Test
type: ObjectProperty
sub property of: RUN

domainKeywords
type: ObjectProperty
description: Mention any domain specific keywords for this software
sub property of: Domain Knowledge
domain: Software
range: Text

hasActiveDevelopmentInfo
type: ObjectProperty
description: How is the software being developed or maintained ?
domain: Software
sub property of: Support and Community
range: Text

hasAverageRunTime
type: ObjectProperty
type: FunctionalProperty
description: Do you know how long it takes to run this software on average ?
range: Number
sub property of: Execution Requirements
domain: Software

hasBenchmarkInformation
type: ObjectProperty
description: Is there any benchmark information about the software ?
sub property of: Quality
domain: Software
range: Text

hasCodeLocation
type: ObjectProperty
type: FunctionalProperty
description: What is the URL for the code ?
sub property of: Accessibility
domain: Software
range: URI

hasCompatibleSoftware
type: ObjectProperty
description: What other software can this software be composed with (in a workflow) ?
domain: Composition
sub property of: Run with other software
range: Text

hasCompositionDescription
type: ObjectProperty
type: FunctionalProperty
description: Is this software typically used with other software in a workflow ? (eg: for visualization, preprocessing, postprocessing, etc)
range: Composition
sub property of: Run with other software
domain: Software

hasCreator
type: ObjectProperty
description: Who created this software ?
range: Person
sub property of: Quality
domain: Software

hasDependency
type: ObjectProperty
description: What other software does the software require to be installed ?
sub property of: Execution Requirements
domain: Software
range: SoftwareVersion

hasDocumentation
type: ObjectProperty
type: FunctionalProperty
description: Is there any on-line documentation about the software ?
sub property of: Accessibility
domain: Software
range: URI

hasDoi
type: ObjectProperty
description: What is the DOI for this software (or software version) ?
sub property of: Scientific Publications
domain: software DOI
range: Text

hasDoiVersionId
type: ObjectProperty
description: Is this DOI associated with a particular version ?
sub property of: Scientific Publications
domain: software DOI
range: Text

hasFileId
type: ObjectProperty
description: What is the id for the file ?
domain: File
sub property of: Run with other software
range: Text

hasFileType
type: ObjectProperty
description: What is the file type ?
domain: File
sub property of: Run with other software
range: Text

hasInputFile
type: ObjectProperty
description: What input files that the software require ?
range: File
sub property of: Run with other software
domain: Software

hasInstallationInstructions
type: ObjectProperty
description: How can one install the software ?
sub property of: Execution Requirements
domain: Software
range: Text

hasLanguage
type: ObjectProperty
description: What languages is the program written in ?
range: Language
sub property of: Execution Requirements
domain: Software

hasLicense
type: ObjectProperty
description: What license is the code released under ?
sub property of: Accessibility
range: License
domain: Software

hasMajorContributor
type: ObjectProperty
description: Are there any major contributors of note for this software ?
range: Person
sub property of: Quality
domain: Software

hasName
type: ObjectProperty
type: FunctionalProperty
description: What is it called ?
sub property of: Accessibility
domain: Software
range: Text

hasOtherImplementationDetails
type: ObjectProperty
type: FunctionalProperty
description: Are there any other important details about the implementation of this code (parallelization, special hardware, etc) ?
sub property of: Execution Requirements
domain: Software
range: Text

hasPersonIdentifier
type: ObjectProperty
description: Provide a Twitter handle, ORCID Id, email address, github URL, home page, or any other unique identifier for this person
domain: Person
sub property of: Quality
range: Text

hasProjectWebsite
type: ObjectProperty
type: FunctionalProperty
description: Is there a project website for the software ?
sub property of: Accessibility
domain: Software
range: URI

hasRelevantDataSources
type: ObjectProperty
description: Are there any relevant data sources to conduct an experiment with ?
sub property of: Run with other data
domain: Software
range: Text

hasSalientQualities
type: ObjectProperty
description: What are the salient qualities of this software ?
sub property of: Quality
domain: Software
range: Text

hasShortDescription
type: ObjectProperty
type: FunctionalProperty
description: Would you like to provide a short description for this software ?
sub property of: Accessibility
domain: Software
range: Text

hasSoftwareCommunityInfo
type: ObjectProperty
description: Is there any on-line resource for accessing the software community ? (eg. Mailing-list, discussion board, wiki, etc)
domain: Software
sub property of: Support and Community
range: Text

hasSoftwareDoi
type: ObjectProperty
description: Is there a DOI for this software or any of its versions ?
sub property of: Scientific Publications
domain: Software
range: software DOI

hasSoftwarePaper
type: ObjectProperty
type: FunctionalProperty
description: Is there a preferred publication for citing this software ?
sub property of: Scientific Publications
domain: Software
range: URI

hasSoftwareSupportInfo
type: ObjectProperty
description: How can a user get support for the software ? (eg. Report bugs, request features and extensions, etc)
domain: Software
sub property of: Support and Community
range: Text

hasSoftwareType
type: ObjectProperty
description: What type of software is it ?
sub property of: Accessibility
domain: Software
range: SoftwareType

hasTestData
type: ObjectProperty
description: Do you have any test data for the software ?
domain: Software
range: TestData
sub property of: Test

hasTestDataDescription
type: ObjectProperty
type: FunctionalProperty
description: Can you describe the test data ?
domain: TestData
sub property of: Test
range: Text

hasTestDataLocation
type: ObjectProperty
type: FunctionalProperty
description: What is the URL for test data ?
domain: TestData
sub property of: Test
range: URI

hasTestInstructions
type: ObjectProperty
type: FunctionalProperty
description: Are there any specific instructions for testing the software ?
domain: Software
sub property of: Test
range: Text

hasUseInformation
type: ObjectProperty
description: Is there any information about uses of this software (paper dois, research labs, etc) ?
sub property of: Quality
domain: Software
range: Text

hasUseLimitations
type: ObjectProperty
description: Are there any constraints on use, situations it is not designed for, simplifications ?
sub property of: Domain Knowledge
domain: Software
range: Text

hasUseStatistics
type: ObjectProperty
description: Is there any information about the software use (downloads, frequency of run, etc) ?
sub property of: Quality
domain: Software
range: Text

hasUsesAndAssumptions
type: ObjectProperty
type: FunctionalProperty
description: What are the recommended uses and assumptions for the software ?
sub property of: Domain Knowledge
domain: Software
range: Text

hasVersionId
type: ObjectProperty
description: What is the software version id ?
sub property of: Software Evolution
domain: SoftwareVersion
range: Text

hasVersionReleaseDate
type: ObjectProperty
description: When was this version released ?
sub property of: Software Evolution
domain: SoftwareVersion
range: Text

hasWorkflowDescription
type: ObjectProperty
type: FunctionalProperty
description: Describe the workflow ?
domain: Composition
sub property of: Run with other software
range: Text

requiresAverageMemory
type: ObjectProperty
type: FunctionalProperty
description: Are there any memory requirements for this software ?
range: Number
sub property of: Execution Requirements
domain: Software

similarSoftware
type: ObjectProperty
type: FunctionalProperty
description: Is there any other similar software that you know of ?
sub property of: Domain Knowledge
domain: Software
range: Text

supportsOperatingSystem
type: ObjectProperty
description: What Operating Systems can the program run on ?
range: OperatingSystem
sub property of: Execution Requirements
domain: Software

has URI value
type: DatatypeProperty
type: FunctionalProperty
domain: URI
range: anyURI

Composition
type: Class
comment: Composition class is used to describe composition of a software with others in a workflow

File
type: Class
comment: A File indicates a file based input to, or file based output from a software

Language
type: Class
comment: The class of programming languages

License
type: Class
comment: A class of licenses that the software is released under

Number
type: Class
comment: A Numeric value

OperatingSystem
type: Class
comment: Operating Systems that the software runs on

Person
type: Class
comment: A Person identifier class

Software
type: Class
comment: A Software is any piece of code that is described in Ontosoft

software DOI
type: Class
comment: SoftwareDoi indicates the DOI for a software version

SoftwareType
type: Class
comment: A software can have multiple types defined in the ontology

SoftwareVersion
type: Class
subclass of: Software
comment: A version of a piece of software described by ontosoft

TestData
type: Class
comment: TestData is used to describe test datasets for the software

Text
type: Class
comment: A Text value

URI
type: Class
comment: A URI value

AGPL
type: NamedIndividual
type: License

Apache v2
type: NamedIndividual
type: License

BSD
type: NamedIndividual
type: License

C
type: NamedIndividual
type: Language

CDDL
type: NamedIndividual
type: License

CSS
type: NamedIndividual
type: Language

C++
type: NamedIndividual
type: Language

Creative Commons
type: NamedIndividual
type: License

EPL
type: NamedIndividual
type: License

GFDL
type: NamedIndividual
type: License

GPLv2
type: NamedIndividual
type: License

GPLv3
type: NamedIndividual
type: License

HTML
type: NamedIndividual
type: Language

LGPL
type: NamedIndividual
type: License

MIT
type: NamedIndividual
type: License

MPL
type: NamedIndividual
type: License

MsRL
type: NamedIndividual
type: License