Sparql - количество сущностей и экземпляров?

У меня была такая же проблема, когда я попытался внедрить moodle 2 в iframe, решение - Site administration ► Security ► HTTP security и проверить Allow frame embedding

0
задан Aziz Mumtaz 13 July 2018 в 10:27
поделиться

1 ответ

Эй, проблемы с терминами entity и instance - они часто используются в разных значениях. Я предполагаю, что Entity означает каждый uri, который может быть предметом. Хотя экземпляр означает каждую сущность, которая является экземпляром совы: класс.

Для сущностей, которые были бы запрошены:

SELECT  (count(distinct ?entity) AS ?Entities)
                      WHERE{   ?entity ?p ?o}

Для экземпляров я бы написал следующий запрос:

select distinct count(distinct ?instance) where {?instance a ?class . ?class a owl:Class} 

Возможно, вы упомянете о различиях перед переменную, которую я хочу подсчитать? Это очень важно для вас. Потому что, чтобы придерживаться вашей попытки, сущность может иметь несколько типов. Для каждого из этих типов вы получите привязку для комбинации entity & amp; тип переменной. Это, по крайней мере, приводит к тому, что вы будете считать объект для каждого типа, который вы нашли в запросе. Таким образом, объект с двумя типами считается дважды. Но я предполагаю, что вы хотите считать объект только один раз, поэтому вам нужно использовать отдельное ключевое слово для переменной, которую вы хотите подсчитать. Это гарантирует, что вы считаете только разные объекты, привязанные к этой переменной.

0
ответ дан Bierbarbar 17 August 2018 в 13:08
поделиться
  • 1
    @Bierbarber, я выполнил ваш первый запрос для числа сущностей, вывод ничего не показывает. Хотя второй запрос (экземпляры) дал мне результат – Aziz Mumtaz 13 July 2018 в 11:13
  • 2
    Просто попробовал. Проблема заключается в том, что конечная точка публичной dbpedia ограничена (количество возвращенных объектов и время вычисления). Таким образом, вы получаете только количество привязок, подсчитанных до тех пор, пока предел вычисления не будет достигнут, когда вы вызовете счет без четкости. Если вы установили разницу в отдельной операции, то время от времени ограничивается ограниченным временем вычисления, поэтому вы не получите никакого результата, потому что отличительный элемент не имеет результата из-за таймаута. – Bierbarbar 13 July 2018 в 12:21
  • 3
    Понимаю, спасибо, что дал мне знать. я ценю вашу помощь – Aziz Mumtaz 13 July 2018 в 12:42
  • 4
    Еще одна вещь: есть ли способ получить список наборов данных в конечной точке Dbpedia? (Не считать) – Aziz Mumtaz 13 July 2018 в 12:45
  • 5