Кодирование математических свойств в RDF

Я пытался найти решение для добавления отношений, таких как X имеет единицу A < 20 в существующую онтологию, но пока не смог найти решение.

Существующий граф знаний - RDF - имеет много понятий и отношений. В попытке улучшить точность выводов, мы пытаемся добавить некоторые ключевые свойства к нескольким понятиям.

Пример:

Понятие X вызывает понятие Y. И теперь мы знаем, что понятие Y всегда имеет свойство ABC < 30.

Пожалуйста, предложите, как добавить этот вид отношений только для нескольких понятий в графе знаний - RDF

1 ответ

Решение

Как я уже упоминал в ответе на Функции для манипулирования коллекциями RDF в SPARQL, вы можете сделать некоторую математику в SPARQL, который является языком запросов для RDF. Для кодирования произвольных математических формул (что и подразумевается в заголовке) вас также может заинтересовать

Венцель, Кен и Хайнер Рейнхардт. " Математические вычисления для приложений со связанными данными с OpenMath". Совместные материалы 24-го семинара по OpenMath и 7-го семинара по математическим пользовательским интерфейсам (MathUI). 2012.

Все, что сказано, то, что вы здесь описываете (что значение некоторого свойства будет иметь значение меньше определенного числа), можно выразить в OWL. Ваша конкретная ситуация была:

Понятие X вызывает понятие Y. И теперь мы знаем, что понятие Y всегда имеет свойство ABC < 30.

Я не уверен, что вы подразумеваете под понятием, вызывающим другое, но вы можете сказать, что каждый экземпляр Y имеет только значения меньше 30 для свойства ABC. Это довольно просто. Это аксиома (в синтаксисе Манчестера)

Y subClassOf ABC only xsd: integer [< 30]

и в синтаксисе DL:

Y ⊑ ∀ABC.xsd: целое число [< 30]

В Protégé это выглядит так:

аксиома подкласса аспекта

и в RDF-представлении онтологии OWL (в Turtle и RDF/XML):

@prefix :      <https://stackru.com/q/24134785/1281433/facets#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

:ABC    a       owl:DatatypeProperty .

<https://stackru.com/q/24134785/1281433/facets>
        a       owl:Ontology .

:Y      a                owl:Class ;
        rdfs:subClassOf  [ a                  owl:Restriction ;
                           owl:allValuesFrom  [ a                     rdfs:Datatype ;
                                                owl:onDatatype        xsd:integer ;
                                                owl:withRestrictions  ( [ xsd:maxExclusive
                                                                  30 ] )
                                              ] ;
                           owl:onProperty     :ABC
                         ] .
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="https://stackru.com/q/24134785/1281433/facets#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
  <owl:Ontology rdf:about="https://stackru.com/q/24134785/1281433/facets"/>
  <owl:Class rdf:about="https://stackru.com/q/24134785/1281433/facets#Y">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:DatatypeProperty rdf:about="https://stackru.com/q/24134785/1281433/facets#ABC"/>
        </owl:onProperty>
        <owl:allValuesFrom>
          <rdfs:Datatype>
            <owl:onDatatype rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
            <owl:withRestrictions rdf:parseType="Collection">
              <rdf:Description>
                <xsd:maxExclusive rdf:datatype="http://www.w3.org/2001/XMLSchema#integer"
                >30</xsd:maxExclusive>
              </rdf:Description>
            </owl:withRestrictions>
          </rdfs:Datatype>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
</rdf:RDF>
Другие вопросы по тегам