我正在使用protege 5并尝试将问卷转换为本体。我无法弄清楚如何建模多选答案。我有一个类(Class1),它有元素,每个元素一个人可以选择一个或多个允许的值。例如: ElementOne:" someStringValue1"," someStringValue2"," someStringValue3",someStringValue4" 。 并且用户可以选择" someStringValue1"和" someStringValue2"。
如何在protege和owl中对此进行建模?
答案 0 :(得分:0)
您可以使用枚举类来为一组固定的选项建模。例如,您可以说
之类的内容问题2答案≡{“选择a”,“选择b”,“选择c”,“以上都不是”} question2⊑∀hasAnswer.Question2Answers
这是一个可以下载并查看示例的本体。在其中,我宣布了两个问题个体,三个答案个体。我已经定义了两个属性 hasObjectAnswer 和 hasDataAnswer ,因此您可以使用个人或数据类型的文字作为答案。我已经说过,question1的可能答案是answerA,answerB和answerC,断言
问题1⊑∀hasObjectAnswer。{answerA,answerB,answerC}
我已经说过,问题2的可能答案是“回答一个”,“回答两个”,“回答三个”,以及“以上都不是”使用公理:
问题2⊑∀hasDataAnswer。{“回答一个”,......,“以上都不是”}
@prefix : <urn:ex:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
:answerB a owl:Thing , owl:NamedIndividual .
:question2 a owl:Thing , owl:NamedIndividual ;
a [ a owl:Restriction ;
owl:allValuesFrom [ a rdfs:Datatype ;
owl:oneOf ("answer one" "answer two" "answer three" "none of the above")
] ;
owl:onProperty :hasDataAnswer
] .
:answerA a owl:Thing , owl:NamedIndividual .
:question1 a owl:Thing , owl:NamedIndividual ;
a [ a owl:Restriction ;
owl:allValuesFrom [ a owl:Class ;
owl:oneOf ( :answerC :answerB :answerA )
] ;
owl:onProperty :hasObjectAnswer
] .
:hasObjectAnswer a owl:ObjectProperty .
:hasDataAnswer a owl:DatatypeProperty .
:answerC a owl:Thing , owl:NamedIndividual .