График доменного диапазона не отображается в GraphDB Free ver. 8,5 - PullRequest
0 голосов
/ 03 мая 2018

Я загрузил следующие операторы в репозиторий 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 .

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

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

1 Ответ

0 голосов
/ 03 мая 2018

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

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

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

Тогда вы получите что-то вроде этого image .

Кстати, при построении графа диапазона доменов, 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 провел своего рода анализ, основанный на фактическом использовании свойств с экземплярами классов.

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

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

    custom visual graph

...