Semantic Web Ontology for Requirements Engineering (SWORE)

Specification of SWORE - 30 January 2012


Namespace URI:
http://ns.softwiki.de/req/
Latest version:
Version 2.0 - (RDF/TURTLE, RDF/XML, HTML)
Last update:
2012-01-30
Authors:
Thomas Riechert, Steffen Lohmann, Jens Lehmann, Kim Lauenroth, Philipp Heim, Sebastian Tramp

Abstract

The Semantic Web Ontology for Requirements Engineering (SWORE) is an ontology that has been developed to describe a requirements model within the SoftWiki methodology. The SoftWiki methodology supports a wiki-based distributed, end-user centered requirements engineering for evolutionary software development. The core of SWORE are classes that represent essential concepts of nearly every requirements engineering project. It supports the core concepts Requirement, Source, Stakeholder, Glossar. It is aligned to external vocabularies like DC-Terms, SIOC, FOAF, SKOS, DOAP or the tagging ontologies Tags and MUTO.


Table of Contents

  1. Visualisation
  2. Aligned Vocabularies
  3. Classes
  4. Object Properties
  5. Datatype Properties
  6. Acknowledgments
  7. References

Visualisation [back to top]


Aligned Vocabularies [back to top]

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix muto: <http://purl.org/muto/core#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix sioctypes: <http://rdfs.org/sioc/types#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix tags: <http://www.holygoat.co.uk/owl/redwood/0.1/tags/> .
@prefix req: <http://ns.softwiki.de/req/> .    

Classes (12) [back to top]

req:Requirement | req:Project | req:Source | req:Stakeholder | req:Document | req:ExistingSystem | req:ReferencePoint | req:GlossaryTerm | req:Enrichment | req:PriorityRating | req:QualityRating | req:Vote


req:Requirement [back to Classes]

<http://ns.softwiki.de/req/Requirement>
    a owl:Class ;
    rdfs:label "Requirement"@en, "Anforderung"@de .
    
In Domain of:
req:source | req:hasProject | req:references | req:enrichedBy | req:contributor | req:relation | req:isDetailedBy | req:priority | req:quality | req:status
In Range of:
req:relation | req:isDetailedBy
Description:
The concept of this class is a Requirement that is related to nearly any kind of project. Between instances of the class req:Requirement relations can be defined using the sub-properties of req:relation (e.g. req:contains, req:invalidates, req:dependsOn, etc.). Requirements are derived from Sources (req:Source) or its subclasses req:Document and req:Stakeholder. Stakholders can contribute (req:contributor) information to the Requirement and enchrich (req:enrichedBy) it by commenting, voting or personal tagging. Requirements are referenced by a domain specific topic (skos:Concept), using Tags (tags:Tag) or as usual in the requirements engineering domain by using Glossary Terms (req:GlossaryTerm).

req:Project [back to Classes]

<http://ns.softwiki.de/req/Project>
    a owl:Class ;	
    owl:equivalentClass [ a owl:Class ;
			  owl:intersectionOf ( doap:Project
				[ a owl:Restriction ;
				  owl:onProperty [ owl:inverseOf req:hasProject ] ;
				  owl:someValueFrom req:Requirement ]
				)
			] ; 
    rdfs:label "Project"@en, "Projekt"@de .
    
In Range of:
req:hasProject
Description:
The class req:Project describes general projects. It is aligned to doap:Project that is intended to describe open-source projects.

req:Source [back to Classes]

<http://ns.softwiki.de/req/Source>
    a owl:Class ;
    rdfs:label "Source of the Requirement"@en, "Anforderungsquelle"@de .
    
In Range of:
req:source
Description:
The class req:Source represents the req:source of a requirement. There are two major subclasses of req:Source : req:Stakeholder and req:Document.

req:Stakeholder [back to Classes]

<http://ns.softwiki.de/req/Stakeholder>
    a owl:Class ;	
    owl:equivalentClass [ a owl:Class ;
			  owl:intersectionOf ( foaf:Agent
				[ a owl:Restriction ;
				  owl:onProperty [ owl:inverseOf dcterms:source ] ;
				  owl:someValueFrom req:Requirement ]
				)
			] ,
			[ a owl:Class ;  
			  owl:intersectionOf ( foaf:Agent 
				[ a owl:Restriction ; 
				  owl:onProperty [ owl:inverseOf dcterms:contributer ] ;
				  owl:someValueFrom req:Requirement 
				] )
			] ; 
    rdfs:subClassOf req:Source ;
    rdfs:label "Stakeholder"@en, "Stakeholder"@de .
    
In Range of:
req:contributor
Description:
This class represents involved Stakeholders. Usually it will be not directly used as it is aligned to foaf:Agent and its subclasses foaf:Person, foaf:Group etc..

req:Document [back to Classes]

<http://ns.softwiki.de/req/Document>
    a owl:Class ;	
    owl:equivalentClass [ a owl:Class ;
			  owl:intersectionOf ( foaf:Document
				[ a owl:Restriction ;
				  owl:onProperty [ owl:inverseOf dcterms:source ] ;
				  owl:someValueFrom req:Requirement ]
				)
			] ; 
    rdfs:subClassOf req:Source ;
    rdfs:label "Document"@en, "Dokument"@de .
    
Description:
This class represents Documents that are source of a Requirement. Such documents may be standards, a law, manuals, screenshots etc.. req:Document is aligned to foaf:Document.

req:ExistingSystem [back to Classes]

<http://ns.softwiki.de/req/ExistingSystem>
    a owl:Class ;	
    rdfs:subClassOf req:Source ;
    rdfs:label "Existing System"@en, "Bestehendes System"@de .
    
Description:
This class represents references to existing systems, if they are sources for requirements. The URI of instances of this class can be the URL of an existing Web-Application.

req:ReferencePoint [back to Classes]

<http://ns.softwiki.de/req/ReferencePoint>
    a owl:Class ;		
    owl:equivalentClass [ a owl:Class ;
			  owl:intersectionOf ( skos:Concept 
				[ a owl:Restriction ;
				  owl:onProperty [ owl:inverseOf dcterms:subject ] ;
				  owl:someValueFrom req:Requirement 
				] ) 
			] ,
			[ a owl:Class ;  
			  owl:intersectionOf ( tags:Tag 
				[ a owl:Restriction ; 
				  owl:onProperty [ owl:inverseOf tags:taggedWithTag ] ;
				  owl:someValueFrom req:Requirement 
				] )
			] ; 
    rdfs:label "Reference Point"@en, "Referenzpunkt"@de .
    
In Range of:
req:references
Description:
A reference point is a resource that is related to the req:Requirement. The resources range from domain specific topics, represented by skos:Concept, Tags (tags:Tag), req:GlossaryTerms. The class req:ReferencePoint is also very important to document the traces, e.g. from requirement to source code.

req:GlossaryTerm [back to Classes]

<http://ns.softwiki.de/req/GlossaryTerm>
    a owl:Class ;
    owl:equivalentClass [ a owl:Class ;
			  owl:intersectionOf ( tags:Tag 
				[ a owl:Restriction ;
				  owl:onProperty [ owl:inverseOf tags:taggedWithTag ] ;
				  owl:someValueFrom req:Requirement ]
				)
			] ; 
    rdfs:subClassOf req:ReferencePoint ;
    rdfs:label "Glossary Term"@en, "Glossarbegriff"@de .
    
Description:
Glossary terms are very important to understand the domain of a further project. They are derived from general tags extended by a description of the meaning of the tag.

req:Enrichment [back to Classes]

<http://ns.softwiki.de/req/Enrichment>
    a owl:Class ;
    owl:equivalentClass [ a owl:Class ;
			  owl:intersectionOf ( sioc:Item 
				[ a owl:Restriction ;
				  owl:onProperty [ owl:inverseOf sioc:about ] ;
				  owl:someValueFrom req:Requirement ]
				)
			] ,
    owl:equivalentClass [ a owl:Class ;
			  owl:intersectionOf ( sioc:Item 
				[ a owl:Restriction ;
				  owl:onProperty [ owl:inverseOf muto:taggedWith ] ;
				  owl:someValueFrom req:Requirement ]
				)
			] ,
    rdfs:label "Enrichment"@en, "Anreicherung"@de .
    
In Range of:
req:enrichedBy
Description:
Enrichments are any concepts that added value to an Requirement. This class is aligned to sioc:Item so mainly enrichments are sioc:Poll or sioc:Comment on a Requirement. n additional alignment is defined to MUTO vocabulary to support personal tagging.

req:PriorityRating [back to Classes]

<http://ns.softwiki.de/req/PriorityRating>
    a owl:Class ;
    rdfs:subClassOf sioctypes:Poll ;
    rdfs:label "Priority Rating"@en, "Gewichtung"@de .
    
Description:
Stakeholder can define one rating about the priority for each requirement.

req:QualityRating [back to Classes]

<http://ns.softwiki.de/req/QualityRating>
    a owl:Class ;
    rdfs:subClassOf sioctypes:Poll ;
    rdfs:label "Quality Rating"@en, "Qualitätsbewertung"@de .
    
Description:
Stakeholder can define one rating about the quality for each requirement.

req:Vote [back to Classes]

<http://ns.softwiki.de/req/Vote>
    a owl:Class ;
    rdfs:subClassOf sioctypes:Poll ;
    rdfs:label "Vote"@en, "Abstimmung"@de .
    
Description:
Rule: Every Author only votes at most one requirement.

Object Properties (21) [back to top]

req:source | req:hasProject | req:references | req:enrichedBy | req:contributor | req:creator | req:lastContributor | req:relation | req:isRedundantTo | req:isSimilarTo | req:contains | req:isPartOf | req:requires | req:isRequiredBy | req:isInvalidFor | req:invalidates | req:entails | req:dependsOn | req:details | req:isDetailedBy | req:conflicts


req:source [back to Object Properties]

<http://ns.softwiki.de/req/source>
    a owl:ObjectProperty ;
    rdfs:domain req:Requirement ;
    rdfs:range req:Source ;
    rdfs:subPropertyOf dcterms:source ;
    rdfs:label "has source"@en, "hat Quelle"@de .
    

req:hasProject [back to Object Properties]

<http://ns.softwiki.de/req/hasProject>
    a owl:ObjectProperty ;
    rdfs:domain req:Requirement ;
    rdfs:range req:Project ;
    rdfs:label "has Project"@en, "gehört zu Projekt"@de .
    

req:references [back to Object Properties]

<http://ns.softwiki.de/req/references>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf dcterms:references, dcterms:subject, tags:taggedWithTag, skos:primarySubject ;
    rdfs:domain req:Requirement ;
    rdfs:range req:ReferencePoint ;
    rdfs:label "references"@en, "referenziert"@de .
    

req:enrichedBy [back to Object Properties]

<http://ns.softwiki.de/req/enrichedBy>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf sioc:about, rdfs:subPropertyOf muto:taggedWith ;
    rdfs:domain req:Requirement ;
    rdfs:range req:Enrichment ;
    rdfs:label "enriched by"@en, "angereichert durch"@de .
    

req:contributor [back to Object Properties]

<http://ns.softwiki.de/req/contributor>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf dcterms:contributor ;
    rdfs:domain req:Requirement ;
    rdfs:range req:Stakeholder ;
    rdfs:label "Contributor"@en, "trägt bei"@de .
    

req:creator [back to Object Properties]

<http://ns.softwiki.de/req/creator>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:contributor ;
    rdfs:label "Creator"@en, "hat erstellt"@de .
    
Description:
Indicates the req:Stakeholder that creates the resource of a req:Requirements.

req:lastContributor [back to Object Properties]

<http://ns.softwiki.de/req/lastContributor>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:contributor ;
    rdfs:label "Last Contributor"@en, "hat zuletzt beigetragen"@de .
    
Description:
Indicates the req:Stakeholder that made the latest contribution on a req:Requirements.

req:relation [back to Object Properties]

<http://ns.softwiki.de/req/relation>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf dcterms:relation ;
    rdfs:domain req:Requirement ;
    rdfs:range req:Requirement ;
    rdfs:label "is related to"@en, "steht in Beziehung zu"@de .
    

req:isRedundantTo [back to Object Properties]

<http://ns.softwiki.de/req/isRedundantTo>
    a owl:ObjectProperty, owl:SymmetricProperty ;
    rdfs:subPropertyOf req:relation ;
    rdfs:label "redundant to"@en, "redundant zu"@de .
    

req:isSimilarTo [back to Object Properties]

<http://ns.softwiki.de/req/isSimilarTo>
    a owl:ObjectProperty, owl:SymmetricProperty ;
    rdfs:subPropertyOf req:relation ;
    rdfs:label "similar to"@en, "ähnlich wie"@de .
    

req:contains [back to Object Properties]

<http://ns.softwiki.de/req/contains>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:relation ;
    rdfs:label "contains"@en , "beinhaltet"@de .
    

req:isPartOf [back to Object Properties]

<http://ns.softwiki.de/req/isPartOf>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:relation ;
    owl:inverseOf req:contains ;
    rdfs:label "is part of"@en , "ist Teil von"@de .
    

req:requires [back to Object Properties]

<http://ns.softwiki.de/req/requires>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:relation ;
    rdfs:label "requires"@en , "benötigt"@de .
    

req:isRequiredBy [back to Object Properties]

<http://ns.softwiki.de/req/isRequiredBy>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:relation ;
    owl:inverseOf req:requires ;
    rdfs:label "requires"@en , "benötigt"@de .
    

req:isInvalidFor [back to Object Properties]

<http://ns.softwiki.de/req/isInvalidFor>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:relation ;
    rdfs:label "invalid for"@en, "ungültig für"@de .
    

req:invalidates [back to Object Properties]

<http://ns.softwiki.de/req/invalidates>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:relation ;
    owl:inverseOf req:isInvalidFor ;
    rdfs:label "invalidates"@en, "erklärt ungültig"@de .
    

req:entails [back to Object Properties]

<http://ns.softwiki.de/req/entails>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:relation ;
    rdfs:label "entails"@en, "hat zur Folge"@de .
    

req:dependsOn [back to Object Properties]

<http://ns.softwiki.de/req/dependsOn>
    a owl:ObjectProperty ;
    owl:inverseOf req:entails ;
    rdfs:label "depends on"@en, "hängt ab von"@de .
    

req:details [back to Object Properties]

<http://ns.softwiki.de/req/details>
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:relation ;
    owl:inverseOf req:isDetailedBy ;
    rdfs:label "details"@en, "detailliert"@de .
    

req:isDetailedBy [back to Object Properties]

<http://ns.softwiki.de/req/isDetailedBy>
    a owl:ObjectProperty ;
    rdfs:domain req:Requirement ;
    rdfs:range req:Requirement ;
    rdfs:label "detailed by"@en, "detailliert durch"@de .
    

req:conflicts [back to Object Properties]

<http://ns.softwiki.de/req/conflicts>
    a owl:ObjectProperty, owl:SymmetricProperty ;
    rdfs:subPropertyOf req:relation ;
    rdfs:label "conficts"@en, "steht im Konflikt zu"@de .
    

Datatype Properties (3) [back to top]

req:priority | req:quality | req:status


req:priority [back to Datatype Properties]

<http://ns.softwiki.de/req/priority>
    a owl:DatatypeProperty ;
    rdfs:domain req:Requirement ;
    rdfs:label "priority"@en , "hat Priorität"@de .
    
Description:
Describes the priority of a req:Requirement.

req:quality [back to Datatype Properties]

<http://ns.softwiki.de/req/quality>
    a owl:DatatypeProperty ;
    rdfs:domain req:Requirement ;
    rdfs:label "quality"@en, "hat Qualität"@de .
    
Description:
Describes the quality of a req:Requirement.

req:status [back to Datatype Properties]

<http://ns.softwiki.de/req/status>
    a owl:DatatypeProperty ;
    rdfs:domain req:Requirement ;
    rdfs:label "status"@en , "hat Status"@de .
    
Description:
Defines the state of a req:Requirement.

Deprecated Classes and Properties (1) [back to top]

req:lastModifiedBy


req:lastModifiedBy [back to Deprecated Classes and Properties]

<http://ns.softwiki.de/req/lastModifiedBy>
    owl:versionInfo "Deprecated - use lastContributor instead." ;
    a owl:ObjectProperty ;
    rdfs:subPropertyOf req:lastContributor ;
    rdfs:label "last author"@en , "Letzter Autor"@de .
    

Acknowledgments [back to top]

This work has been conducted in the context of the SoftWiki project funded by the German Federal Ministry of Education and Research (BMBF).


References [back to top]

Sören Auer, Kim Lauenroth, Steffen Lohmann und Thomas Riechert, Hrsg. Agiles Requirements Engineering für Softwareprojekte mit einer großen Anzahl verteilter Stakeholder, Band. 18 of Leipziger Beiträge zur Informatik. Leipziger Informatik Verbund (LIV), Leipzig, Germany, September 2009.

Steffen Lohmann, Paloma Díaz und Ignacio Aedo. MUTO: The Modular Unified Tagging Ontology. In Chiara Ghidini, Axel-Cyrille Ngonga Ngomo, Stefanie N. Lindstaedt und Tassilo Pellegrini, Ed., Proceedings the 7th International Conference on Semantic Systems, ACM International Conference Proceeding Series, Pages 95-104, Graz, Austria, September 2011. ACM Press.

Ruben Navarro Piris. Extracting Knowledge Bases from tablestructured Web Resources applied to the semantic based Requirements Engineering Methodology SoftWiki. In Klaus-Peter Fähnrich und Bogdan Franczyk, Ed., INFORMATIK 2010: Service Science - Neue Perspektiven für die Informatik, Volume. 2 of GI-Edition - Lecture Notes in Informatics, Pages 992-995. Gesellschaft für Informatik e.V., 2010.

Thomas Riechert und Steffen Lohmann. Mapping Cognitive Models to Social Semantic Spaces - Collaborative Development of Project Ontologies. In Sören Auer, Christian Bizer, Claudia Müller und Anna Zhdanova, Ed., Proceedings of the 1st Conference on Social Semantic Web, Volume. P-113 of GI-Edition - Lecture Notes in Informatics (LNI), ISSN 1617-5468, Pages 91-98, Leipzig, Germany, 2007. Bonner Köllen Verlag.

Thomas Riechert, Kim Lauenroth und Jens Lehmann. SWORE - SoftWiki Ontology for Requirements Engineering. In Sören Auer, Christian Bizer, Claudia Müller und Anna Zhdanova, Ed., Proceedings of the 1st Conference on Social Semantic Web, Volume. P-113 of GI-Edition - Lecture Notes in Informatics (LNI). Bonner Köllen Verlag, September 2007.


Creative Commons License