2015-07-19 2 views
0

en supposant que nous avons les éléments suivants:ontologies: DataProperty gamme vs. subClassOf "gamme"

... 
Declaration(DataProperty(:postal-code)) 
DataPropertyRange(:postal-code xsd:string) 
SubClassOf(:Address DataExactCardinality(1 :postal-code xsd:string)) 

pourquoi dois-je préciser xsd: string dans la dernière ligne? Pourquoi il ne ressemble pas à ceci:

SubClassOf(:Address DataExactCardinality(1 :postal-code)) 

Nous avons déjà maintenant, ce code postal doit être xsd: string. Ou l'inverse: Pourquoi devrais-je utiliser DataProperties? Pourquoi avons-nous pas:

SubClassOf(:Address DataExactCardinality(1: "postal-code" xsd:string)) 
// note the quotes 

Merci à l'avance :)

Répondre

0

Dans le premier cas, la xsd: string est inutile - il pourrait être utile si l'axiome de gamme a été séparé de l'ontologie. Dans le second cas, la suppression de la plage changerait l'ontologie d'une manière différente: la plage que vous spécifiez n'est valide que pour l'adresse et les autres sous-classes de cette expression. Toute autre utilisation de la propriété n'inclurait pas la définition de plage, et théoriquement la propriété pourrait être utilisée avec une plage différente. Ce serait inhabituel, mais pas faux.