Dbpedia Extract Concept / Entity / GRAPH в Python - PullRequest
0 голосов
/ 20 февраля 2019

Мне трудно понять, как получать данные с помощью SPARQL.Я посмотрел несколько уроков, но у меня все еще есть несколько вопросов

1) Как мы можем определить заголовки в наборе данных.Скажем, есть набор данных A, и я хочу извлечь имена и местоположения людей в этом наборе данных.Как определить заголовок, в котором хранятся имена?

2) Как извлечь подграф, содержащий утверждения о сущностях в течение 2 прыжков, из Дональда Трампа Пример кода или вебссылка была бы очень полезна.

1 Ответ

0 голосов
/ 21 февраля 2019
  1. У RDF нет заголовков.RDF имеет триплеты, которые состоят из субъектов / объектов, предикатов / атрибутов и объектов / значений.Иногда эти тройки собираются в контексты (как правило, именованные графы), которые затем могут быть сериализованы в виде четырехугольников.Чтобы узнать, какие предикаты находятся в наборе данных, вы можете выполнить запрос SPARQL, например -

    SELECT DISTINCT ?predicate
    WHERE { ?subject ?predicate ?object }
    ORDER BY ?predicate
    LIMIT 100
    
  2. Какой тип прыжков вы хотите получить от http://dbpedia.org/resource/Donald_Trump? Возможно, еслиЕсли вы посмотрите на http://dbpedia.org/page/Donald_Trump,, вы найдете подходящий предикат, который вы затем можете использовать в запросе Property Path , например -

    SELECT DISTINCT ?subject ?object
    WHERE
      {
        { OPTIONAL { dbr:Donald_Trump dbo:relation/dbo:relation? ?object } }
        UNION
        { OPTIONAL { ?subject dbo:relation/dbo:relation? dbr:Donald_Trump } }
      }
    ORDER BY ?subject ?object
    LIMIT 100
    
...