Берлинский сравнительный тест для СУБД с языком запросов

advertisement
БЕРЛИНСКИЙ СРАВНИТЕЛЬНЫЙ ТЕСТ ДЛЯ СУБД С
ЯЗЫКОМ ЗАПРОСОВ 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
Download