This document describes the Schema currently in use within Simal as well as outlining some proposals for future data requirements.
Namespaces
Currently Supported
Doap Namespace
DOAP is used to capture key details about a project.
| Class | Description | Since | Example |
| doap:Project | A project. | 0.2 | <doap:Project rdf:about="http://foo.org/projectX#">...<project> |
| Property | Description | Range | Since | Current implementation | Example |
| doap:name | A name of something. | Literal | 0.2 | String | <name> Project X</name> |
| doap:homepage | URL of a project's homepage, associated with exactly one project. (subProperty of foaf:homepage) | foaf:Document (inherited) | 0.2 | IDoapHomepage | <doap:homepage rdf:resource="http://www.foo.org"/> |
| doap:old-homepage | URL of a project's past homepage, associated with exactly one project. (subProperty of foaf:homepage) | foaf:Document (inherited) | 0.2 | IDoapHomepage | <doap:old-homepage rdf:resource="http://www.bar.org/foo"/> |
| doap:created | Date when something was created, in YYYY-MM-DD form. e.g. 2004-04-05 | Literal | 0.2 | String | <created> 2004-04-05</created> |
| doap:shortdesc | Short plain text description of a project. | Literal | 0.2 | String | <shortdesc> A short description</shortdesc> |
| doap:description | Plain text description of a project. | Literal | 0.2 | String | <description> A complete description with all the words you could hope to see.</description> |
| doap:release | A project release. | doap:Version | 0.2 | IDoapRelease | <doap:release rdf:about="http://foo.org/project/release/0.1>... Unknown end tag for </release> |
| doap:mailing-list | Mailing list home page or email address. | Unspecified | 0.2 | IDoapMailingList |
| doap:category | A category of project. | Unspecified | 0.2 | IDoapCategory | |
| doap:license | The URI of an RDF description of the license outputs are distributed under. | Unspecified | 0.2 | IDoapLicence | |
| doap:repository | Data repository. | doap:Repository | 0.2 | IDoapRepository | |
| doap:download-page | Web page from which the project outputs can be downloaded. | Unspecified | 0.2 | IDoapDownloadPage | |
| doap:download-mirror | Mirror of download web page. | Unspecified | 0.2 | IDoapDownloadMirror | |
| doap:wiki | URL of Wiki for collaborative discussion of project. | Unspecified | 0.2 | IDoapWiki | |
| doap:bug-database | issue tracker for a project. | Unspecified | 0.2 | IDoapBugDatabase | |
| doap:screenshots | Web page with screenshots of project. | Unspecified | 0.2 | IDoapScreenshot | |
| doap:maintainer | Maintainer of a project, a project leader. | foaf:Person | 0.2 | IPerson | |
| doap:developer | Developer of software for the project. | foaf:Person | 0.2 | IPerson | |
| doap:documenter | Contributor of documentation to the project. | foaf:Person | 0.2 | IPerson | |
| doap:translator | Contributor of translations to the project. | foaf:Person | 0.2 | IPerson | |
| doap:tester | A tester or other quality control contributor. | foaf:Person | 0.2 | IPerson | |
| doap:helper | Project contributor. | foaf:Person | 0.2 | IPerson | |
| doap:programming-language | Programming language a project is implemented in or intended for use with. | Literal | 0.2 | String | |
| doap:os | Operating system that a project is limited to. Omit this property if the project is not OS-specific. | Literal | 0.2 | String | |
| Domain | Property | Description | Range | Since | Current Implementation | Example |
| doap:Repository | doap:browse | Web browser interface to repository. | Unspecified | 0.2 | IDoapLocation | |
| doap:Repository | doap:location | Location of a repository. | Unspecified | 0.2 | IDoapLocation | |
| doap:Repository | doap:anon-root | Repository for anonymous access. | Literal | 0.2 | String | |
doap:CVSRepository doap:ArchRepository doap:BKRepository | doap:module | Module name of a repository. | Unspecified | 0.2 | String | |
| doap:Version | doap:revision | Revision identifier of an output | Literal | 0.2 | String | |
Not yet supported
| Property | Description | Domain | Range |
| doap:file-release | URI of download associated with this release. | doap:Version | Unspecified |
| doap:implements | Implements specification | doap:Project | doap:Specification |
| doap:serivce-endpoint | The URI of a web service endpoint where software as a service may be accessed. | doap:Project | rdfs:Resource |
| doap:language | ISO language code a project has been translated into | doap:Project | Literal |
| doap:vendor | Vendor organization: commercial, free or otherwise | doap:Project | foaf:Organization |
| doap:platform | Indicator of software platform (non-OS specific), e.g. Java, Firefox, ECMA CLR | doap:Project doap:Version | Literal |
| doap:audience | Description of target user base | doap:Project | Literal |
| doap:blog | URI of a blog related to a project | doap:Project | rdfs:Resource |
FOAF Namespace
FOAF is used to capture key details about a person.
RDFS Namespace
RDFS is used to capture information about a resource.
| Name | Since | Description | Example |
| rdfs:label | 0.2 | A human readable label for a resource | <label> Human Readable Label</label> |
| rdfs:seeAlso | 0.2 | A reference to another, related resource | <rdfs:seeAlso rdf:resource="http://jisc.ac.uk/project#17" /> |
Simal Namespace
Simal is used to capture details specific to Simal held in the Simal repository.
| Name | Since | Description | Example |
| simal:Project | A simal representation of a project. This extends a doap:Project and allows some additional information to be provided. | 0.3 | <simal:Project rdf:about="http://foo.org/projectX"> |
| simal:Person | A simal representation of a project. This extends a foaf:Person and allows some additional information to be provided. | 0.3 | <simal:Person rdf:about="http://foo.org/personX"> |
| simal:personId | A unique identifier for a person stored within Simal. | 0.2 | <personid> this-is-a-world-unique-id</personid> |
| simal:projectId | A unique identifier for a project stored within Simal. | 0.2 | <projectid> this-is-a-world-unique-id</projectid> |
Proposed Additions
Discussion of some proposed additions.
| Data | Description | Suggested example Implementation |
| simal:collected | The date a fact was collected | <collected> YYYY-MM-DD</collected> |
| simal:source | The source of the document | <source> JISC</source> |
Relationship between schemas
For each project that is newly imported into Simal, a new simal:Project is created and a simal:ProjectId is generated. The DOAP file is kept as is and is referenced from the simal:Project via an rdfs:seeAlso. If the imported project has an rdf:about URI this will be used, for the reference, otherwise one will be generated that is specific to the source of the import.
Multiple DOAP files can be imported for the same project. See the figure below:
The same is true for entities of type foaf:Person. A simal:Person is created for a foaf:Person with an rdfs:seeAlso reference to the original foaf:Person. This has no effect on the doap:Project which will still reference to the original foaf:Person.