Asset Description Metadata Schema for Software (ADMS.SW)
type: Ontology
Software Release - date of last modification: 2012-06-29
abstract: ADMS.SW is intended as a model that facilitates federation and co-operation. It is not the primary intention that forge owners redesign or convert their current systems and data to conform to ADMS./FOSS, but rather that ADMS.SW can act as a common layer among software forges that want to exchange data.
rights: Copyright (c) 2012 European Commission.
attribution name: European Commission
comment: This file specifies the set of RDF classes and properties used in ADMS.SW
description: This is the RDF encoding of the Asset Description Metadata Schema for Software, developed under the European Union's ISA Programme, specifically under SEMIC Phase II, directed by Szabolcs Szekacs of DG DIGIT. It re-uses terms from several other vocabularues, notably DOAP (Description of a Project), DCAT (The Data Catalog Vocabulary) and Dublin Core with elements of SKOS, FOAF and more. The ADMS Concept Scheme, available at http://www.w3.org/ns/adms.html, defines its own lexical terms for its classes, properties and relationships.
version info: Version 1.00 29 June 2012
preferred namespace prefix: admssw
publisher: European Commission
attribution URL: http://ec.europa.eu/
Software Release - previous version: http://purl.org/adms/foss/20120625/
Software Release - main documentation: release100
specializes: radion#
Software Release - related asset: public-comments-adms-specification-v10
rights: Copyright © 2012 European Commission.
Software Package - license: ISA Open Metadata Licence v1.1
conforms to: Process and Methodology for Developing Core Vocabularies
Software Release - logo: UML Class Diagram: ADMS.SW v1.00 RDF Schema
creator: Stijn Goedertier
  affiliation: PwC EU Services
creator: Phil Archer
  affiliation: W3C/ERCIM
maker: ADMS.SW Working Group

ISA Open Metadata Licence v1.1
attribution name: European Commission
attribution URL: http://ec.europa.eu/

UML Class Diagram: ADMS.SW v1.00 Conceptual Model

Software Project
subclass of: Project
comment: A Software Project is a time-delimited undertaking with the objective to produce one or more software releases, materialised as software packages. Some projects are long-running undertakings, and do not have a clear time-delimited nature or project organisation. In this case, the term 'software project' can be interpreted as the result of the work: a collection of related software releases that serve a common purpose.
type: Class

Software Project - description
sub property of: Software Release - description
comment: Both the dcterms:description and doap:description properties fully cover the ADMS.SW property of the same name.

Software Project - homepage
sub property of: homepage
comment: Both the foaf:homepage and doap:homepage property fully represents the ADMS.SW relationship of the same name.

Software Project - keyword
usage note: The range of rad:keyword is Literal. They should be provided as language-tagged strings.
comment: A word or phrase used to succinctly descibe the software.
label: Software Release - keyword
comment: A word or phrase used to succinctly descibe the Software Release

Software Project - name
sub property of: name
comment: Both the dcterms:name and doap:name property fully represents the ADMS.SW property of the same name.

Software Project - release
usage note: Used in ADMS.SW to associate a project with its release.
comment: The doap:release property fully covers the ADMS.SW property 'release'.

Software Project - contributor
usage note: Used in ADMS.SW to associate a project with its contributor.
comment: contributing person or organisation for the project.
type: Property

Software Project - funded by
usage note: Used in ADMS.SW to associate a project with an organisation or person who funds it.
comment: contributing person or organisation for the project.
type: Property

Software Project - fork of
comment: software project of which the current project is a descendant .
type: Property

Software Project - developer
usage note: The range of this property is foaf:Person.
comment: The doap:documenter property fully covers the ADMS.SW property 'developer'.

Software Project - documenter
usage note: The range of this property is foaf:Person.
comment: The doap:documenter property fully covers the ADMS.SW property 'documenter'.

Software Project - maintainer
usage note: The range of this property is foaf:Person.
comment: The doap:maintainer property fully covers the ADMS.SW property 'maintainer'.

Software Project - helper
usage note: The range of this property is foaf:Person.
comment: The doap:helper property fully covers the ADMS.SW property 'helper'.

Software Project - tester
usage note: The range of this property is foaf:Person.
comment: The doap:tester property fully covers the ADMS.SW property 'tester'.

Software Project - translator
usage note: The range of this property is foaf:Person.
comment: The doap:translator property fully covers the ADMS.SW property 'translator'.

Software Project - metrics
usage note: The range of this property is not fixed by the ADMS.SW specification. It is recommended to relate this property to an instance of the class 'qb:DataSet'.
comment: A data set of metrics about the software project or software release.
type: Property
label: Software Release - metrics

Software Project - theme
comment: Topic, theme or function of the software. The theme relationship associates an Software Project or Release with a specific Theme (a skos:Concept).
type: Property
label: Software Release - theme

Software Project - intended audience
usage note: Ideally, the range of this property is skos:Concept.
range: Intended Audience
comment: Intended audience of the software.
type: Property

Software Project - locale
usage note: Ideally, the range of this property is skos:Concept.
range: Intended Audience
comment: Locale of the software.
type: Property

Software Project - user interface type
usage note: Ideally, the range of this property is skos:Concept.
range: Intended Audience
comment: User interface type of the software.
type: Property

Software Project - programming language
usage note: Ideally, the range of this property is skos:Concept.
range: Intended Audience
comment: Programming language of the software.
type: Property

Software Project - repository origin
comment: The dcterms:isPartOf property fully represents relationship 'repository origin'.
usage note: RADion uses dcterms:isPartOf to link an Asset to a Repository.
label: Software Release - repository origin
comment: The dcterms:isPartOf property fully represents the RADion relationship of repository origin.

Software Project - operating system
usage note: Ideally, the range of this property is skos:Concept.
range: Intended Audience
comment: Operating system of the software.
type: Property

Software Project - supports format
usage note: Ideally, the range of this property is dcterms:FileFormat.
range: Intended Audience
comment: Data format that is supported by the software.
type: Property

Software Project - status
usage note: Ideally, the range of this property is skos:Concept.
range: Intended Audience
comment: The status of the software project, asset, or package.
type: Property
label: Software Release - status
label: Software Package - status

Software Release
subclass of: Version
subclass of: Asset
comment: A Software Release is an abstract entity that reflects the intellectual content of the software and represents those characteristics of the software that are independent of its physical embodiment. This abstract entity corresponds to the FRBR entity expression (the intellectual or artistic realization of a work). An example of a Software Release is the Apache HTTP Server 2.22.22 (httpd) release.
type: Class

Software Release - alternative name
usage note: Alternative name for the Asset. Any number of alternative names may be supplied. The range of dcterms:alternative is rdfs:Literal
comment: The dcterms:alternative property fully represents the ADMS.SW property 'alternative name'.

Software Release - date of creation
usage note: The ADMS.SW and RADion RDF Schemas use this to provide the creation date of this version of the Repository, Asset or Package. RADion expects a datatyped value and for it to be conformant with ISO 8601, preferably using an xsd data type.
comment: The dcterms:created property fully represents the ADMS.SW property 'date of creation'.
label: Software Package - date of creation
label: Software Repository - date of creation

Software Release - date of last modification
usage note: RADion uses this to provide the date of latest update of the Repository, Asset or Package. RADion expects a datatyped value and for it to be conformant with ISO 8601, preferably using an xsd data type.
comment: The dcterms:modified property fully represents the RADion and ADMS.SW property Date of Last Modification.
label: Software Package - date of last modification
label: Software Repository - date of last modification

Software Release - description
usage note: Used in ADMS.SW to provide descriptive text for the Software Repository, Software Release or Software Package.
comment: The dcterms:description property fully covers the ADMS.SW property of the same name.
label: Software Package - description
label: Software Repository - description

Software Release - identifier
range: Identifier
comment: Any identifier for the AssetRelease.
usage note: ADMS.SW uses this to include a local identifier for the Software Release. The range of this property is adms:Identifier. This allows specifying the identifying system and ensures that the identifier stays meainingful in a situation with multiple identification domains.
type: Property

Software Release - metadataDate
comment: The date of the most recent update of the metadata for the Asset.
type: Property
label: Software Release - metadata date
range: Literal

Software Release - name
usage note: ADMS.SW uses this to provide the name or label of any class. In cases that a Software Release has parallel names, for example if more than one official name exists, or if an organisation or country has more than one official language, this field can be repeated for all name variants
comment: The rdfs:label property fully represents the RADion and ADMS.SW properties of name and label.
label: Software Package - name
label: Software Repository - name
label: Agent - name
label: Licence - name

Software Release - version
comment: Revision identifier of a software release.

Software Release - version notes
comment: Notes on the particular version of the Software Release. Description of what changed in this version.

Software Release - assessment
usage note: The range of this property is foaf:Document.
range: Documentation
comment: Assessment of the asset.
type: Property

Software Release - contact point
range: Contact Information
comment: Links an Asset to relevant <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="#ContactInformation">Contact Information</xh:a> which is provided using VCard.
type: Property

Software Release - included asset
sub property of: Software Repository - includes
sub property of: adms:includedAsset
comment: An Asset that is contained in the Software Release being described. Example: a Linux distribution is being described, that contains other libraries and submodules.

Software Release - language
usage note: RADion uses this to provide the language of the Asset. Note that this is quite separate from Locale.
comment: The dcterms:language property fully represents the RADion and ADMS.SW property of the same name.

Software Release - logo
comment: The foaf:logo property fully represents the ADMS.SW property of the same name.

Software Release - main documentation
usage note: Used in ADMS.SW to link to the main documentation or specification of the Asset.
comment: The <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="http://www.w3.org/2007/05/powder-s#describedby">wdrs:describedby</xh:a> property fully represents the ADMS.SW relationship 'main documentation'.

Software Release - metadata language
type: Property
comment: Links to the language of the metadata for the Asset. The range of adms:metadataLanguage is dcterms:LinguisticSystem which is used by RADion (and therefore ADMS) to represent the Language class.
range: LinguisticSystem

Software Release - current version
usage note: ADMS.SW uses the XHTML 'last' property to link an Asset to the most recent (i.e. current) version.
comment: The xhv:last property fully represents the RADion and ADMS.SW relationship 'current version'.

Software Release - next version
comment: The xhv:next property fully represents the RADion relationship of Next version
usage note: RADion uses the XHTML 'next' property to link an Asset to the next most recent version.

Software Release - previous version
usage note: RADion and ADMS.SW uses the XHTML 'previous' property to link an Asset to the previous version.
comment: The xhv:prev property fully represents the RADion and ADMS.SW relationship of Previous version

Software Release - project
usage note: The inverse property of 'admsv:project' is 'doap:release'.
range: Project
comment: The project that has produced the Asset.

Software Release - publisher
usage note: Used in RADion and thus ADMS.SW to link to the organisation responsible for the publication of the Asset, Repository or Distribution. Note that the range is dcterms:Agent.
comment: The dcterms:publisher property fully represents the RADion and ADMS.SW relationship of the same name
label: Software Package - publisher
label: Software Repository - publisher

Software Release - related asset
usage note: Used in RADion to link any Asset to any other related Asset. RADion expects the object to be an instance of rad:Asset or a sub-class.
comment: The dcterms:relation property fully represents the RADion related asset relationship.

Software Release - related web page
range: Documentation
comment: Links to a Web page that contains information related to the asset. The range of adms:relatedWebPage is foaf:Document

Software Release - package
sub property of: distribution
comment: The package relationship associates a Software Release with a Software Package.
type: Property

Software Release - spatial coverage
usage note: RADion uses this to link to the geographic region or jurisdiction that the Asset or Repository applies to. Note that the range is dcterms:Location.
comment: The dcterms:coverage property fully represents the RADion relationship of the same name
label: Software Repository - spatial coverage

Software Release - used by
range: Agent
comment: Agent that uses the Asset.
type: Property

Software Package
subclass of: SoftwareApplication
subclass of: Package
subclass of: Distribution
comment: A Software Package represents a particular physical embodiment of a Software Release, which is an example of the FRBR entity manifestation (the physical embodiment of an expression of a work). A Software Package is typically a downloadable computer file (but in principle it could also be a paper document) that implements the intellectual content of a Software Release. A particular Software Package is associated with one and only one Software Release, while all Packages of a Release share the same intellectual content in different physical formats. An example of a Software Package is httpd-2.2.22.tar.gz , which represents the Unix Source of the Apache HTTP Server 2.22.22 (httpd) software release.
type: Class

Software Package - software_id
usage note: Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard.
comment: A unique token within the regid domain of the tag creator.
range: Software Identifier
type: Property

Software Package - tag URL
comment: URL from which a software tag file can be obtained for the Software Package.
usage note: Several software tag standards exist such as the ISO19770-2:2009, the ISO19770-3 and the SPDX specification. These standards do not require the software tags to be available on via the Web.
type: Property

Software Package - file size
comment: The size of the package file in bytes.

Software Package - checksum
comment: The checksum property provides a mechanism that can be used to verify that the contents of a Package have not been changed.

Software Package - format
usage note: Used in RADion to link to the format that the Distribution is available in (e.g. EXE, ZIP) which is provided as a property of dcterms:FileFormat
comment: The dcterms:format property fully represents the RADion relationship of the same name

Software Package - license
usage note: Used in RADion to link to the conditions or restrictions for (re-use) of the Distribution. Note that the range is dcterms:LicenseDocument
comment: The dcterms:license property fully represents the RADion relationship of the same name.

Software Package - access URL
comment: The URL of the Repository or Distribution. The range of adms:accessURL is xsd:anyURI
type: Property

Software Package - release
sub property of: distributionOf
comment: The release relationship associates a Software Package with a Software Release.
type: Property

Software Repository
subclass of: Repository
comment: A Software Repository is a system or service that provides facilities for storage and maintenance of descriptions of Software Projects, Software Releases and Software Distributions, and functionality that allows users to search and access these descriptions. A Software Repository will typically contain descriptions of several Software Projects, Software Releases and related Software Distributions.
type: Class

Software Repository - access URL
type: Property
comment: The URL of the Repository or Distribution. The range of adms:accessURL is xsd:anyURI
range: anyURI

Software Repository - supported schema
range: Literal
comment: A schema according to which the Repository can provide data about its content, e.g. 'ADMS.SW v1.0'

Software Repository - includes
usage note: RADion uses dcterms:hasPart to link a Repository to an Asset.
comment: The dcterms:hasPart property fully represents the RADion relationship 'includes'.

Software Repository - theme taxonomy
range: Intended Audience
domain: Asset
comment: The theme taxonomy relationship associates a Repository with a classification scheme for the assets within it. Its domain is rad:Repository and its range is skos:ConceptScheme.

Agent
usage note: The dcterms:Agent class (or a sub class of it) is used in RADion to represent the publisher of a Repository or its components.
comment: A resource that acts or has the power to act.

Agent - type
type: Property
comment: The <xh:a xh:href="http://purl.org/dc/terms/type" xmlns:xh="http://www.w3.org/1999/xhtml">dcterms:type</xh:a> property fully represents the ADMS property of asset type, and the type properties of both the Licence and Publisher classes. The range of dcterms:type is rdfs:Class.
usage note: Used in ADMS to link an Asset to its Asset Type.
label: Licence - type

Contact Information
usage note: ADMS.SW uses VCard to provide contact information regarding a Software Release, including e-mail, address, name and associated Web page information. See <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="http://www.w3.org/TR/vcard-rdf/">Representing vCard Objects in RDF</xh:a> for details of this widely used specification.
comment: VCard fully represents the ADMS.SW class of Contact Information

Documentation
usage note: Used in ADMS.SW specifically for the class of documents that further describe a Software Asset or give guidelines for its use. ADMS.SW expects all documents to have a title (use <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="http://purl.org/dc/terms/title">dcterms:title</xh:a>).
comment: The foaf:Document class fully represents the ADMS.SW concept 'Documentation'.

License
usage note: Used in RADion to provide the conditions or restrictions that apply to the use of a Distribution, e.g. whether it is in the public domain, or that some restrictions apply like in cases attribution is required, or the Asset can only be used for non-commercial purposes etc.
comment: The dcterms:LicenseDocument class fully represents the RADion concept of a Licence

Data Set
usage note: ADMS.SW uses the RDF Data Qube Vocbulary to exchange metrics about a software project or software release.
comment: qb:DataSet fully represents the ADMS.SW class 'Data Set'.

measure: number of downloads
range: int
sub property of: obsValue
comment: The number of times a software package has been downloaded.
type: MeasureProperty
type: Property

measure: number of installations
range: int
sub property of: obsValue
comment: The number known instances of software package that have been installed.
type: MeasureProperty
type: Property

measure: number of users
range: int
sub property of: obsValue
comment: The number of known users of a software release.
type: MeasureProperty
type: Property

measure: number of commits
range: int
sub property of: obsValue
comment: The number of times code for the asset has been committed to the forge.
type: MeasureProperty
type: Property

measure: number of lines of code
range: int
sub property of: obsValue
comment: The number of lines of code within the asset (not including any dependencies).
usage note: Observations for the measure 'number of lines of code' should include the dimension 'programming language'.
type: MeasureProperty
type: Property

measure: ticket lead time
range: dateTime
sub property of: obsValue
comment: The time between opening and closing a support ticket in milliseconds.
type: MeasureProperty
type: Property

measure: effort
range: decimal
sub property of: obsValue
comment: The effort spent (expressed in personhours) on producing a new software release, not counting the effort spent on previous software releases.
type: MeasureProperty
type: Property

measure: cumulative effort
range: decimal
sub property of: obsValue
comment: The total effort spent (expressed in personhours) on producing a software release, including the effort spent on previous releases.
type: MeasureProperty
type: Property

dimension: agent dimension
comment: The agent category to which a measured observation applies.
concept: Agent
type: Property
type: DimensionProperty

dimension: release dimension
comment: The release category to which a measured observation applies.
concept: Asset
type: Property
type: DimensionProperty

dimension: package dimension
comment: The software package category to which a measured observation applies.
concept: Distribution
type: Property
type: DimensionProperty

dimension: time dimension
comment: The period of time or point in time to which the measured observation refers.

dimension: programming language dimension
comment: The programming language dimension to which a measured observation applies.
concept: Intended Audience
type: Property
type: DimensionProperty

Intended Audience
label: Operating System
comment: The Conceptual Model includes a 'Code' datatype that is used by several classes. This is expressed using the href="http://www.w3.org/TR/skos-primer/">SKOS vocabulary with a particular 'code' usually being a skos:Concept that is part of a scheme. The intention is that the skos:Concept class be used as follows: for the content property, use skos:notation he 'list' property will be taken care of by means of the skos:inScheme property; the list agency property is likely to be applied to the scheme as a whole for which dcterms:creator is appropriate the list version property can be fulfilled using schema:version (see http://schema.org/CreativeWork
label: Topic
comment: The skos:Concept class fully represents the ADMS.SW classes 'Intended Audience', 'Locale', 'Operating System', 'Status', 'Topic', and 'User Interface Type' (see section on the <xh:a xmlns:xh="http://www.w3.org/1999/xhtml" xh:href="#Code">Code</xh:a> datatype for details).
label: User Interface Type
label: Locale
label: Programming Language
label: Status
label: Intendend Audience, Locale, Operating System, Programming Language, Status, Topic, User Interface Type
comment: The skos:Concept class fully represents the ADMS.SW classes of Intendend Audience, Locale, Operating System, Programming Language, Status, Topic, User Interface Type (see section on the <xh:a xh:href="#Code" xmlns:xh="http://www.w3.org/1999/xhtml">Code</xh:a> datatype for details).
usage note: ADMS.SW uses SKOS Concepts to provide an indication of the maturity of an Asset or Distribution.

Checksum
comment: The SPDX class 'Checksum' fully represents the ADMS.SW type with the same name. A Checksum is value that allows the contents of a file to be authenticated. Even small changes to the content of the file will change it's checksum. This class allows the results of a variety of checksum and cryptographic message digest algorithms to be represented.

Software Identifier
usage note: Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard.
comment: A Software Identifier is a complex type (based on the software identifying system in the ISO19770-2:2009 software identification tag data model [ISO19770-2]) consisting of: a unique token within the regid domain of the tag creator; and a tag creator regid.
type: Class

Software Identifier - unique_id
usage note: Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard.
comment: A unique token within the regid domain of the tag creator.
range: Literal
domain: Software Identifier
type: Property

Software Identifier - tag_creator_regid
usage note: Used in ADMS.SW to aligin with the software identifying system in the ISO19770-2:2009 standard.
comment: A tag creator regid, uniquely identifying a tag creator and/or subdomain.
range: RegistrationId
domain: Software Identifier
type: Property

Identifier
comment: This class is based on the UN/CEFACT Identifier complex type defined in See Section 5.8 of Core Components Data Type Catalogue Version 3.1. The various properties can be fulfilled as follows: use skos:notation to provide the actual identifier (the Identifier class is effectively meaningless without this property and conceptually it is mandatory) use dcterms:type to provide an identifier for the type of identifier issued (the identifier scheme) use adms:schemeVersion to identify the version of the identifier scheme; use adms:schemeAgency to provide the name of the agency that created the identifier (as an rdfs:Literal). Although not part of the ADMS conceptual model, it may be useful to provide further properties to the Identifier class: use dcterms:creator to link to a URI of an Agent class describing the issuing Agency; use dcterms:created to provide the date on which the identifier was issued.