SPARQL / DBPedia: извлечение сущности через свойства без знания URI страницы сущности - PullRequest
1 голос
/ 31 марта 2019

Я пытаюсь вернуть свойство от объекта, описывающего компанию / акцию в DBPedia, с учетом уникальной комбинации других свойств, к которым принадлежит этот объект.

Например, учитывая строки NASDAQ и AAPL, я хочу иметь возможность найти страницу http://dbpedia.org/page/Apple_Inc. без явного знания URI.

Я знаю, что эта страница содержит свойства

  • dbp:symbol: AAPL

  • dbp:tradedAs: dbr:NASDAQ-100

Как бы я использовал SPARQL для прямого поиска dbp:symbol для AAPL и поиска dbp:tradedAs для частичного совпадения NASDAQ, чтобы получить наиболее вероятный результат, если таковой существует.

Я также должен добавить, что свойство, которое я хочу вернуть с этой страницы, если есть совпадение, равно dbo:abstract, что соответствует большому текстовому описанию компании / акции, которое я хотел бы использовать для анализа.

РЕДАКТИРОВАТЬ: Мне удалось выполнить следующее:

SELECT *
WHERE {
   ?s1 dbpedia2:symbol ?o1 .
   ?s1 dbpedia2:tradedAs ?o2 .
   ?o1 bif:contains  '"AAPL"'  .
}

, который возвращает записи

s1  o1  o2
:Apple_Inc. [http]  "AAPL"^^rdf:langString  :S&P_500 
:Apple_Inc.    [http]   "AAPL"^^rdf:langString  :Dow_Jones_Industrial_Average    
:Apple_Inc. [http]  "AAPL"^^rdf:langString  :NASDAQ-100

Я пытался добавить ?o2 bif:contains 'NASDAQ', но это не сработало.

1 Ответ

1 голос
/ 01 апреля 2019

Мне удалось решить:

PREFIX dbpedia2: <http://dbpedia.org/property/> 
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT *
WHERE {
   ?s1 dbpedia2:symbol ?symbol .
   ?s1 dbpedia2:tradedAs ?exchange .
   ?s1 dbo:abstract ?abstract .
   ?symbol bif:contains  '"AAPL"'  .
   FILTER(lang(?abstract) = "en").
   FILTER(regex(str(?exchange), "NASDAQ" ) )
}

, который возвращает

s1  symbol  exchange    abstract
:Apple_Inc. "AAPL"^^rdf:langString  :NASDAQ-100 "Apple Inc. is an American multinational technology company headquartered in Cupertino, California...

Просто чтобы отметить, специально для этой записи, rdfs:comment является более полезным для краткого обзора компании.

...