БЕРЛИНСКИЙ СРАВНИТЕЛЬНЫЙ ТЕСТ ДЛЯ СУБД С ЯЗЫКОМ ЗАПРОСОВ SPARQL (справочные материалы) Российский офис Консорциума W3C при поддержке Центра семантических технологий НИУ ВШЭ, 2012. Базы данных RDF и технологии конвертации реляционных данных в RDF имеют относительно недолгую историю развития. При своей огромной гибкости в представлении моделей предметных областей эти СУБД имеют меньшую производительность по сравнению СУБД на реляционных структурах. Для выявления лидеров был разработан Берлинский тест, Berlin SPARQL Benchmark (BSBM), который представляет собой тест сравнения производительности СУБД с языком запросов SPARQL. К таким системам относятся нативные RDFхранилища, графовые хранилища, системы, отображающие реляционные данные в RDF, и любые другие SPARQL оболочки над другими видами источников данных. Тестовый пакет построен вокруг сценариев электронной коммерции (e-commerce use case), когда различными производителями предлагается определенный перечень продуктов, а потребители дают различные отзывы об этих продуктах [1]. В апреле 2013 года были проведены очередные тесты RDF СУБД по версии BSBM V3.1, которые показали возрастающий потенциал и возможности таких СУБД [2]. Тесты рассчитаны на проведения либо на отдельном сервере, либо на серверном кластере. В тесте BSBM представлены три сценария, а именно, Explore Use Case, Explore and Update Use Case и Business Intelligence Use Case (Таблица 1). Таблица 1. Наборы данных BSBM для отдельной машины и кластера при различных сценариях тестирования Отдельный сервер Серверный кластер Сценарии тестирования Explore BI Explore & BI Наборы данных, миллионы триплетов 100, 200, 1000 10, 100, 1000 10000, 50000, 150000 ОПИСАНИЕ СТРУКТУРЫ НАБОРА ДАННЫХ Логическая схема данных теста BSBM состоит из восьми сущностей (классов), представленных на Рис. 1. Рис. 1. Структура классов объектов BSBM Класс Product, характеристик. Название колонки rdfs:label rdfs:comment rdf:type bsbm:producer описывает продукты Тип колонки literal: String literal: String resource: ProductType resource: Producer с наборами различных свойств и Описание колонки Визуальное имя Комментарий ссылка на тип продукта ссылка на производителя продукта 1 bsbm:productPropertyTextual{1-6} literal: String bsbm:productPropertyNumeric{1-6} literal: Number bsbm:productFeature Resource: ProductFeature dc:publisher Resource:Producer от 1 до 6 текстовых свойств, некоторые являются опциональными от 1 до 6 числовых свойств, некоторые являются опциональными ссылка на описание особенностей (свойств) продукта ссылка на производителя продукта dc:date literal: xsd:date дата Класс ProductType, описывает типы продуктов, которые образуют нерегулярную иерархию (3-5 уровней глубины). Название колонки Тип колонки rdfs:label rdfs:comment rdfs:subClassOf literal: String literal: String resource: ProductType dc:publisher Resource: StandardizationInstitution literal: xsd:date dc:date Описание колонки Визуальное имя Комментарий Ссылка на вышестоящий по иерархии тип продукта ссылка на орган стандартизации дата Класс ProductFeature описывает набор возможных свойств, зависящий от вида продукта. Каждый продукт определенного типа имеет свой набор свойств продукта. Название колонки rdfs:label rdfs:comment dc:publisher dc:date Тип колонки literal: String literal: String Resource: StandardizationInstitution literal: xsd:date Описание колонки Визуальное имя Комментарий ссылка на орган стандартизации дата Класс Producer описывает производителя продукта. Название колонки Тип колонки rdfs:label rdfs:comment foaf:homepage bsbm:country literal: String literal: String URL ISO3166 country URI dc:publisher dc:date Resource: Producer literal: xsd:date Описание колонки Визуальное имя Комментарий Ссылка на сайт производителя Уникальный идентификатор страны производителя ссылка на производителя (самого себя) дата Класс Vendor описывает поставщика продукта. Название колонки Тип колонки rdfs:label rdfs:comment foaf:homepage bsbm:country literal: String literal: String URL ISO3166 country URI dc:publisher dc:date Resource:Vendor literal: xsd:date Описание колонки Визуальное имя Комментарий Ссылка на сайт поставщика Уникальный идентификатор страны поставщика ссылка на поставщика (самого себя) дата Класс Offer описывает предложение продукта, поставляемого поставщиком на рынок. Название колонки bsbm:product bsbm:vendor bsbm:price bsbm:validFrom Тип колонки resource: Product resource: Vendor literal: price literal: Date Описание колонки Ссылка на продукт Ссылка на поставщика Цена и валюта Предложение актуально с этой даты 2 bsbm: validTo bsbm:deliveryDays bsbm:offerWebpage literal: Date Literal: business days URL of vendor's HTML page containing the offer Resource:Vendor literal: xsd:date dc:publisher dc:date Предложение актуально до этой даты Срок поставки в днях Ссылка на веб-страницу с предложением поставщика ссылка на поставщика дата Класс Person описывает персону (ревьюера), которая составляет отзыв о продукте (оценку продукта). Название колонки Тип колонки foaf:name foaf:mbox_sha1sum bsbm:country literal: String literal: email address ISO3166 country URI dc:publisher Resource: RatingSite dc:date literal: xsd:date Описание колонки Имя персоны e-mail персоны Уникальный идентификатор страны персоны ссылка на сайт, на котором происходит оценка дата Класс Review описывает отзыв, данный ревьюером продукту. Название колонки Тип колонки bsbm:reviewFor rev:reviewer resource: Product resource: foaf:Person bsbm:reviewDate dc:title rev:text bsbm:rating1 literal: Date datatype literal: String literal: String literal: Number bsbm:rating2 literal: Number bsbm:rating3 literal: Number bsbm:rating4 literal: Number dc:publisher Resource: RatingSite dc:date literal: xsd:date Описание колонки Ссылка на рецензируемый продукт Ссылка на персоны, которая оценили продукт Дата выставления оценки Заголовок оценки Текст оценки Значение рейтинговой оценки, от 1 до 10. Опциональное свойство Значение рейтинговой оценки, от 1 до 10. Опциональное свойство Значение рейтинговой оценки, от 1 до 10. Опциональное свойство Значение рейтинговой оценки, от 1 до 10. Опциональное свойство ссылка на сайт, на котором происходит оценка дата КОЛИЧЕСТВЕННЫЕ ХАРАКТЕРИСТИКИ НАБОРОВ ДАННЫХ Наборы данных BSBM могут быть сгенерированы в любом объеме (количестве триплетов), однако, для выполнения тестовых прогонов по методике BSBM генерируются стандартные наборы данных, количественные характеристики которых показаны в Таблица 2. Таблица 2. Характеристики наборов данных BSBM 10m Кол-во Product Кол-во Producers Кол-во Product Features Кол-во Product Types Кол-во 100m 200m 1b 10b 50b 150b 28480 284800 569600 2848000 28480000 142400000 427200000 559 5623 11232 56288 563142 2815554 8446788 19180 47531 93876 167836 423832 796470 1593390 585 2011 3949 7021 22527 42129 84259 284 2838 5675 28439 284610 1421729 4264028 3 Vendors Кол-во Offers Кол-во Reviewers Общее количество триплетов 569600 5696000 11392000 56960000 569600000 2848000000 8544000000 14613 145961 291923 1459584 14599162 72989573 218974622 10119864 100062249 199945456 999700717 9967546016 49853640808 149513009920 СЦЕНАРИЙ НАВИГАЦИИ Остановимся более подробно на Сценарии навигации (Explore Use Case), который иллюстрирует типовое поведение потребителя, выполняющего поиск некоторого продукта. Смесь запросов состоит из 12 различных запросов стандарта SPARQL и использует различные особенности языка запросов. Поиск продукта включает следующие шаги: 1) Общий поиск по заданному набору основных свойств продукта. 1) Более специфический (уточненный) поиск продуктов с заданным набором свойств. 2) Поиск продуктов, похожих на заданный продукт. 3) Извлечение детальной информации о нескольких уточненных (специфических) продуктах. 4) Извлечение отзывов для заданных продуктов. 5) Получение информации о персонах, оставивших отзыв. 6) Извлечение предложений для заданных продуктов. 7) Проверки информации о поставщиках и их условиях поставки. 8) Экспорт выбранного предложения в другую информационную систему, которая использует другую схему. СМЕСЬ ЗАПРОСОВ СЦЕНАРИЯ НАВИГАЦИИ Смесь запросов состоит из 25 запросов на поиск продукта, выполняемых одним пользователем: 1) Query 1. Найти продукты по заданному набору основных свойств продукта. Потребитель ищет продукт и имеет лишь общее представление о том, чего бы он хотел. Пример запроса: PREFIX PREFIX PREFIX PREFIX bsbm-inst: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/> bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> rdfs: <http://www.w3.org/2000/01/rdf-schema#> rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?product ?label WHERE { ?product rdfs:label ?label . ?product a <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ProductType1502> . ?product bsbm:productFeature <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ProductFeature10827> . ?product bsbm:productFeature <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ProductFeature35843> . ?product bsbm:productPropertyNumeric1 ?value1 . FILTER (?value1 > 47) } ORDER BY ?label LIMIT 10 2) Query 2. Извлечь основную информацию об указанном продукте для отображения свойств. Потребитель желает увидеть основную информацию о продуктах, найденных в ходе первого запроса. Пример запроса: PREFIX PREFIX PREFIX PREFIX bsbm-inst: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/> bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> rdfs: <http://www.w3.org/2000/01/rdf-schema#> dc: <http://purl.org/dc/elements/1.1/> 4 SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> rdfs:label ?label . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> rdfs:comment ?comment . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:producer ?p . ?p rdfs:label ?producer . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> dc:publisher ?p . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productFeature ?f . ?f rdfs:label ?productFeature . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productPropertyTextual1 ?propertyTextual1 . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productPropertyTextual2 ?propertyTextual2 . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productPropertyTextual3 ?propertyTextual3 . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productPropertyNumeric1 ?propertyNumeric1 . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4065/Product205485> bsbm:productPropertyNumeric4 ?propertyNumeric4 } } 3) Query 2. Повторение запроса. 4) Query 3. Найти продукты по заданному уточненному набору особенностей. После поиска информации о некоторых продуктах Потребитель сформировал свое представление о том, что он хотел бы получить. Поэтому он запрашивает поиск продуктов, которые обладают некоторыми особенностями, но не обладают другими особенностями. Пример запроса: PREFIX PREFIX PREFIX PREFIX bsbm-inst: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/> bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> rdfs: <http://www.w3.org/2000/01/rdf-schema#> rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?product ?label WHERE { ?product rdfs:label ?label . ?product a <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ProductType810> . ?product bsbm:productFeature <http://www4.wiwiss.fuberlin.de/bizer/bsbm/v01/instances/ProductFeature2457> . ?product bsbm:productPropertyNumeric1 ?p1 . FILTER ( ?p1 > 145 ) ?product bsbm:productPropertyNumeric3 ?p3 . FILTER (?p3 < 118 ) OPTIONAL { ?product bsbm:productFeature <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ProductFeature2455> . ?product rdfs:label ?testVar } FILTER (!bound(?testVar)) } ORDER BY ?label LIMIT 10 5) Query 2. Повторение запроса. 6) Query 2. Повторение запроса. 7) Query 4. Найти продукты, удовлетворяющие двум разным наборам свойств. После поиска информации о некоторых продуктах Потребитель сформировал свое представление о том, что он хотел бы получить. Поэтому он запрашивает поиск продуктов, которые удовлетворяют либо одному, либо другому набору свойств/особенностей. Пример запроса: PREFIX PREFIX PREFIX PREFIX bsbm-inst: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/> bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> rdfs: <http://www.w3.org/2000/01/rdf-schema#> rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?product ?label ?propertyTextual WHERE { 5 { ?product rdfs:label ?label . ?product rdf:type <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ ProductType1511>. ?product bsbm:productFeature <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ ProductFeature10905> . ?product bsbm:productFeature <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ ProductFeature36023> . ?product bsbm:productPropertyTextual1 ?propertyTextual . ?product bsbm:productPropertyNumeric1 ?p1 . FILTER ( ?p1 > 293 ) } UNION { ?product rdfs:label ?label . ?product rdf:type <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ ProductType1511> . ?product bsbm:productFeature <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ ProductFeature10905> . ?product bsbm:productFeature <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ ProductFeature36042> . ?product bsbm:productPropertyTextual1 ?propertyTextual . ?product bsbm:productPropertyNumeric2 ?p2 . FILTER ( ?p2> 134 ) } } ORDER BY ?label OFFSET 5 LIMIT 10 8) Query 2. Повторение запроса. 9) Query 2. Повторение запроса. 10) Query 5. Найти продукты, похожие на заданный продукт. Потребитель нашел продукт, удовлетворяющий его требованиям. Теперь он желает найти продукты с похожими особенностями. Пример запроса: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> SELECT DISTINCT ?product ?productLabel WHERE { ?product rdfs:label ?productLabel . FILTER (<http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ dataFromProducer3465/Product175116> != ?product) <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer3465/Product175116> bsbm:productFeature ?prodFeature . ?product bsbm:productFeature ?prodFeature . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer3465/Product175116> bsbm:productPropertyNumeric1 ?origProperty1 . ?product bsbm:productPropertyNumeric1 ?simProperty1 . FILTER (?simProperty1 < (?origProperty1 + 120) && ?simProperty1 > (?origProperty1 - 120)) <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer3465/Product175116> bsbm:productPropertyNumeric2 ?origProperty2 . ?product bsbm:productPropertyNumeric2 ?simProperty2 . FILTER (?simProperty2 < (?origProperty2 + 170) && ?simProperty2 > (?origProperty2 - 170)) } ORDER BY ?productLabel LIMIT 5 11) Query 7. Извлечь дополнительную информацию о выбранном продукте, включая предложения и отзывы. Потребитель нашел продукты, которые удовлетворяют его требованиям. Теперь он желает получить более точную информацию о некотором конкретном продукте, включая предложения от поставщиков из Германии, и отзывы о продуктах, если они существуют. Пример запроса: PREFIX PREFIX PREFIX PREFIX PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> rev: <http://purl.org/stuff/rev#> foaf: <http://xmlns.com/foaf/0.1/> bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> dc: <http://purl.org/dc/elements/1.1/> SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromProducer4838/Product244847> rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product <http://www4.wiwiss.fuberlin.de/bizer/bsbm/v01/instances/dataFromProducer4838/Product244847> . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#DE> . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . 6 FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ) } OPTIONAL { ?review bsbm:reviewFor <http://www4.wiwiss.fuberlin.de/bizer/bsbm/v01/instances/dataFromProducer4838/Product244847> . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } 12) Query 7. Повторение запроса. 13) Query 5. Повторение запроса. 14) Query 7. Повторение запроса. 15) Query 7. Повторение запроса. 16) Query 8. Предоставить последние отзывы об указанном продукте на английском языке. Потребитель желает прочесть 20 недавних отзывов о выбранном продукте на английском языке. Пример запроса: PREFIX PREFIX PREFIX PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> dc: <http://purl.org/dc/elements/1.1/> rev: <http://purl.org/stuff/rev#> foaf: <http://xmlns.com/foaf/0.1/> SELECT ?title ?text ?reviewDate ?reviewer ?reviewerName ?rating1 ?rating2 ?rating3 ?rating4 WHERE { ?review bsbm:reviewFor <http://www4.wiwiss.fuberlin.de/bizer/bsbm/v01/instances/dataFromProducer2795/Product141384> . ?review dc:title ?title . ?review rev:text ?text . FILTER langMatches( lang(?text), "EN" ) ?review bsbm:reviewDate ?reviewDate . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?reviewerName . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } OPTIONAL { ?review bsbm:rating3 ?rating3 . } OPTIONAL { ?review bsbm:rating4 ?rating4 . } } ORDER BY DESC(?reviewDate) LIMIT 20 17) Query 9. Получить информацию о ревьюере. Для того чтобы принять решение о том, можно ли доверять отзыву, Потребитель запрашивает любого сорта информацию, доступную о ревьюере. Пример запроса: PREFIX rev: <http://purl.org/stuff/rev#> DESCRIBE ?x WHERE { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromRatingSite126/Review1278183> rev:reviewer ?x } 18) Query 9. Повторение запроса. 19) Query 8. Повторение запроса. 20) Query 9. Повторение запроса. 21) Query 9. Повторение запроса. 22) Query 10. Получить предложения для заданного продукта, удовлетворяющему указанным требованиям. Потребитель желает купить продукт у поставщика из США, способного доставить заказ в течении 3 дней и ищет самое дешевое предложение, удовлетворяющее этим требованиям. Пример запроса: PREFIX bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?offer ?price WHERE { ?offer bsbm:product <http://www4.wiwiss.fuberlin.de/bizer/bsbm/v01/instances/dataFromProducer5036/Product254831> . ?offer bsbm:vendor ?vendor . ?offer dc:publisher ?vendor . 7 ?vendor bsbm:country <http://downlode.org/rdf/iso-3166/countries#US> . ?offer bsbm:deliveryDays ?deliveryDays . FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^<http://www.w3.org/2001/XMLSchema#dateTime> ) } ORDER BY xsd:double(str(?price)) LIMIT 10 23) Query 10. Повторение запроса. 24) Query 11. Получить всю информацию о предложении. После окончательного выбора предложения Потребитель хочет получить всю информацию, которая напрямую связана с этим предложением. Пример запроса: SELECT ?property ?hasValue ?isValueOf WHERE { { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor1646/Offer3245509> ?property ?hasValue } UNION { ?isValueOf ?property <http://www4.wiwiss.fuberlin.de/bizer/bsbm/v01/instances/dataFromVendor1646/Offer3245509> } } 25) Query 12. Экспортировать информацию о предложении в другую схему. После принятия решения по выбранному предложению потребитель хочет сохранить информацию о предложении на его локальной машине, но в другой схеме RDF. Пример запроса: PREFIX PREFIX PREFIX PREFIX PREFIX PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> rev: <http://purl.org/stuff/rev#> foaf: <http://xmlns.com/foaf/0.1/> bsbm: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/> bsbm-export: <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/export/> dc: <http://purl.org/dc/elements/1.1/> CONSTRUCT { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbmexport:product ?productURI . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbmexport:productlabel ?productlabel . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbmexport:vendor ?vendorname . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbmexport:vendorhomepage ?vendorhomepage . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbmexport:offerURL ?offerURL . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbmexport:price ?price . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbmexport:deliveryDays ?deliveryDays . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbmexport:validuntil ?validTo } WHERE { <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbm:product ?productURI . ?productURI rdfs:label ?productlabel . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbm:vendor ?vendorURI . ?vendorURI rdfs:label ?vendorname . ?vendorURI foaf:homepage ?vendorhomepage . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbm:offerWebpage ?offerURL . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbm:price ?price . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbm:deliveryDays ?deliveryDays . <http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/dataFromVendor121/Offer240623> bsbm:validTo ?validTo } РЕЗУЛЬТАТЫ ВЫПОЛНЕНИЯ ТЕСТОВ В официальных тестах, проводимых Берлинским университетом, участвовали следующие широко известные системы: BigData (rev. 6528); BigOwlim (version 5.2.5524) и BigOwlim (version 5.3.5777) для кластерной конфигурации; TDB (version 0.9.4); Virtuoso (06.04.3132-pthreads for Linux); 8 Virtuoso (07.00.3202-pthreads for Linux). Результаты выполнения тестов были опубликованы в документе [3]. В качестве показателей для сравнения выбраны следующие два показателя производительности: Query Mixes per Hour (QMpH), который показывает количество пакетов смеси запросов, которые система может обработать за один час; Queries per Second (QpS), который показывает количество отдельных запросов 12-ти типов, выполняемых системой за одну секунду. Эти показатели замеряются на наборах различного объема при различном количестве одновременно работающих клиентов, каждый из которых выполняет пакет из 500 запросов смеси. Приведем значения этих показателей только для одного набора данных объема 100m для сценария навигации (Explore Use Case). В Таблица 3 приведены значения показателей QMpH на наборе 100m для 1, 4, 8 и 64 клиентов. Таблица 3. QMpH на наборе 100m для 1, 4, 8 и 64 клиентов Количество параллельно работающих клиентов 1 4 8 BigData 12512.278 17949.632 19574.007 20422.626 BigOwlim 14029.453 17184.314 11677.860 8321.202 TDB 15381.857 19036.097 24646.705 14838.483 37678.319 64885.747 112388.811 20647.413 47178.820 91505.200 188632.144 216118.852 Virtuoso6 Virtuoso7 64 В Таблица 4 показаны значения показателя QpS на наборе 100m. Таблица 4. QpS на наборе 100m Query 1 Query 2 Query 3 Query 4 Query 5 Query 7 Query 8 Query 9 Query 10 Query 11 Query 12 BigData BigOwlim 49.955 42.769 37.280 36.846 2.684 16.172 37.498 59.524 41.326 62.375 50.989 93.773 115.960 170.242 140.607 1.868 75.746 93.467 202.041 146.327 368.732 244.738 TDB Virtuoso6 119.048 158.755 84.660 70.912 1.959 196.754 228.258 355.999 297.619 483.092 204.834 232.234 109.445 180.245 116.604 9.976 30.001 117.247 397.456 122.926 539.957 220.167 Virtuoso7 125.786 68.929 117.426 58.514 21.182 54.484 93.336 173.898 107.968 214.133 126.743 ИСПОЛЬЗОВАННЫЕ ИСТОЧНИКИ 1. Christian Bizer, Andreas Schultz. Berlin SPARQL Benchmark (BSBM). http://wifo503.informatik.uni-mannheim.de/bizer/berlinsparqlbenchmark/. 2. Christian Bizer, Andreas Schultz. Berlin SPARQL Benchmark (BSBM) Specification - V3.1. http://wifo5-03.informatik.uni-mannheim.de/bizer/berlinsparqlbenchmark/spec/index.html. 3. Peter Boncz, Minh-Duc Pham. BSBM V3.1 Results (April 2013). http://wifo503.informatik.uni-mannheim.de/bizer/berlinsparqlbenchmark/results/V7/index.html. 9