От командния ред за знания
Един от най-разпространените стандарти за база знания е RDF представянето и SPARQL езикът за заявки. Достъпът до базата данни обикновено се осъществява чрез крайната точка на SPARQL с помощта на HTTP протокола (Jena и Sesame могат да се използват като бази данни за вграждане, например чрез обвивката banana-rdf, а Virtuoso може да бъде достъпен и чрез ODBC чрез добавяне на префикса „SPARQL“ към низа на заявката). Има много отворени „SPARQL точки за достъп“ – според wikipedia DBpedia, голям набор от бази биологични знания, геоданни. Крайните точки обикновено идват с уеб интерфейс, но браузърът е твърде тромав и искаме да имаме достъп до тях директно от командния ред! За сериозна работа можете да използвате готови библиотеки, които съществуват за много езици, включително тези, фокусирани върху анализ на данни (например R). Ние също се интересуваме от възможността за бързо съставяне на заявка за получаване на информация или отстраняване на грешки в самата заявка.Езикът за заявки SPARQL е синтактично подобен на SQL и семантично подобен на Prolog. Знанието е представено като вид графика „с бележки“ върху възли и ръбове. „Марковете“ обикновено са URL (който не е задължително да води никъде), а върховете без изходящи ръбове също са въведени данни. SELECT указва шаблона на подграфа и списъка с полета на този шаблон, които ни интересуват.
На Unix-подобни операционни системи (като Windows 10) можете да използвате bash, curl и специален jq пакет за работа с json:
Използването на PowerShell ви позволява да правите всичко това по по-човешки начин. Нека опишем функцията, която прави заявка за получаване на данни към SPARQL сървъра:
В допълнение към низа на заявката, той получава URL адреса на сървъра, използваната графика по подразбиране (аналогично на името на базата данни в традиционната RDBMS) и очаквания формат на отговор. Стандартът описвамного приемливи формати, от html до csv, избрах най-простия със запазване на мета информация. Отговорът изглежда по следния начин:
Някои сървъри очакват формата на отговора в параметрите на заявката GET, а някои в заглавката Accept. Нашата функция за всеки случай го прекарва и там, и там.
Сега можем да представим отговора в четима форма:
Сега можем да научим много нови неща, без да вдигаме поглед от терминала!
Разберете в кои метаболитни пътища кои вещества участват:
Или какви данни има Wikipedia за Лондон:
Вземете списък с пространства за хакване:
Разберете кой не е свързан с IBM Research:
Какви интересни запитвания измислихте? Успех със знанията!
И тук можете да получите грант за тестов период на Yandex.Cloud. Необходимо е само да въведете "Habr" в полето "секретна парола".