en RDF una sentencia se representa con S, P y O; En OWL, owl: ObjectProperty representa la lógica de predicados.predicado RDF ponderado (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>
Pero ¿qué tal si se describe "el grado" que me gustan los perros? ¿Cómo puedo dar una propiedad o valor a un predicado? Una solución que obtuve es extender una declaración (S, P, O) a 3 declaraciones. Por ejemplo,
(S) (P) (O)
Person isSrcOf LikeRelation
Pet isTargetOf LikeRelation
LikeRelation hasValue [0~100]
Se debe trabajar, pero, obviamente, que permitirá a la ontología 3 veces más grande :(
Agradezco cualquier sugerencia
http://www.w3.org/TR/2004/WD-swbp-n-aryRelations-20040721/ – elgcom