Использование RDF / OWL / Triples с количественными ссылками? - PullRequest
0 голосов
/ 02 декабря 2018

Мне сложно понять концепцию классов / экземпляров / свойств.Если взять следующий пример: класс «пицца», предполагаемый подкласс «сырная пицца» = пицца и HasIngredient некоторые «сыр».Я могу следовать этой логике и вижу полезность автоматического определения классов.

Однако я не понимаю, как правильно использовать количественные ссылки / свойства.Как можно, используя RDF / OWL, выразить следующее: в 100 г сыра содержится 10 г белка.А пицца Instance Маргарита имеет 250 граммов сыра?Кроме того, можно ли сделать вывод, что пицца Маргарита содержит 25 г белка?

1 Ответ

0 голосов
/ 13 декабря 2018

Для этого вам нужно изменить количественное соотношение, например, создать QtyOfX как собственный класс.Пустой узел может помочь вам выразить это (вещи в квадратных скобках).

:Cheese a :Ingredient .
:Cheese :hasProteinToGramsRatio 0.1 .

:Pizza1 :hasIngredientQty [ hasQuantityInGrams 250; hasIngridient :Cheese  ]

С этим под рукой вы можете построить свой вывод, например:

:hasIngredientQty(?p,?q) ^ :hasIngredient(?q,?x) ^ :hasProteinToGramsRatio(?x,?r) ^ swrlb:multiply(?proteinCount, ?q, ?r)
-> :hasProteins(?p,?proteinCount)
...