взвешенный предикат RDF (owl: ObjectProperty)

в RDF оператор представлен с помощью S, P и O; В OWL owl: ObjectProperty представляет логику предиката.

 (S) (P) (O)   
  I like dog

<owl:Class rdf:about="Person" />
<owl:NamedIndividual rdf:about="I">
    <rdf:type rdf:resource="Person"/>
    <like rdf:resource="Dog"/>
</owl:NamedIndividual>

<owl:Class rdf:about="Pet" />
<owl:NamedIndividual rdf:about="Dog">
    <rdf:type rdf:resource="Pet"/>
</owl:NamedIndividual>

<owl:ObjectProperty rdf:about="like">
    <rdfs:domain>
        <owl:Restriction>
            <owl:onProperty rdf:resource="like"/>
            <owl:someValuesFrom rdf:resource="Person"/>
        </owl:Restriction>
    </rdfs:domain>
    <rdfs:range>
        <owl:Restriction>
            <owl:onProperty rdf:resource="like"/>
            <owl:someValuesFrom rdf:resource="Pet"/>
        </owl:Restriction>
    </rdfs:range>
</owl:ObjectProperty>

Но как насчет того, чтобы описать «степень», в которой я люблю собак? Как я могу присвоить предикату свойство или значение? У меня есть одно решение - расширить одну инструкцию (S, P, O) до трех операторов. Например,

(S)             (P)        (O) 
 Person       isSrcOf    LikeRelation
 Pet          isTargetOf LikeRelation
 LikeRelation hasValue   [0~100]

Он должен работать, но, очевидно, позволит увеличить онтологию в 3 раза: (

Я ценю любое предложение!

7
задан rnd_nr_gen 7 September 2010 в 15:25
поделиться