Ontological model for s-forms. Repository was moved to https://github.com/kbss-cvut/s-forms-model.
Miroslav Blasko
2021-03-28 311be0a76407a0b0d93f6fa26bfa442635832968
[New] Added condition related properties
3 files modified
487 ■■■■■ changed files
README.md 2 ●●● patch | view | raw | blame | history
form-layout.ttl 81 ●●●●● patch | view | raw | blame | history
form.ttl 404 ●●●● patch | view | raw | blame | history
README.md
@@ -1,4 +1,4 @@
## s-forms-mode
## s-forms-model
Ontological model for s-forms.
form-layout.ttl
@@ -1,53 +1,42 @@
# baseURI: http://onto.fel.cvut.cz/ontologies/form-layout
# imports: http://onto.fel.cvut.cz/ontologies/form
@prefix : <http://onto.fel.cvut.cz/ontologies/form-layout> .
@prefix form-lt: <http://onto.fel.cvut.cz/ontologies/form-layout/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://onto.fel.cvut.cz/ontologies/form-layout>
  rdf:type owl:Ontology ;
  owl:imports <http://onto.fel.cvut.cz/ontologies/form> ;
  owl:versionInfo "Created with TopBraid Composer"^^xsd:string ;
<http://onto.fel.cvut.cz/ontologies/form-layout> a owl:Ontology ;
    owl:imports <http://onto.fel.cvut.cz/ontologies/form> ;
.
form-lt:LayoutClassRule
  rdf:type owl:Class ;
  rdfs:label "Layout class rule"^^xsd:string ;
  rdfs:subClassOf owl:Thing ;
.
form-lt:has-layout-class
  rdf:type owl:DatatypeProperty ;
  rdfs:comment "Question layout class (e.g. \"type-ahead\", \"section\")"^^xsd:string ;
  rdfs:label "Question layout class"^^xsd:string ;
.
form-lt:has-required-value
  rdf:type owl:DatatypeProperty ;
  rdfs:comment "Question has required value"^^xsd:string ;
  rdfs:label "ha required value"^^xsd:string ;
  rdfs:range xsd:boolean ;
.
form-lt:is-disabled
  rdf:type owl:DatatypeProperty ;
  rdfs:comment "Defines whether this question should be disabled"^^xsd:string ;
  rdfs:label "is disabled"^^xsd:string ;
  rdfs:range xsd:boolean ;
.
form-lt:is-hidden
  rdf:type owl:DatatypeProperty ;
  rdfs:comment "Defines whether this question should be hidden"^^xsd:string ;
  rdfs:label "is hidden"^^xsd:string ;
  rdfs:range xsd:boolean ;
.
form-lt:outputValue
  rdf:type owl:DatatypeProperty ;
  rdfs:label "Form layout output value"^^xsd:string ;
  rdfs:range xsd:string ;
.
form-lt:propertyPath
  rdf:type owl:DatatypeProperty ;
  rdfs:label "Form layout property path"^^xsd:string ;
  rdfs:range xsd:string ;
.
form-lt:LayoutClassRule a owl:Class ;
    rdfs:label "Layout class rule" ;
    rdfs:subClassOf owl:Thing .
form-lt:has-layout-class a owl:DatatypeProperty ;
    rdfs:label "Question layout class" ;
    rdfs:comment "Question layout class (e.g. \"type-ahead\", \"section\")" .
form-lt:has-required-value a owl:DatatypeProperty ;
    rdfs:label "has required value" ;
    rdfs:comment "Question has required value" ;
    rdfs:range xsd:boolean .
form-lt:is-disabled a owl:DatatypeProperty ;
    rdfs:label "is disabled" ;
    rdfs:comment "Defines whether this question should be disabled" ;
    rdfs:range xsd:boolean .
form-lt:is-hidden a owl:DatatypeProperty ;
    rdfs:label "is hidden" ;
    rdfs:comment "Defines whether this question should be hidden" ;
    rdfs:range xsd:boolean .
form-lt:outputValue a owl:DatatypeProperty ;
    rdfs:label "Form layout output value" ;
    rdfs:range xsd:string .
form-lt:propertyPath a owl:DatatypeProperty ;
    rdfs:label "Form layout property path" ;
    rdfs:range xsd:string .
form.ttl
@@ -1,6 +1,3 @@
# baseURI: http://onto.fel.cvut.cz/ontologies/form
# imports: http://onto.fel.cvut.cz/ontologies/documentation
@prefix : <http://onto.fel.cvut.cz/ontologies/form/> .
@prefix doc: <http://onto.fel.cvut.cz/ontologies/documentation/> .
@prefix form: <http://onto.fel.cvut.cz/ontologies/form/> .
@@ -10,222 +7,187 @@
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
doc:answer
  rdf:type owl:Class ;
  rdfs:subClassOf form:entity ;
.
doc:todo
  rdf:type owl:DatatypeProperty ;
.
<http://onto.fel.cvut.cz/ontologies/form>
  rdf:type owl:Ontology ;
  rdfs:comment "Represent form data." ;
  owl:imports <http://onto.fel.cvut.cz/ontologies/documentation> ;
.
form:accepts-answer-value
  rdf:type owl:AnnotationProperty ;
  rdfs:label "accepts value"^^xsd:string ;
.
form:accepts-validation-value
  rdf:type owl:DatatypeProperty ;
  rdfs:comment "Defines which validation values (true/false) are permitted for the tested question." ;
  rdfs:domain form:condition ;
  rdfs:label "accepts validation value" ;
  rdfs:range xsd:boolean ;
.
form:answer-origin
  rdf:type owl:Class ;
  rdfs:comment "Class of objects that are used to reconstruct how was a answer created."^^xsd:string ;
  rdfs:label "Answer origin"^^xsd:string ;
.
form:condition
  rdf:type owl:Class ;
  rdfs:label "Condition"^^xsd:string ;
  rdfs:subClassOf owl:Thing ;
.
form:entity
  rdf:type owl:Class ;
  rdfs:label "entity"^^xsd:string ;
  rdfs:subClassOf owl:Thing ;
.
form:has-answer-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this answer was created."^^xsd:string ;
  rdfs:domain doc:question ;
  rdfs:label "has answer origin"^^xsd:string ;
  rdfs:subPropertyOf form:has-origin ;
.
form:has-datatype
  rdf:type owl:DatatypeProperty ;
  rdfs:label "has datatype"^^xsd:string ;
.
form:has-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this template was created."^^xsd:string ;
  rdfs:label "has origin"^^xsd:string ;
.
form:has-origin-path
  rdf:type owl:DatatypeProperty ;
  rdfs:label "has origin path"^^xsd:string ;
  rdfs:range xsd:string ;
.
form:has-origin-path-id
  rdf:type owl:DatatypeProperty ;
  rdfs:label "has origin path id"^^xsd:string ;
  rdfs:range xsd:string ;
.
form:has-origin-type
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines type of entity from which this template was created."^^xsd:string ;
  rdfs:label "has origin"^^xsd:string ;
.
form:has-possible-value
  rdf:type owl:ObjectProperty ;
  rdfs:domain doc:question ;
  rdfs:label "has possible value"^^xsd:string ;
.
form:has-possible-values-query
  rdf:type owl:DatatypeProperty ;
  rdfs:domain doc:question ;
  rdfs:label "has possible value query"^^xsd:string ;
.
doc:answer a owl:Class ;
    rdfs:subClassOf form:entity .
form:has-template-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this template was created."^^xsd:string ;
  rdfs:domain form:question-template ;
  rdfs:label "has template origin"^^xsd:string ;
  rdfs:subPropertyOf form:has-origin ;
.
form:has-preceding-question
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines that this question follows (typicaly chronologically) specified question."^^xsd:string ;
  rdfs:domain doc:question ;
  rdfs:label "has preceding question"^^xsd:string ;
  rdfs:range doc:question ;
.
form:has-preceding-template
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines that this question template follows (typicaly chronologically) specified question template."^^xsd:string ;
  rdfs:domain form:question-template ;
  rdfs:label "has preceding question template"^^xsd:string ;
  rdfs:range form:question-template ;
.
form:has-preceding-value
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines that this answer value follows (typicaly chronologically) specified answer value."^^xsd:string ;
  rdfs:label "has preceding question"^^xsd:string ;
.
form:has-question-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this question was created."^^xsd:string ;
  rdfs:domain doc:question ;
  rdfs:label "has question origin"^^xsd:string ;
  rdfs:subPropertyOf form:has-origin ;
.
form:has-subsection
  rdf:type owl:ObjectProperty ;
  rdfs:label "has-subsection"^^xsd:string ;
.
form:has-subtemplate
  rdf:type owl:ObjectProperty ;
  rdfs:domain form:section ;
  rdfs:range form:question-template ;
.
form:has-template
  rdf:type owl:ObjectProperty ;
  rdfs:label "has-template"^^xsd:string ;
.
form:has-template-origin
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines entity from which this template was created."^^xsd:string ;
  rdfs:domain form:question-template ;
  rdfs:label "has template origin"^^xsd:string ;
  rdfs:subPropertyOf form:has-origin ;
.
form:has-template-relation
  rdf:type owl:ObjectProperty ;
  rdfs:label "has-template-relation"^^xsd:string ;
.
form:has-tested-question
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Determine which questions are tested for this condition. Multiple questions can be tested."^^xsd:string ;
  rdfs:domain form:condition ;
  rdfs:label "has tested question"^^xsd:string ;
  rdfs:range doc:question ;
.
form:has-unit
  rdf:type owl:DatatypeProperty ;
  rdfs:label "has unit"^^xsd:string ;
  rdfs:range xsd:string ;
.
form:inherits-template-from
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Subject inherits properties from its object, i.e. any question created by subject template must also have properties of object template."^^xsd:string ;
  rdfs:domain form:question-template ;
  rdfs:range form:question-template ;
.
form:is-clone-of-question
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Question within subject of this relation is unmodifiable clone of question within object of this relation."^^xsd:string ;
  rdfs:domain doc:question ;
  rdfs:range doc:question ;
.
form:is-link-template-of
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Subject of this relation is a template relation (?s_qts_rel) that defines contract how any of its question should be created. Every question created using ?s_qts_rel must be only reference to other question created from ?o_qts_rel, i.e. template relation within object of this relation. Domain and range of this relation is of type reification of ?qt1 has-subtemplate ?qt2."^^xsd:string ;
.
form:is-relevant-if
  rdf:type owl:ObjectProperty ;
  rdfs:comment "States in which context is statement relevant."^^xsd:string ;
  rdfs:domain doc:question ;
  rdfs:label "is relevant if"^^xsd:string ;
  rdfs:range form:condition ;
.
form:is-valid-answer
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Defines  set of answers that need to be valid in order for condition to hold."^^xsd:string ;
  rdfs:domain form:condition ;
  rdfs:label "has valid answer"^^xsd:string ;
  rdfs:range doc:question ;
.
form:positive-validation-condition
  rdf:type owl:Class ;
  rdfs:comment "Indicates that accept answer value is only  \"true\" of this condition." ;
  rdfs:subClassOf form:validation-result-condition ;
.
form:question-origin
  rdf:type owl:Class ;
  rdfs:comment "Class of objects that are used to reconstruct how was a question created." ;
  rdfs:label "Question origin" ;
.
form:question-template
  rdf:type owl:Class ;
  rdfs:subClassOf form:template-entity ;
.
form:requires-answer
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Indicates that question requires answer."^^xsd:string ;
  rdfs:domain doc:question ;
  rdfs:label "requires answer"^^xsd:string ;
.
form:requires-answer-description-if
  rdf:type owl:ObjectProperty ;
  rdfs:comment "Answer requires descripton."^^xsd:string ;
  rdfs:domain doc:question ;
  rdfs:label "requires answer description"^^xsd:string ;
  rdfs:range form:condition ;
.
form:section
  rdf:type owl:Class ;
  rdfs:subClassOf form:question-template ;
.
form:template-entity
  rdf:type owl:Class ;
  rdfs:label "template-entity"^^xsd:string ;
  rdfs:subClassOf owl:Thing ;
.
form:validation-result-condition
  rdf:type owl:Class ;
  rdfs:subClassOf form:condition ;
.
doc:todo a owl:DatatypeProperty .
<http://onto.fel.cvut.cz/ontologies/form> a owl:Ontology ;
    rdfs:comment "Represent form data." ;
    owl:imports <http://onto.fel.cvut.cz/ontologies/documentation> .
form:accepts a owl:ObjectProperty ;
    rdfs:label "accepts" .
form:accepts-answer-value a owl:AnnotationProperty ;
    rdfs:label "accepts value" .
form:accepts-validation-value a owl:DatatypeProperty ;
    rdfs:label "accepts validation value" ;
    rdfs:comment "Defines which validation values (true/false) are permitted for the tested question." ;
    rdfs:domain form:condition ;
    rdfs:range xsd:boolean .
form:answer-origin a owl:Class ;
    rdfs:label "Answer origin" ;
    rdfs:comment "Class of objects that are used to reconstruct how was a answer created." .
form:answered-question rdfs:label "Represent question that was answered"@en ;
    rdfs:subClassOf doc:question .
form:has-answer-origin a owl:ObjectProperty ;
    rdfs:label "has answer origin" ;
    rdfs:comment "Defines entity from which this answer was created." ;
    rdfs:domain doc:question ;
    rdfs:subPropertyOf form:has-origin .
form:has-datatype a owl:DatatypeProperty ;
    rdfs:label "has datatype" .
form:has-origin-path a owl:DatatypeProperty ;
    rdfs:label "has origin path" ;
    rdfs:range xsd:string .
form:has-origin-path-id a owl:DatatypeProperty ;
    rdfs:label "has origin path id" ;
    rdfs:range xsd:string .
form:has-origin-type a owl:ObjectProperty ;
    rdfs:label "has origin" ;
    rdfs:comment "Defines type of entity from which this template was created." .
form:has-possible-value a owl:ObjectProperty ;
    rdfs:label "has possible value" ;
    rdfs:domain doc:question .
form:has-possible-values-query a owl:DatatypeProperty ;
    rdfs:label "has possible value query" ;
    rdfs:domain doc:question .
form:has-preceding-question a owl:ObjectProperty ;
    rdfs:label "has preceding question" ;
    rdfs:comment "Defines that this question follows (typicaly chronologically) specified question." ;
    rdfs:domain doc:question ;
    rdfs:range doc:question .
form:has-preceding-template a owl:ObjectProperty ;
    rdfs:label "has preceding question template" ;
    rdfs:comment "Defines that this question template follows (typicaly chronologically) specified question template." ;
    rdfs:domain form:question-template ;
    rdfs:range form:question-template .
form:has-preceding-value a owl:ObjectProperty ;
    rdfs:label "has preceding question" ;
    rdfs:comment "Defines that this answer value follows (typicaly chronologically) specified answer value." .
form:has-question-origin a owl:ObjectProperty ;
    rdfs:label "has question origin" ;
    rdfs:comment "Defines entity from which this question was created." ;
    rdfs:domain doc:question ;
    rdfs:subPropertyOf form:has-origin .
form:has-subsection a owl:ObjectProperty ;
    rdfs:label "has-subsection" .
form:has-subtemplate a owl:ObjectProperty ;
    rdfs:domain form:section ;
    rdfs:range form:question-template .
form:has-template a owl:ObjectProperty ;
    rdfs:label "has-template" .
form:has-template-origin a owl:ObjectProperty ;
    rdfs:label "has template origin" ;
    rdfs:comment "Defines entity from which this template was created." ;
    rdfs:domain form:question-template ;
    rdfs:subPropertyOf form:has-origin .
form:has-template-relation a owl:ObjectProperty ;
    rdfs:label "has-template-relation" .
form:has-tested-question a owl:ObjectProperty ;
    rdfs:label "has tested question" ;
    rdfs:comment "Determine which questions are tested for this condition. Multiple questions can be tested." ;
    rdfs:domain form:condition ;
    rdfs:range doc:question .
form:has-unit a owl:DatatypeProperty ;
    rdfs:label "has unit" ;
    rdfs:range xsd:string .
form:inherits-template-from a owl:ObjectProperty ;
    rdfs:comment "Subject inherits properties from its object, i.e. any question created by subject template must also have properties of object template." ;
    rdfs:domain form:question-template ;
    rdfs:range form:question-template .
form:is-clone-of-question a owl:ObjectProperty ;
    rdfs:comment "Question within subject of this relation is unmodifiable clone of question within object of this relation." ;
    rdfs:domain doc:question ;
    rdfs:range doc:question .
form:is-link-template-of a owl:ObjectProperty ;
    rdfs:comment "Subject of this relation is a template relation (?s_qts_rel) that defines contract how any of its question should be created. Every question created using ?s_qts_rel must be only reference to other question created from ?o_qts_rel, i.e. template relation within object of this relation. Domain and range of this relation is of type reification of ?qt1 has-subtemplate ?qt2." .
form:is-relevant-if a owl:ObjectProperty ;
    rdfs:label "is relevant if" ;
    rdfs:comment "States in which context is statement relevant." ;
    rdfs:domain doc:question ;
    rdfs:range form:condition .
form:is-valid-answer a owl:ObjectProperty ;
    rdfs:label "has valid answer" ;
    rdfs:comment "Defines  set of answers that need to be valid in order for condition to hold." ;
    rdfs:domain form:condition ;
    rdfs:range doc:question .
form:not-answered-question rdfs:label "Represent question that was not answered"@en ;
    rdfs:subClassOf doc:question .
form:or-condition a owl:Class ;
    rdfs:label "Or condition" ;
    rdfs:subClassOf form:condition .
form:positive-validation-condition a owl:Class ;
    rdfs:comment "Indicates that accept answer value is only  \"true\" of this condition." ;
    rdfs:subClassOf form:validation-result-condition .
form:question-origin a owl:Class ;
    rdfs:label "Question origin" ;
    rdfs:comment "Class of objects that are used to reconstruct how was a question created." .
form:requires-answer a owl:ObjectProperty ;
    rdfs:label "requires answer" ;
    rdfs:comment "Indicates that question requires answer." ;
    rdfs:domain doc:question .
form:requires-answer-description-if a owl:ObjectProperty ;
    rdfs:label "requires answer description" ;
    rdfs:comment "Answer requires descripton." ;
    rdfs:domain doc:question ;
    rdfs:range form:condition .
form:entity a owl:Class ;
    rdfs:label "entity" ;
    rdfs:subClassOf owl:Thing .
form:section a owl:Class ;
    rdfs:subClassOf form:question-template .
form:template-entity a owl:Class ;
    rdfs:label "template-entity" ;
    rdfs:subClassOf owl:Thing .
form:validation-result-condition a owl:Class ;
    rdfs:subClassOf form:condition .
form:has-origin a owl:ObjectProperty ;
    rdfs:label "has origin" ;
    rdfs:comment "Defines entity from which this template was created." .
form:condition a owl:Class ;
    rdfs:label "Condition" ;
    rdfs:subClassOf owl:Thing .
form:question-template a owl:Class ;
    rdfs:subClassOf form:template-entity .