График доменного диапазона не отображается в 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 .

Но я не могу визуализировать диаграмму диапазона доменов. Я получаю сообщение "График диапазона доменов недоступен для"<имя_класса>".

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

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 это изображение:

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

Другие вопросы по тегам