График диапазона доменов не отображается в GraphDB Free ver. 8,5

Я загрузил следующие операторы в репозиторий OWL-Horst:

@prefix : <http://example.org/owlim#>.
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

:Foo a owl:Class .
:Bar a owl:Class .
:p a owl:ObjectProperty .
:f a :Foo .
:b a :Bar .
:f :p :b .

Но я не могу представить себе Диаграмма диапазона доменов. Я получаю сообщение «Нет графика диапазона доменов для '‹Class_Name›'.

Что не так с моим графиком?


person floatingpurr    schedule 03.05.2018    source источник


Ответы (1)


[a :Foo] :p [a :Bar] не влечет за собой :p rdfs:domain :Foo; rdfs:range :Bar. Это должно быть правило уровня RDFS, и там нет такого правила.

Вы должны прямо сказать:

:p rdfs:domain :Foo .
:p rdfs:range :Bar .

Тогда вы получите что-то вроде этого изображения.

Кстати, при построении графа доменных диапазонов GraphDB выполняет следующий запрос:

SELECT DISTINCT ?prop ?propertyType ?objectPropClass (?c != :Bar as ?implicit) {
    {
        :Bar rdfs:subClassOf ?c
    }
    UNION
    {
        VALUES ?c { :Bar }
    }
    {
        ?prop a owl:ObjectProperty ;
            rdfs:domain ?c ;
            rdfs:range ?objectPropClass ;
            rdfs:domain ?objectPropClass ;
            rdfs:range ?c .
        BIND ("objectLeftRight" as ?propertyType)
        BIND (1 as ?order)
    }
    UNION
    {
        ?prop a owl:ObjectProperty ;
            rdfs:domain ?c ;
            rdfs:range ?objectPropClass .
        BIND ("objectRight" as ?propertyType)
        BIND (2 as ?order)
    }
    UNION
    {
        ?prop a owl:DatatypeProperty ;
            rdfs:domain ?c .
        BIND ("datatype" as ?propertyType)
        BIND (3 as ?order)
    }
    UNION
    {
        ?prop a owl:ObjectProperty ;
            rdfs:domain ?objectPropClass ;
            rdfs:range ?c .
        BIND ("objectLeft" as ?propertyType)
        BIND (4 as ?order)
    }
    FILTER(?objectPropClass != :Bar || ?propertyType != "objectRight"
                                    && ?propertyType != "objectLeft")
} ORDER BY ?order ?objectPropClass ?prop

Обновить

... после беглого просмотра документации я решил, что GraphDB провела своего рода анализ, основанный на фактическом использовании свойств с экземплярами классов.

  • Кажется, что представление отношения классов предоставляет такую ​​информацию. в левой панели.

  • Кроме того, вы можете создать свой собственная конфигурация Visual Graph. Мне удалось CONSTRUCT это изображение:

    пользовательский визуальный график

person Stanislav Kralin    schedule 03.05.2018
comment
Понятно. Я знал, что операторы домена и диапазона не предполагаются, но после беглого просмотра документации я решил, что GraphDB провел своего рода анализ, основанный на фактическом использовании свойств с экземплярами классов, независимо от явных операторов rdfs:domain и rdfs:range. Спасибо! - person floatingpurr; 04.05.2018