Анализ сайта support.openlinksw.com
Основное Готовность: 75%
Домен
support.openlinksw.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Используйте для продвижения только домен второго уровня.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
http://support.openlinksw.com
302 Found
https://www.openlinksw.com/support/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 04.10.2026 22:45:22.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,94сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,94сек оптимальна.
Объем документа
134Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 134Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 20
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 20 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap | |
| stylesheet | https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css | |
| stylesheet | /opal-widget/opal.css | |
| stylesheet | https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.css | |
| stylesheet | //www.openlinksw.com/skin/matrix/css/style.css | |
| js | https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js | |
| js | https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js | |
| js | https://cdnjs.cloudflare.com/ajax/libs/jquery-xpath/0.3.1/jquery.xpath.min.js | |
| js | /skin/matrix/js/jquery.ods-shopcart.js | |
| js | /skin/matrix/js/jquery.hoverIntent.minified.js | |
| js | text/javascript | /odsui/js/ods-auth.js |
| js | //cdn.jsdelivr.net/npm/markdown-it@13.0.1/dist/markdown-it.min.js | |
| js | //cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.11/clipboard.min.js | |
| js | https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.js | |
| js | https://cdnjs.cloudflare.com/ajax/libs/jquery.loadtemplate/1.5.10/jquery.loadTemplate.min.js | |
| js | text/javascript | https://www.googletagmanager.com/gtag/js?id=G-FT3SG1YRVG |
| js | //cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.11/clipboard.min.js | |
| js | text/javascript | /opal-widget/apikey.js |
| js | text/javascript | /opal-widget/auth.js |
| js | text/javascript | /opal-widget/opal.js |
Серверные заголовки
Кол-во: 6
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 6шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Server | Virtuoso/08.03.3334 |
| Connection | Keep-Alive |
| Date | Mon, 24 Aug 2026 01:35:59 GMT |
| Accept-Ranges | bytes |
| Status | 200 |
| X-Frame-Options | SAMEORIGIN |
CMS
HTML Tidy for HTML5 for Linux version 5.8.0
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
В мета-теге generator указано: HTML Tidy for HTML5 for Linux version 5.8.0.
Веб-сервер
Virtuoso/08.03.3334
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
В заголовке Server указано: Virtuoso/08.03.3334.
Мета-теги Готовность: 32%
Title
OpenLink Software: Customer Support
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение: 35, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Установите мета-тег description!
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://www.openlinksw.com/support/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width, initial-scale=1.0
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Не найдено
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph не задана. Страница не оптимизирована под социальные сети. Мета-теги с разметкой Og помогают социальным роботам лучше структурировать Ваш сайт.
Все мета-теги
Кол-во: 3
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 3шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width, initial-scale=1.0 |
| name | generator | HTML Tidy for HTML5 for Linux version 5.8.0 |
| name | viewport | width=device-width, initial-scale=1.0 |
Оптимизация Готовность: 82%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в одном экземпляре).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 3 встречаются в тексте достаточно.
Абзацев с текстом 15 достаточно.
Среднее число слов в абзаце 15 достаточно.
Кол-во знаков контента 8401 на странице оптимально.
Кол-во слов 884 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 6. Это хорошо.
На странице присутствуют заголовки <h3> 4.
Тошнота
6,24
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
28,62%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| support | 39 | 4,41% |
| openlinksw | 31 | 3,51% |
| https://www | 28 | 3,17% |
| com/dav/data/turtle/general/support-personas | 16 | 1,81% |
| openlink | 11 | 1,24% |
| services | 10 | 1,13% |
| products | 9 | 1,02% |
| customer | 8 | 0,90% |
| access | 8 | 0,90% |
| documentation | 8 | 0,90% |
| integration | 7 | 0,79% |
| technical | 7 | 0,79% |
| product | 6 | 0,68% |
| partner | 6 | 0,68% |
| virtuoso | 6 | 0,68% |
| resources | 5 | 0,57% |
| management | 4 | 0,45% |
| ttl#persona-customer | 4 | 0,45% |
| ttl#persona-integration-partner | 4 | 0,45% |
| ttl#persona-isv | 4 | 0,45% |
Индексация Готовность: 30%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 88 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 137585 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://support.openlinksw.com/robots.txt
302 Found
https://www.openlinksw.com/support/
200 OK
Показать содержимое robots.txt
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html itemscope="itemscope" itemid="https://www.openlinksw.com/support/" itemtype="http://schema.org/WebPage" lang="en" class="scroll-smooth" xmlns:n0="http://www.w3.org/2000/xmlns/" n0:og="http://ogp.me/ns#" n0:fb="http://ogp.me/ns/fb#" n0:xhv="http://www.w3.org/1999/xhtml/vocab#" n0:schema="http://schema.org/" xml:lang="en" xmlns:sparqlres="http://www.w3.org/2005/sparql-results#" xmlns:ie="http://www.openlinksw.com/Virtuoso/InclEng/" xmlns:addthis="http://www.addthis.com/help/api-spec"><!--
Debug: got here test [cluster= , site= www
, wikinode= , URL(enc)= https%3A%2F%2Fwww.openlinksw.com%2Fsupport%2F ]
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title itemprop="name">OpenLink Software: Customer Support</title>
<link rel="canonical" href="https://www.openlinksw.com/support/" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="crossorigin" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"></script><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous" />
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-xpath/0.3.1/jquery.xpath.min.js" integrity="sha512-j98OvxcYGNtdLlhL4yi2QD6CsSDS1edBfOt/ZUMNztI3xCpnYPvDiOZk+HOA5qGWWVYI4+vJyV7MPp7EqDBD+w==" crossorigin="anonymous" referrerpolicy="no-referrer"></script><script src="/skin/matrix/js/jquery.ods-shopcart.js"></script><script src="/skin/matrix/js/jquery.hoverIntent.minified.js"></script><script src="/odsui/js/ods-auth.js" type="text/javascript"></script><script type="application/ld+json">
{
"@context": "http://schema.org/",
"@type": "WebSite",
"url": "https://www.openlinksw.com/support/",
"potentialAction": {
"@type": "SearchAction",
"name": "Website Search",
"target": "https://www.openlinksw.com/search/?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
</script><link rel="stylesheet" href="/opal-widget/opal.css" />
<script src="//cdn.jsdelivr.net/npm/markdown-it@13.0.1/dist/markdown-it.min.js" integrity="sha256-hNyljag6giCsjv/yKmxK8/VeHzvMDvc5u8AzmRvm1BI=" crossorigin="anonymous"></script><script src="//cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.11/clipboard.min.js" integrity="sha512-7O5pXpc0oCRrxk8RUfDYFgn0nO1t+jLuIOQdOMRp4APB7uZ4vSjspzp5y6YDtDs4VzUSTbWzBFZ/LKJhnyFOKw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.js"></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ekko-lightbox/5.3.0/ekko-lightbox.css" />
<style>
.dropdown-submenu {
position: relative;
}
.dropdown-submenu .submenu {
display: none;
position: absolute;
left: 100%;
top: 0;
min-width: 200px;
z-index: 1000;
}
.dropdown-submenu:hover .submenu {
display: block;
}
.dropdown-submenu:hover > .dropdown-toggle {
color: #007bff;
background-color: #f8f9fa;
}
.dropdown:hover > .dropdown-menu {
display: block;
}
.dropdown-menu:hover {
display: block;
}
.dropdown,
.dropdown-submenu {
position: relative;
}
.resource-card {
transition: transform 0.2s ease-in-out;
}
.resource-card:hover {
transform: translateY(-5px);
}
.support-check {
color: #28a4c9;
font-size: 1.5rem;
margin-right: 0.5rem;
}
/* Buyer Personas Section Styles */
.vps-personas-section {
position: relative;
}
.vps-personas-tabs {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 0.5rem;
margin-bottom: 3rem;
padding-bottom: 1rem;
border-bottom: 2px solid #e9ecef;
}
.vps-personas-tab {
padding: 0.875rem 1.25rem;
background: transparent;
border: none;
border-bottom: 3px solid transparent;
color: #6c757d;
font-weight: 500;
font-size: 0.9rem;
cursor: pointer;
transition: all 0.3s ease;
border-radius: 0.5rem 0.5rem 0 0;
white-space: nowrap;
}
.vps-personas-tab:hover {
color: #667eea;
background-color: rgba(102, 126, 234, 0.05);
}
.vps-personas-tab:focus-visible {
outline: 2px solid #667eea;
outline-offset: 2px;
}
.vps-personas-tab.active {
color: #667eea;
border-bottom-color: #667eea;
background-color: rgba(102, 126, 234, 0.1);
font-weight: 600;
}
.vps-personas-content {
position: relative;
min-height: 400px;
}
.vps-personas-panel {
display: none;
opacity: 0;
transform: translateY(10px);
transition: opacity 0.4s ease, transform 0.4s ease;
}
.vps-personas-panel.active {
display: block;
opacity: 1;
transform: translateY(0);
}
.vps-personas-text {
max-width: 540px;
}
.vps-personas-headline {
font-size: 2.25rem;
font-weight: 700;
color: #2c3e50;
margin-bottom: 1.25rem;
line-height: 1.2;
}
.vps-personas-body {
color: #6c757d;
font-size: 1.1rem;
line-height: 1.7;
margin-bottom: 1.75rem;
}
.vps-personas-cta {
display: inline-flex;
align-items: center;
gap: 0.5rem;
color: #667eea;
font-weight: 600;
font-size: 1rem;
text-decoration: none;
transition: all 0.3s ease;
padding: 0.5rem 0;
}
.vps-personas-cta:hover {
color: #764ba2;
gap: 0.75rem;
}
.vps-personas-visual {
background: linear-gradient(135deg, #ffffff 0%, #f0f4ff 100%);
border-radius: 16px;
padding: 2rem;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
min-height: 320px;
display: flex;
align-items: center;
justify-content: center;
}
.vps-personas-panel.active .vps-personas-visual {
animation: vpsVisualFade 0.5s ease forwards;
}
@keyframes vpsVisualFade {
from { opacity: 0; transform: scale(0.98); }
to { opacity: 1; transform: scale(1); }
}
.vps-personas-svg {
width: 100%;
max-width: 400px;
height: auto;
max-height: 280px;
display: block;
object-fit: contain;
}
.vps-lightbox {
display: none;
position: fixed;
z-index: 9999;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.9);
align-items: center;
justify-content: center;
}
.vps-lightbox.active {
display: flex;
}
.vps-lightbox-close {
position: absolute;
top: 20px;
right: 40px;
color: #fff;
font-size: 40px;
font-weight: bold;
cursor: pointer;
z-index: 10000;
}
@media (max-width: 991px) {
.vps-personas-tabs {
justify-content: flex-start;
overflow-x: auto;
flex-wrap: nowrap;
scrollbar-width: none;
}
.vps-personas-tabs::-webkit-scrollbar { display: none; }
.vps-personas-headline { font-size: 1.875rem; }
}
@media (max-width: 767px) {
.vps-personas-section .row { flex-direction: column-reverse; }
.vps-personas-headline { font-size: 1.5rem; }
.vps-personas-visual { margin-bottom: 2rem; padding: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
.vps-personas-panel,
.vps-personas-tab,
.vps-personas-cta,
.vps-personas-visual {
transition: none;
animation: none;
}
}
</style><meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.8.0" />
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="//www.openlinksw.com/skin/matrix/css/style.css" />
<style type="text/css">
body * {
font-display: swap;
}
div#repaint {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
background-color: white;
z-index: 1000;
}
</style><link rel="schema:relatedLink" href="/c/4Kk4oL8ga6" />
<link rel="schema:relatedLink" href="/c/tfGFzhvo2" />
<link rel="schema:relatedLink" href="/c/7n82bqwAo4" />
<link rel="schema:relatedLink" href="/c/8YnyuveAbD" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.loadtemplate/1.5.10/jquery.loadTemplate.min.js" integrity="sha512-T1zx+UG2gXu9mr29wvzaKkNUmAOAie40T32ZPIvcRPJgO5br53+Ocqj8gzguUuix7FK+Z3ncRCJMaZcumnPZzg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script><script type="text/javascript">
function embedToData(id, encodeURI=1) {
var fieldnames = $("#" + id).xpath("*//div[contains(@class,'header') and contains(@class,'field')]").map(function(idx, x) {
return x.innerHTML
}).toArray();
var rows = $.xpath("#"+id, "div[contains(@class,'results')]/div");
var norows=rows.length;
var nocols=fieldnames.length;
var data=[];
for(r=0; r<norows; r++) {
data[r]={};
for(c=0; c<nocols; c++) {
data[r][fieldnames[c]]=rows[r].children[c].innerHTML;
if(!encodeURI) {
data[r][fieldnames[c]]=rows[r].children[c].innerText.trim();
}
}
}
return data;
}
function embedToDataCSV(id, encodeURI=1) {
var fieldnames = $("#" + id).xpath("*//div[contains(@class,'header') and contains(@class,'field')]").map(function(idx, x) {
return x.innerHTML
}).toArray();
var rows = $.xpath("#"+id, "div[contains(@class,'results')]/div");
var norows=rows.length;
var nocols=fieldnames.length;
var data=[];
for(r=0; r<norows; r++) {
data[r]=[];
for(c=0; c<nocols; c++) {
data[r][c]=rows[r].children[c].innerHTML;
if(!encodeURI) {
data[r][c]=rows[r].children[c].innerText.trim();
}
}
}
var obj=Object();
obj.data=data;
obj.dims=[ nocols, norows ];
obj.fieldnames=fieldnames;
return obj;
}
</script><!--Begin SPARQL data - headers--><!--End SPARQL data-->
</head>
<body><!--Invoked as normal page-->
<div id="thecontent">
<div id="repaint">
</div>
<div id="wrapper" class="w-full">
<div id="stickyMasthead" class="sticky-masthead">
<div class="news-banner bg-gradient-to-r from-blue-700 to-blue-900 text-white py-1 px-4 overflow-hidden" id="newsBanner" style="display:none">
<div class="container position-relative">
<div id="news-carousel" class="news-carousel-container">
</div>
<button class="news-close-btn" type="button" onclick="hideNewsBanner()" title="Close news banner">
<span aria-hidden="true">×</span>
</button>
</div>
<script id="NewsData" style="display: none" type="text/json">
{ "head": { "link": [], "vars": ["postUrl", "postTitle", "text", "link"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "postUrl": { "type": "uri", "value": "http://linkeddata.uriburner.com/proxy-iri/7fe6c1b995df98d7fb0666ecdd211f8aefc08d76" } , "postTitle": { "type": "literal", "value": "Unlock Oracle with Our Personal ODBC Driver - Save Now!" } , "text": { "type": "literal", "value": "$49.99" } , "link": { "type": "literal", "value": "https://shop.openlinksw.com/offers/order?uri=http%3A%2F%2Fdata.openlinksw.com%2Foplweb%2Foffer%2FOffer-UDALT-WKS-anyos-odbc-ora12-personal-2024-02%23this&type=buy&mode=u" }},
{ "postUrl": { "type": "uri", "value": "http://linkeddata.uriburner.com/proxy-iri/ccce872654edfdb12ab47c47d414f052a1f18af1" } , "postTitle": { "type": "literal", "value": "Elevate Your PostgreSQL Experience with Our Personal Driver - Limited Offer!" } , "text": { "type": "literal", "value": "$49.99" } , "link": { "type": "literal", "value": "https://shop.openlinksw.com/offers/order?uri=http%3A%2F%2Fdata.openlinksw.com%2Foplweb%2Foffer%2FOffer-UDALT-WKS-anyos-odbc-postgres-personal-2024-02%23this&type=buy&mode=u" }},
{ "postUrl": { "type": "uri", "value": "http://linkeddata.uriburner.com/proxy-iri/fbd23ced38d7641929c37069be9863ae04b4272d" } , "postTitle": { "type": "literal", "value": "Seamless Informix Integration with Our Exclusive Personal Driver!" } , "text": { "type": "literal", "value": "$49.99" } , "link": { "type": "literal", "value": "https://shop.openlinksw.com/offers/order?uri=http%3A%2F%2Fdata.openlinksw.com%2Foplweb%2Foffer%2FOffer-UDALT-WKS-anyos-odbc-inf11-personal-2024-02%23this&type=buy&mode=u" }},
{ "postUrl": { "type": "uri", "value": "http://linkeddata.uriburner.com/proxy-iri/4ded134c9e57903f537369e9074edc38c7c1f0f3" } , "postTitle": { "type": "literal", "value": "Revolutionize Your Data Access - ODBC to JDBC Bridge Driver Special!" } , "text": { "type": "literal", "value": "$49.99" } , "link": { "type": "literal", "value": "https://shop.openlinksw.com/offers/order?uri=http%3A%2F%2Fdata.openlinksw.com%2Foplweb%2Foffer%2FOffer-UDALT-WKS-anyos-odbc-jdbc-personal-2024-02%23this&type=buy&mode=u" }},
{ "postUrl": { "type": "uri", "value": "http://linkeddata.uriburner.com/proxy-iri/0bd72289391cc006eff4066c4023fd9076fb0727" } , "postTitle": { "type": "literal", "value": "Supercharge SQL Server Connectivity - Grab Your Personal Driver Deal!" } , "text": { "type": "literal", "value": "$49.99" } , "link": { "type": "literal", "value": "https://shop.openlinksw.com/offers/order?uri=http%3A%2F%2Fdata.openlinksw.com%2Foplweb%2Foffer%2FOffer-UDALT-WKS-anyos-odbc-sql-personal-2024-02%23this&type=buy&mode=u" }},
{ "postUrl": { "type": "uri", "value": "http://linkeddata.uriburner.com/proxy-iri/0aa2f942e337a9db23fa3ff1affcc5ef29ca9d81" } , "postTitle": { "type": "literal", "value": "Supercharge AI-Enhanced Data Hamonization and Management Today!: Grab Your Personal Edition Virtuoso Offer Today!" } , "text": { "type": "literal", "value": "$99.99" } , "link": { "type": "literal", "value": "https://shop.openlinksw.com/offers/order?uri=http%3A%2F%2Fdata.openlinksw.com%2Foplweb%2Foffer%2FOffer-2024-09-virtuoso-8-personal-productivity-WKS-ANY%23this&type=buy&mode=v&type=buy&mode=u" }},
{ "postUrl": { "type": "uri", "value": "http://linkeddata.uriburner.com/proxy-iri/f927b9c17b362078d6af6512b9ce5a2279806de7" } , "postTitle": { "type": "literal", "value": "Maximize MySQL Efficiency - Personal ODBC Driver - Save Now!" } , "text": { "type": "literal", "value": "$49.99" } , "link": { "type": "literal", "value": "https://shop.openlinksw.com/offers/order?uri=http%3A%2F%2Fdata.openlinksw.com%2Foplweb%2Foffer%2FOffer-UDALT-WKS-anyos-odbc-mys5-personal-2024-02%23this&type=buy&mode=u" }} ] } }</script>
</div>
<header class="bg-white shadow" id="mainHeader">
<div class="bg-light border-bottom">
<div class="container">
<nav class="navbar navbar-expand-lg navbar-light py-2">
<a class="navbar-brand" href="//www.openlinksw.com/"><img src="/skin/matrix/images/opllogo-minimal-blue.svg" alt="OpenLink Logo" height="40" />
</a>
<div id="mobileShopCartHolder" class="d-lg-none d-flex align-items-center gap-2 ms-auto order-2">
<a id="mobileSearchNavLink" href="https://www.openlinksw.com/search/" aria-label="Search" title="Search" style="display:inline-block;padding:0.25rem;line-height:0;"><img src="/skin/matrix/images/search-icon.svg" alt="" width="18" height="18" style="display:block;" />
</a>
</div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#globalNavbar" aria-controls="globalNavbar" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="globalNavbar">
<ul class="nav navbar-nav d-lg-none mobile-profile-menu">
<li class="nav-item dropdown">
<div class="d-flex align-items-center px-3 py-2">
<a class="navbar-link me-2" id="mobileProfileLoginIcon">
<svg width="16" height="16" fill="black" viewBox="0 0 16 16" class="me-1" style="margin-bottom: 2px;"><path d="M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z"></path>
</svg>
</a><a class="navbar-link me-2" id="mobileProfilelink" style="font-size: 90%; font-weight: 400"></a><a class="nav-link dropdown-toggle ms-auto" href="#" id="mobileProfileDropdown" role="button" data-bs-toggle="dropdown">Profile</a>
</div>
<ul class="dropdown-menu">
<li role="presentation">
<a class="dropdown-item" id="mobileProfileloginlink" href="//shop.openlinksw.com/login">Log In</a>
</li>
<li role="presentation">
<a class="dropdown-item" id="mobileProfileregisterlink" href="//shop.openlinksw.com/register">Register</a>
</li>
<li role="presentation">
<a class="dropdown-item" id="mobileProfileprofilelink" href="//shop.openlinksw.com/ods-profile">
Profile </a>
</li>
<li role="presentation">
<a class="dropdown-item" id="mobileProfilepurchaseslink" href="//shop.openlinksw.com/purchases">
My Purchases </a>
</li>
<li role="presentation">
<a class="dropdown-item" id="mobileProfilequoteslink" href="//shop.openlinksw.com/quotations">
My Quotes</a>
</li>
<li role="presentation">
<a class="dropdown-item" id="mobileProfilelogoutlink" href="//shop.openlinksw.com/logout">Log Out</a>
</li>
</ul>
</li>
</ul>
<ul class="navbar-nav" id="primaryNavMenu">
</ul>
<script id="PrimaryMenu" style="display: none" type="text/json">
{ "head": { "link": [], "vars": ["item", "name", "url", "parent", "parentname", "position"] },
"results": { "distinct": false, "ordered": true, "bindings": [
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs_latest" } , "name": { "type": "literal", "value": "Latest Posts" } , "url": { "type": "uri", "value": "https://www.openlinksw.com/posts/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs" } , "parentname": { "type": "literal", "value": "Blogs" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs_CompanyBlog" } , "name": { "type": "literal", "value": "Tech Showcase Blog" } , "url": { "type": "uri", "value": "https://www.openlinksw.com/weblog/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs" } , "parentname": { "type": "literal", "value": "Blogs" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "2" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs_CEO_Newsletter" } , "name": { "type": "literal", "value": "CEO's Newsletter" } , "url": { "type": "uri", "value": "https://www.linkedin.com/pulse/evolution-software-based-automation-age-generative-ai-idehen-yzsce" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs" } , "parentname": { "type": "literal", "value": "Blogs" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "3" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs_Company_Newsletter" } , "name": { "type": "literal", "value": "Company Newsletter" } , "url": { "type": "uri", "value": "https://www.linkedin.com/newsletters/practical-technology-showcase-7170896000599986179/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs" } , "parentname": { "type": "literal", "value": "Blogs" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "4" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs_Virtuoso" } , "name": { "type": "literal", "value": "Virtuoso Blog" } , "url": { "type": "uri", "value": "https://medium.com/virtuoso-blog" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs" } , "parentname": { "type": "literal", "value": "Blogs" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "5" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs_Drivers" } , "name": { "type": "literal", "value": "ODBC and JDBC Blog" } , "url": { "type": "uri", "value": "https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs" } , "parentname": { "type": "literal", "value": "Blogs" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "6" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs_Legacy" } , "name": { "type": "literal", "value": "Legacy Blog" } , "url": { "type": "uri", "value": "https://www.openlinksw.com/blog/~kidehen/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs" } , "parentname": { "type": "literal", "value": "Blogs" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "7" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Blogs" } , "name": { "type": "literal", "value": "Blogs" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "9" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate_Home" } , "name": { "type": "literal", "value": "Home" } , "url": { "type": "uri", "value": "urn://www.openlinksw.com/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate" } , "parentname": { "type": "literal", "value": "Corporate" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate" } , "name": { "type": "literal", "value": "Corporate" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate_About" } , "name": { "type": "literal", "value": "About" } , "url": { "type": "uri", "value": "urn://www.openlinksw.com/company/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate" } , "parentname": { "type": "literal", "value": "Corporate" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "2" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate_Partnering" } , "name": { "type": "literal", "value": "Partnering" } , "url": { "type": "uri", "value": "urn://www.openlinksw.com/partners/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate" } , "parentname": { "type": "literal", "value": "Corporate" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "3" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate_Contact" } , "name": { "type": "literal", "value": "Contact Us" } , "url": { "type": "uri", "value": "http://www.openlinksw.com/contact/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate" } , "parentname": { "type": "literal", "value": "Corporate" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "4" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate_Privacy" } , "name": { "type": "literal", "value": "Privacy - GDPR" } , "url": { "type": "uri", "value": "urn://www.openlinksw.com/gdpr/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate" } , "parentname": { "type": "literal", "value": "Corporate" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "5" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate_CustomerSnapshot" } , "name": { "type": "literal", "value": "Customer Snapshot" } , "url": { "type": "uri", "value": "urn://www.openlinksw.com/customer-snapshot/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate" } , "parentname": { "type": "literal", "value": "Corporate" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "6" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate_Articles" } , "name": { "type": "literal", "value": "Articles" } , "url": { "type": "uri", "value": "urn://www.openlinksw.com/articles/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Corporate" } , "parentname": { "type": "literal", "value": "Corporate" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "7" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Developers_KG_Developer_Guide" } , "name": { "type": "literal", "value": "Knowledge Graph Developer Guide" } , "url": { "type": "uri", "value": "https://www.openlinksw.com/data/html/building-a-knowledge-using-virtuoso-developers-guide.html" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Developers" } , "parentname": { "type": "literal", "value": "Developer" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Developers" } , "name": { "type": "literal", "value": "Developer" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "3" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/GetStarted_Onboarding" } , "name": { "type": "literal", "value": "Onboarding Options" } , "url": { "type": "uri", "value": "https://shop.openlinksw.com/onboarding/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/GetStarted" } , "parentname": { "type": "literal", "value": "Get Started" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/GetStarted_UDA" } , "name": { "type": "literal", "value": "Data Access Drivers" } , "url": { "type": "uri", "value": "https://shop.openlinksw.com/license_generator/uda/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/GetStarted" } , "parentname": { "type": "literal", "value": "Get Started" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "2" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/GetStarted" } , "name": { "type": "literal", "value": "Get Started" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "6" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/News" } , "name": { "type": "literal", "value": "News" } , "url": { "type": "uri", "value": "https://www.openlinksw.com/news/" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "10" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Partners" } , "name": { "type": "literal", "value": "Partners" } , "url": { "type": "uri", "value": "http://www.openlinksw.com/partners/" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "8" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products_OPAL" } , "name": { "type": "literal", "value": "OpenLink AI Layer (OPAL)" } , "url": { "type": "uri", "value": "urn://opal.openlinksw.com/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products" } , "parentname": { "type": "literal", "value": "Products" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products_Virtuoso" } , "name": { "type": "literal", "value": "Virtuoso Universal Server" } , "url": { "type": "uri", "value": "urn://virtuoso.openlinksw.com/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products" } , "parentname": { "type": "literal", "value": "Products" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "2" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products" } , "name": { "type": "literal", "value": "Products" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "2" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products_YouID" } , "name": { "type": "literal", "value": "Personal Identity Manager for YouID" } , "url": { "type": "uri", "value": "http://youid.openlinksw.com" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products" } , "parentname": { "type": "literal", "value": "Products" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "3" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products_SDS" } , "name": { "type": "literal", "value": "Structured Data Sniffer" } , "url": { "type": "uri", "value": "http://osds.openlinksw.com" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products" } , "parentname": { "type": "literal", "value": "Products" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "4" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products_ODS" } , "name": { "type": "literal", "value": "Personal Data Spaces" } , "url": { "type": "uri", "value": "http://ods.openlinksw.com" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products" } , "parentname": { "type": "literal", "value": "Products" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "5" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products_Connectors" } , "name": { "type": "literal", "value": "ODBC & JDBC Connectors" } , "url": { "type": "uri", "value": "urn://uda.openlinksw.com/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Products" } , "parentname": { "type": "literal", "value": "Products" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "6" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Services" } , "name": { "type": "literal", "value": "Services" } , "url": { "type": "uri", "value": "https://ps.openlinksw.com/" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "4" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_VirtuosoOnPrem" } , "name": { "type": "literal", "value": "Virtuoso License: On-Premise" } , "url": { "type": "uri", "value": "http://virtuoso.openlinksw.com/pricing/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop" } , "parentname": { "type": "literal", "value": "Shop" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_VirtuosoCloud" } , "name": { "type": "literal", "value": "Virtuoso License: Cloud" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop" } , "parentname": { "type": "literal", "value": "Shop" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "2" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_Drivers" } , "name": { "type": "literal", "value": "Data Access Drivers" } , "url": { "type": "uri", "value": "https://shop.openlinksw.com/shop.vsp?proFamily=http%3A%2F%2Fdata.openlinksw.com%2Foplweb%2Fproduct_family%2Fuda%23this" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop" } , "parentname": { "type": "literal", "value": "Shop" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "3" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop" } , "name": { "type": "literal", "value": "Shop" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "7" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_VirtuosoCloud_AWS" } , "name": { "type": "literal", "value": "AWS" } , "url": { "type": "uri", "value": "https://aws.amazon.com/marketplace/pp/prodview-idujw25jbgpn4" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_VirtuosoCloud" } , "parentname": { "type": "literal", "value": "Virtuoso License: Cloud" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_VirtuosoCloud_Azure" } , "name": { "type": "literal", "value": "Azure" } , "url": { "type": "uri", "value": "https://azuremarketplace.microsoft.com/en-us/marketplace/apps/openlinkswcom-pago.openlink-virtuoso-azure-pago-offer-20201019?tab=Overview" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_VirtuosoCloud" } , "parentname": { "type": "literal", "value": "Virtuoso License: Cloud" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "2" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_VirtuosoCloud_GCP" } , "name": { "type": "literal", "value": "Google Cloud Platform (GCP)" } , "url": { "type": "uri", "value": "https://cloud.withgoogle.com/agentfinder/product/a28a32f7-1a00-4ed1-a09e-578e6e703818/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Shop_VirtuosoCloud" } , "parentname": { "type": "literal", "value": "Virtuoso License: Cloud" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "3" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support_Homepage" } , "name": { "type": "literal", "value": "Support Homepage" } , "url": { "type": "uri", "value": "https://www.openlinksw.com/support/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support" } , "parentname": { "type": "literal", "value": "Support" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support_CaseSystem" } , "name": { "type": "literal", "value": "Online Support Case System" } , "url": { "type": "uri", "value": "https://shop.openlinksw.com/support_system/customers/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support" } , "parentname": { "type": "literal", "value": "Support" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "2" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support_Wiki" } , "name": { "type": "literal", "value": "Old Support Wiki" } , "url": { "type": "uri", "value": "http://wikis.openlinksw.com/SupportWeb/" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support" } , "parentname": { "type": "literal", "value": "Support" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "3" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support_Docs" } , "name": { "type": "literal", "value": "Product Documentation" } , "url": { "type": "uri", "value": "http://docs.openlinksw.com" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support" } , "parentname": { "type": "literal", "value": "Support" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "4" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support_MailingLists" } , "name": { "type": "literal", "value": "Mailing Lists" } , "url": { "type": "uri", "value": "https://github.com/openlinksoftware" } , "parent": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support" } , "parentname": { "type": "literal", "value": "Support" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "5" }},
{ "item": { "type": "uri", "value": "http://www.openlinksw.com/id/menu/Support" } , "name": { "type": "literal", "value": "Support" } , "position": { "type": "literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "5" }} ] } }</script>
</div>
<div class="d-none d-lg-flex align-items-center ms-auto flex-shrink-0 desktop-utilities">
<a id="searchNavLink" href="https://www.openlinksw.com/search/" aria-label="Search" title="Search" style="display:inline-block;padding:0.375rem;line-height:0;"><img src="/skin/matrix/images/search-icon.svg" alt="" width="18" height="18" style="display:block;" />
</a>
<div id="ods_widget"></div>
<script>
//
jQuery(document).ready(function() {
ODS.setOdsHost(`https://${document.location.host}/`, `https://${document.location.host}/`)
jQuery.ajax({
url: '/skin/common/auth/ods-cart.vsp',
cache: false,
dataType: "html",
success: function(data) {
jQuery("#ods_widget").html(data).children(':first').unwrap();
$("ul.navbar-right li:has(title)").toggle(false);
// Trigger cart repositioning for mobile
if (typeof window.moveShopCartToMobile === 'function') {
window.moveShopCartToMobile();
}
},
error: function( jqXHR, textStatus, errorThrown ) {
$("ul.navbar-right li:has(title)").toggle(false);
}
});
});
//
</script>
<ul class="nav navbar-nav" data-hover="dropdown" data-animations="fadeIn">
<li class="nav-item dropdown">
<div class="d-flex align-items-center">
<a class="navbar-link me-2" id="profileLoginIcon">
<svg width="16" height="16" fill="black" viewBox="0 0 16 16" class="me-1" style="margin-bottom: 2px;"><path d="M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10z"></path>
</svg>
</a><a class="navbar-link me-2" id="profilelink" style="font-size: 70%;font-weight: 300"></a><a class="dropdown-item nav-link dropdown-toggle" href="#" id="blogsDropdown" role="button" data-bs-toggle="dropdown"></a>
</div>
<ul class="dropdown-menu">
<li role="presentation">
<a class="dropdown-item" id="profileloginlink" href="//shop.openlinksw.com/login">Log In</a>
</li>
<li role="presentation">
<a class="dropdown-item" id="profileregisterlink" href="//shop.openlinksw.com/register">Register</a>
</li>
<li role="presentation">
<a class="dropdown-item" id="profileprofilelink" href="//shop.openlinksw.com/ods-profile">
Profile </a>
</li>
<li role="presentation">
<a class="dropdown-item" id="profilepurchaseslink" href="//shop.openlinksw.com/purchases">
My Purchases </a>
</li>
<li role="presentation">
<a class="dropdown-item" id="profilequoteslink" href="//shop.openlinksw.com/quotations">
My Quotes</a>
</li>
<li role="presentation">
<a class="dropdown-item" id="profilelogoutlink" href="//shop.openlinksw.com/logout">Log Out</a>
</li>
</ul>
</li>
</ul>
</div>
</nav>
</div>
</div>
<style type="text/css">
#mainHeader > .bg-light.border-bottom {
position: relative !important;
z-index: 3 !important;
overflow: visible !important;
}
#secondaryNavbar {
display: block !important;
background: #003366 !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
position: relative !important;
z-index: 1 !important;
overflow: visible !important;
}
#secondaryNavbar .sec-menu {
display: flex !important;
flex-direction: row !important;
flex-wrap: wrap !important;
justify-content: center !important;
align-items: center !important;
gap: 0.25rem 1.25rem !important;
list-style: none !important;
margin: 0 !important;
padding: 0.5rem 0.75rem !important;
}
#secondaryNavbar .sec-menu-item {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
position: relative !important;
}
#secondaryNavbar .sec-menu-link {
color: #ffffff !important;
text-decoration: none !important;
font-weight: 500 !important;
display: inline-block !important;
white-space: nowrap !important;
}
#secondaryNavbar .sec-menu-link:hover,
#secondaryNavbar .sec-menu-link:focus {
color: #ffffff !important;
background: rgba(255, 255, 255, 0.15) !important;
border-radius: 2rem !important;
}
#secondaryNavbar .sec-has-children > .sec-menu-toggle {
position: relative !important;
padding-right: 1.75rem !important;
}
#secondaryNavbar .sec-has-children > .sec-menu-toggle::after {
content: "" !important;
position: absolute !important;
right: 0.625rem !important;
top: 50% !important;
width: 0.4em !important;
height: 0.4em !important;
margin-top: -0.25em !important;
border-right: 1.5px solid currentColor !important;
border-bottom: 1.5px solid currentColor !important;
transition: transform 0.2s ease !important;
}
#secondaryNavbar .sec-opens-down > .sec-menu-toggle::after {
transform: rotate(45deg) !important;
}
#secondaryNavbar .sec-opens-across > .sec-menu-toggle::after {
transform: rotate(-45deg) !important;
}
#secondaryNavbar .sec-flyout {
display: none !important;
list-style: none !important;
margin: 0 !important;
padding: 0.375rem !important;
min-width: 200px !important;
background-color: #003366 !important;
border-radius: 0.5rem !important;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 8px 32px rgba(0, 0, 0, 0.25) !important;
z-index: 1070 !important;
}
#secondaryNavbar .sec-flyout .sec-menu-item {
width: 100% !important;
}
#secondaryNavbar .sec-flyout .sec-menu-link {
display: block !important;
width: 100% !important;
white-space: nowrap !important;
}
#secondaryNavbar .sec-flyout-down {
position: absolute !important;
top: 100% !important;
left: 0 !important;
margin-top: 0.125rem !important;
}
#secondaryNavbar .sec-flyout-across {
position: absolute !important;
left: calc(100% - 4px) !important;
top: -0.375rem !important;
}
@media (min-width: 992px) {
#secondaryNavbar .sec-has-children:hover > .sec-flyout,
#secondaryNavbar .sec-flyout:hover {
display: block !important;
}
#secondaryNavbar .sec-has-children:hover > .sec-menu-toggle,
#secondaryNavbar .sec-flyout .sec-has-children:hover > .sec-menu-toggle {
background: rgba(255, 255, 255, 0.15) !important;
border-radius: 2rem !important;
}
}
@media (max-width: 991.98px) {
#secondaryNavbar .sec-menu {
flex-direction: column !important;
align-items: stretch !important;
gap: 0 !important;
}
#secondaryNavbar .sec-menu > .sec-menu-item {
border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}
#secondaryNavbar .sec-menu-link {
display: flex !important;
align-items: center !important;
width: 100% !important;
white-space: normal !important;
padding: 0.75rem 1rem !important;
}
#secondaryNavbar .sec-flyout {
position: static !important;
display: none !important;
box-shadow: none !important;
border-radius: 0 !important;
padding: 0 !important;
min-width: 0 !important;
background-color: rgba(0, 0, 0, 0.12) !important;
}
#secondaryNavbar .sec-flyout .sec-menu-link {
padding-left: 2rem !important;
}
#secondaryNavbar .sec-flyout .sec-flyout .sec-menu-link {
padding-left: 3rem !important;
}
#secondaryNavbar .sec-has-children.show > .sec-flyout {
display: block !important;
}
#secondaryNavbar .sec-has-children.show.sec-opens-down > .sec-menu-toggle::after {
transform: rotate(-135deg) !important;
}
#secondaryNavbar .sec-has-children.show.sec-opens-across > .sec-menu-toggle::after {
transform: rotate(45deg) !important;
}
}
@media (max-width: 575.98px) {
#secondaryNavbar .sec-menu {
gap: 0.125rem 0.5rem !important;
padding: 0.375rem 0.5rem !important;
}
#secondaryNavbar .sec-menu-link {
white-space: normal !important;
text-align: center !important;
}
}
</style><style type="text/css">
#primaryNavMenu .nav-link,
#globalNavbar .navbar-nav .nav-link {
font-size: 0.9375rem !important;
padding: 0.5rem 0.875rem !important;
}
#secondaryNavbar .sec-menu-link {
font-size: 0.875rem !important;
padding: 0.375rem 0.75rem !important;
}
@media (max-width: 575.98px) {
#secondaryNavbar .sec-menu-link {
font-size: 0.8125rem !important;
padding: 0.3125rem 0.5rem !important;
}
}
</style>
<div id="secondaryNavbar" role="navigation" aria-label="Section navigation">
<div class="container px-3 py-1">
<div id="SecondaryMenuHolder"></div>
</div>
</div>
<script id="SecondaryMenu" style="display: none" type="text/json">
{ "head": { "link": [], "vars": [] },
"results": { "distinct": false, "ordered": true, "bindings": [ ] } }</script>
</header>
</div>
<main><main>
<section class="text-white bg-primary text-center py-5 hero-pattern">
<div class="container px-4">
<h1 class="display-4 fw-bold mb-3">Customer Support</h1>
<p class="lead text-light mb-4 mx-auto" style="max-width: 768px;">
Receive professional support that ensures successful evaluation and
use of our products.</p>
<div class="d-flex flex-column flex-sm-row justify-content-center align-items-center gap-3">
<a href="https://shop.openlinksw.com/support_system/customers/" class="btn btn-light fw-bold px-4 py-2">Open or View Support
Case</a> <a href="#support-plans" class="btn btn-outline-light fw-semibold px-4 py-2">View Support
Plans</a>
</div>
</div>
</section>
<section class="py-5 bg-white">
<div class="container px-4">
<div class="row align-items-center g-5">
<div class="col-lg-6">
<h2 class="h2 fw-bold text-ols-blue-dark mb-4">Comprehensive
Support Solutions</h2>
<p class="text-muted mb-4">Our support services provide a variety
of support solutions that lower costs associated with technology
evaluation, implementation, and rollout.</p>
<p class="text-muted mb-4">We ensure that customers have successful
experiences with our products by attending to challenges associated
with installation, configuration, optimization, all the way to best
practices for long-term success.</p>
<a href="https://shop.openlinksw.com/support_system/customers/" class="btn bg-ols-blue-dark fw-semibold text-white px-4 py-2">Open
or View Support Case</a>
</div>
<div class="col-lg-6 text-center">
<img loading="lazy" class="img-fluid rounded shadow" src="https://www.openlinksw.com/DAV/oplweb3/images/controlled-access-to-data-assets.jpg" alt="Support Services" />
</div>
</div>
</div>
</section>
<section id="benefits" class="py-5 bg-light">
<div class="container px-4">
<div class="text-center mb-5">
<h2 class="h2 fw-bold text-ols-blue-dark mb-3">Benefits</h2>
<p class="text-muted mx-auto" style="max-width: 768px;">Discover
the advantages of our comprehensive support services.</p>
</div>
<div class="embeddedsparql embeddedsparqlresultset" id="oplvalprop" data-oplembed-target="oplvalprop-target" data-oplembed-template="oplvalprop-template">
<div class="embeddedsparql header">
<div class="embeddedsparql header field name">name</div>
<div class="embeddedsparql header field desc">desc</div>
</div>
<div class="embeddedsparql results">
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell name">
<value>Get going faster with our Data Access, Integration, and Management Technology</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>Use our support team and and technical specialists to rapidly acquire and increase product knowledge and proficiency.</value>
</div>
</div>
<div class="embeddedsparql results row even custom">
<div class="embeddedsparql results row cell name">
<value>Automate management of your environment</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>Learn how to monitor your environment and case escalation using automated methods. Our staff will help you acquire critical skills while explosing you to tools for keeping your environment running optimally.</value>
</div>
</div>
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell name">
<value>Focus on what matters without distraction</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>Focus on your business while we focus on your infrastructure. You don't have time to expend on product optimization and administration.</value>
</div>
</div>
<div class="embeddedsparql results row even custom">
<div class="embeddedsparql results row cell name">
<value>Manage and minimize risks</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>Operate securely, and avoid expensive downtime. Our support services can help you exploit modern security standards and innovations. We can also help you plan to ensure you can meet the demands of your customers with configuration and operational guidance that optimizes product exploitation.</value>
</div>
</div>
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell name">
<value>Leverage highly-trained engineers and a comunity of subject-matter experts</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>At OpenLink, we hire first class support professional that are well versed in data access, integration, and management technologies. We also have a growing network of subject-matter experts that augment the services provided by our front-line support team, as and when needed.</value>
</div>
</div>
<div class="embeddedsparql results row even custom">
<div class="embeddedsparql results row cell name">
<value>Support staff empowered to help you accelerate productivity</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>At OpenLink, Support Staff accelerate time to resolution by acting as your direct conduit to our vast technical resources. Case escalations and management are part of a powerful Knowledge Graph that intelligent matches support cases to relevant expertise.</value>
</div>
</div>
</div>
</div>
<script type="text/html" id="oplvalprop-template">
<div class="col-lg-4 col-md-6 mb-4">
<div class="resource-card bg-white rounded p-4 h-100 shadow-sm">
<h3 class="h5 fw-bold text-dark mb-3" data-content="name"></h3>
<p class="text-muted mb-0" data-content="desc"></p>
</div>
</div>
</script>
<div class="row" id="oplvalprop-target"></div>
</div>
</section>
<section class="vps-personas-section py-5 bg-white">
<div class="container px-4">
<div class="text-center mb-5">
<h2 class="h2 fw-bold text-ols-blue-dark mb-3">Built for Your
Role</h2>
<p class="text-muted mx-auto" style="max-width: 768px;">Our support
services are tailored for every team member</p>
</div>
<div class="embeddedsparql embeddedsparqlresultset" id="personas-tabs-query" data-oplembed-target="personas-tabs-target" data-oplembed-template="persona-tab-template">
<div class="embeddedsparql header">
<div class="embeddedsparql header field personaUri">personaUri</div>
<div class="embeddedsparql header field personaFragment">personaFragment</div>
<div class="embeddedsparql header field personaName">personaName</div>
<div class="embeddedsparql header field tabId">tabId</div>
<div class="embeddedsparql header field audienceType">audienceType</div>
<div class="embeddedsparql header field personaUrl">personaUrl</div>
<div class="embeddedsparql header field position">position</div>
</div>
<div class="embeddedsparql results">
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell personaUri">
<a href="https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-customer" rel="nofollow">https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-customer</a>
</div>
<div class="embeddedsparql results row cell personaFragment">
<value>Customer</value>
</div>
<div class="embeddedsparql results row cell personaName">
<value>Customer</value>
</div>
<div class="embeddedsparql results row cell tabId">
<value>https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-customer</value>
</div>
<div class="embeddedsparql results row cell audienceType">
<value>Customer</value>
</div>
<div class="embeddedsparql results row cell personaUrl">
<a href="https://www.openlinksw.com/support/support-for-customer/" rel="nofollow">https://www.openlinksw.com/support/support-for-customer/</a>
</div>
<div class="embeddedsparql results row cell position">
<value datatype="http://www.w3.org/2001/XMLSchema#integer">1</value>
</div>
</div>
<div class="embeddedsparql results row even custom">
<div class="embeddedsparql results row cell personaUri">
<a href="https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-integration-partner" rel="nofollow">https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-integration-partner</a>
</div>
<div class="embeddedsparql results row cell personaFragment">
<value>IntegrationPartner</value>
</div>
<div class="embeddedsparql results row cell personaName">
<value>Integration Partner</value>
</div>
<div class="embeddedsparql results row cell tabId">
<value>https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-integration-partner</value>
</div>
<div class="embeddedsparql results row cell audienceType">
<value>Integration Partner</value>
</div>
<div class="embeddedsparql results row cell personaUrl">
<a href="https://www.openlinksw.com/support/support-for-integration-partner/" rel="nofollow">https://www.openlinksw.com/support/support-for-integration-partner/</a>
</div>
<div class="embeddedsparql results row cell position">
<value datatype="http://www.w3.org/2001/XMLSchema#integer">2</value>
</div>
</div>
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell personaUri">
<a href="https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-isv" rel="nofollow">https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-isv</a>
</div>
<div class="embeddedsparql results row cell personaFragment">
<value>ISV</value>
</div>
<div class="embeddedsparql results row cell personaName">
<value>ISV</value>
</div>
<div class="embeddedsparql results row cell tabId">
<value>https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-isv</value>
</div>
<div class="embeddedsparql results row cell audienceType">
<value>ISV</value>
</div>
<div class="embeddedsparql results row cell personaUrl">
<a href="https://www.openlinksw.com/support/support-for-isv/" rel="nofollow">https://www.openlinksw.com/support/support-for-isv/</a>
</div>
<div class="embeddedsparql results row cell position">
<value datatype="http://www.w3.org/2001/XMLSchema#integer">3</value>
</div>
</div>
<div class="embeddedsparql results row even custom">
<div class="embeddedsparql results row cell personaUri">
<a href="https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-oem" rel="nofollow">https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-oem</a>
</div>
<div class="embeddedsparql results row cell personaFragment">
<value>OEM</value>
</div>
<div class="embeddedsparql results row cell personaName">
<value>OEM</value>
</div>
<div class="embeddedsparql results row cell tabId">
<value>https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-oem</value>
</div>
<div class="embeddedsparql results row cell audienceType">
<value>OEM</value>
</div>
<div class="embeddedsparql results row cell personaUrl">
<a href="https://www.openlinksw.com/support/support-for-oem/" rel="nofollow">https://www.openlinksw.com/support/support-for-oem/</a>
</div>
<div class="embeddedsparql results row cell position">
<value datatype="http://www.w3.org/2001/XMLSchema#integer">4</value>
</div>
</div>
</div>
</div>
<script type="text/html" id="persona-tab-template">
<button class="vps-personas-tab" role="tab" aria-selected="false" tabindex="-1">
<span class="vps-personas-tab-text" data-content="audienceType"></span>
</button>
</script>
<div class="embeddedsparql embeddedsparqlresultset" id="personas-panels-query" data-oplembed-target="personas-panels-target" data-oplembed-template="persona-panel-template">
<div class="embeddedsparql header">
<div class="embeddedsparql header field personaUri">personaUri</div>
<div class="embeddedsparql header field personaName">personaName</div>
<div class="embeddedsparql header field personaFragment">personaFragment</div>
<div class="embeddedsparql header field tabId">tabId</div>
<div class="embeddedsparql header field headline">headline</div>
<div class="embeddedsparql header field description">description</div>
<div class="embeddedsparql header field audienceType">audienceType</div>
<div class="embeddedsparql header field personaUrl">personaUrl</div>
<div class="embeddedsparql header field ctaText">ctaText</div>
<div class="embeddedsparql header field svgImage">svgImage</div>
<div class="embeddedsparql header field position">position</div>
</div>
<div class="embeddedsparql results">
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell personaUri">
<a href="https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-customer" rel="nofollow">https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-customer</a>
</div>
<div class="embeddedsparql results row cell personaName">
<value>Customer</value>
</div>
<div class="embeddedsparql results row cell personaFragment">
<value>Customer</value>
</div>
<div class="embeddedsparql results row cell tabId">
<value>https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-customer</value>
</div>
<div class="embeddedsparql results row cell headline">
<value>Resolve issues quickly with expert guidance</value>
</div>
<div class="embeddedsparql results row cell description">
<value>Access comprehensive support plans, direct technical assistance, and self-service resources to ensure successful deployment, configuration, and long-term operation of OpenLink products.</value>
</div>
<div class="embeddedsparql results row cell audienceType">
<value>Customer</value>
</div>
<div class="embeddedsparql results row cell personaUrl">
<a href="https://www.openlinksw.com/support/support-for-customer/" rel="nofollow">https://www.openlinksw.com/support/support-for-customer/</a>
</div>
<div class="embeddedsparql results row cell ctaText">
<value>Learn more about Customer Support</value>
</div>
<div class="embeddedsparql results row cell svgImage">
<value>https://www.openlinksw.com/DAV/oplweb3/images/support-customer-persona.png</value>
</div>
<div class="embeddedsparql results row cell position">
<value datatype="http://www.w3.org/2001/XMLSchema#integer">1</value>
</div>
</div>
<div class="embeddedsparql results row even custom">
<div class="embeddedsparql results row cell personaUri">
<a href="https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-integration-partner" rel="nofollow">https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-integration-partner</a>
</div>
<div class="embeddedsparql results row cell personaName">
<value>Integration Partner</value>
</div>
<div class="embeddedsparql results row cell personaFragment">
<value>IntegrationPartner</value>
</div>
<div class="embeddedsparql results row cell tabId">
<value>https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-integration-partner</value>
</div>
<div class="embeddedsparql results row cell headline">
<value>Build integrations with confidence</value>
</div>
<div class="embeddedsparql results row cell description">
<value>Leverage deep technical support and documentation to build, validate, and maintain integrations with OpenLink products across diverse data environments and enterprise architectures.</value>
</div>
<div class="embeddedsparql results row cell audienceType">
<value>Integration Partner</value>
</div>
<div class="embeddedsparql results row cell personaUrl">
<a href="https://www.openlinksw.com/support/support-for-integration-partner/" rel="nofollow">https://www.openlinksw.com/support/support-for-integration-partner/</a>
</div>
<div class="embeddedsparql results row cell ctaText">
<value>Learn more about Integration Partner Support</value>
</div>
<div class="embeddedsparql results row cell svgImage">
<value>https://www.openlinksw.com/DAV/oplweb3/images/support-integration-partner-persona.png</value>
</div>
<div class="embeddedsparql results row cell position">
<value datatype="http://www.w3.org/2001/XMLSchema#integer">2</value>
</div>
</div>
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell personaUri">
<a href="https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-isv" rel="nofollow">https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-isv</a>
</div>
<div class="embeddedsparql results row cell personaName">
<value>ISV</value>
</div>
<div class="embeddedsparql results row cell personaFragment">
<value>ISV</value>
</div>
<div class="embeddedsparql results row cell tabId">
<value>https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-isv</value>
</div>
<div class="embeddedsparql results row cell headline">
<value>Embed dependable connectivity in your product</value>
</div>
<div class="embeddedsparql results row cell description">
<value>Access the technical expertise and partner resources needed to incorporate OpenLink data access standards into software products with confidence, compliance, and long-term supportability.</value>
</div>
<div class="embeddedsparql results row cell audienceType">
<value>ISV</value>
</div>
<div class="embeddedsparql results row cell personaUrl">
<a href="https://www.openlinksw.com/support/support-for-isv/" rel="nofollow">https://www.openlinksw.com/support/support-for-isv/</a>
</div>
<div class="embeddedsparql results row cell ctaText">
<value>Learn more about ISV Support</value>
</div>
<div class="embeddedsparql results row cell svgImage">
<value>https://www.openlinksw.com/DAV/oplweb3/images/support-isv-persona.png</value>
</div>
<div class="embeddedsparql results row cell position">
<value datatype="http://www.w3.org/2001/XMLSchema#integer">3</value>
</div>
</div>
<div class="embeddedsparql results row even custom">
<div class="embeddedsparql results row cell personaUri">
<a href="https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-oem" rel="nofollow">https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-oem</a>
</div>
<div class="embeddedsparql results row cell personaName">
<value>OEM</value>
</div>
<div class="embeddedsparql results row cell personaFragment">
<value>OEM</value>
</div>
<div class="embeddedsparql results row cell tabId">
<value>https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-oem</value>
</div>
<div class="embeddedsparql results row cell headline">
<value>Deliver reliable data connectivity at scale</value>
</div>
<div class="embeddedsparql results row cell description">
<value>Integrate OpenLink connectivity components into your platform with dedicated OEM support, ensuring performance, compatibility, and ongoing alignment with evolving product roadmaps.</value>
</div>
<div class="embeddedsparql results row cell audienceType">
<value>OEM</value>
</div>
<div class="embeddedsparql results row cell personaUrl">
<a href="https://www.openlinksw.com/support/support-for-oem/" rel="nofollow">https://www.openlinksw.com/support/support-for-oem/</a>
</div>
<div class="embeddedsparql results row cell ctaText">
<value>Learn more about OEM Support</value>
</div>
<div class="embeddedsparql results row cell svgImage">
<value>https://www.openlinksw.com/DAV/oplweb3/images/support-oem-persona.png</value>
</div>
<div class="embeddedsparql results row cell position">
<value datatype="http://www.w3.org/2001/XMLSchema#integer">4</value>
</div>
</div>
</div>
</div>
<script type="text/html" id="persona-panel-template">
<div class="vps-personas-panel" role="tabpanel" hidden>
<div class="row align-items-center g-5">
<div class="col-lg-6">
<div class="vps-personas-text">
<h3 class="vps-personas-headline" data-content="headline"></h3>
<p class="vps-personas-body" data-content="description"></p>
<a data-href="personaUrl" class="vps-personas-cta" style="display:none;">
<span data-content="ctaText"></span>
<svg class="vps-personas-arrow" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M5 12h14M12 5l7 7-7 7"/>
</svg>
</a>
</div>
</div>
<div class="col-lg-6">
<div class="vps-personas-visual" data-content="svgImage"></div>
</div>
</div>
</div>
</script>
<div class="vps-personas-tabs" role="tablist" aria-label="Buyer Personas" id="personas-tabs-target"></div>
<div class="vps-personas-content" id="personas-panels-target">
</div>
</div>
</section>
<div id="vps-image-lightbox" class="vps-lightbox">
<span class="vps-lightbox-close">×</span>
<div class="card" style="max-width: 1200px; border: none; box-shadow: 0 10px 40px rgba(0,0,0,0.3);">
<div class="card-body p-4">
<div class="row g-4 align-items-center">
<div class="col-md-5 d-flex flex-column justify-content-center">
<h5 class="card-title fw-bold mb-3" id="vps-lightbox-name"></h5>
<h3 class="h4 text-primary mb-3" id="vps-lightbox-headline"></h3>
<p class="card-text text-muted mb-0" id="vps-lightbox-description">
</p>
</div>
<div class="col-md-7 d-flex align-items-center justify-content-center">
<img loading="lazy" class="img-fluid" id="vps-lightbox-img" src="" alt="" style="max-width: 100%; height: auto; max-height: 600px; object-fit: contain;" />
</div>
</div>
</div>
</div>
</div>
<section id="support-plans" class="py-5 bg-white">
<div class="container px-4">
<div class="text-center mb-5">
<h2 class="h2 fw-bold text-ols-blue-dark mb-3">Support Plans</h2>
<p class="text-muted mx-auto" style="max-width: 768px;">Choose the
support plan that best fits your organization's needs.</p>
</div>
<div class="embeddedsparql embeddedsparqlresultset" id="opluc" data-oplembed-target="opluc-target" data-oplembed-template="opluc-template">
<div class="embeddedsparql header">
<div class="embeddedsparql header field s">s</div>
<div class="embeddedsparql header field name">name</div>
<div class="embeddedsparql header field desc">desc</div>
</div>
<div class="embeddedsparql results">
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell s">
<a href="http://data.openlinksw.com/oplweb/support_packages#Bronze" rel="nofollow">http://data.openlinksw.com/oplweb/support_packages#Bronze</a>
</div>
<div class="embeddedsparql results row cell name">
<value>Bronze</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>Bronze Support is recommended for individual developers needing technical support during business hours (9-5PM).</value>
</div>
</div>
<div class="embeddedsparql results row even custom">
<div class="embeddedsparql results row cell s">
<a href="http://data.openlinksw.com/oplweb/support_packages#Silver" rel="nofollow">http://data.openlinksw.com/oplweb/support_packages#Silver</a>
</div>
<div class="embeddedsparql results row cell name">
<value>Silver</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>Silver Support is recommended for project teams that require technical support services during business hours</value>
</div>
</div>
<div class="embeddedsparql results row odd custom">
<div class="embeddedsparql results row cell s">
<a href="http://data.openlinksw.com/oplweb/support_packages#Gold" rel="nofollow">http://data.openlinksw.com/oplweb/support_packages#Gold</a>
</div>
<div class="embeddedsparql results row cell name">
<value>Gold</value>
</div>
<div class="embeddedsparql results row cell desc">
<value>Gold Support is recommended for projects and departments that require support, in addition to custom development and consulting services</value>
</div>
</div>
</div>
</div>
<script type="text/html" id="opluc-template">
<div class="col-lg-4 col-md-6 mb-4">
<div class="resource-card bg-light rounded p-4 h-100">
<h3 class="h5 fw-bold text-dark mb-3" data-content="name"></h3>
<p class="text-muted mb-4" data-content="desc" style="min-height: 100px;"></p>
<a href="https://www.openlinksw.com/contact" class="btn bg-ols-blue-dark text-white fw-semibold px-4 py-2">Contact Us For More Information</a>
</div>
</div>
</script>
<div class="row" id="opluc-target"></div>
</div>
</section>
<section id="resources" class="py-5 bg-light">
<div class="container px-4">
<div class="text-center mb-5">
<h2 class="h2 fw-bold text-ols-blue-dark mb-3">Resources</h2>
<p class="text-muted mx-auto" style="max-width: 768px;">Access
documentation, community forums, and expert insights.</p>
</div>
<div class="row g-4">
<div class="col-lg-4 col-md-6">
<div class="resource-card bg-white rounded p-4 h-100 shadow-sm">
<h3 class="h5 fw-bold text-dark mb-3">Documentation</h3>
<ul class="list-unstyled">
<li class="mb-2">
<span class="support-check">✓</span> <a href="https://docs.openlinksw.com/virtuoso/" class="text-ols-blue-dark">Virtuoso Documentation</a>
</li>
<li class="mb-2">
<span class="support-check">✓</span> <a href="https://docs.openlinksw.com/uda/" class="text-ols-blue-dark">Data
Access Driver Documentation</a>
</li>
</ul>
</div>
</div>
<div class="col-lg-4 col-md-6">
<div class="resource-card bg-white rounded p-4 h-100 shadow-sm">
<h3 class="h5 fw-bold text-dark mb-3">Community</h3>
<ul class="list-unstyled">
<li class="mb-2">
<span class="support-check">✓</span> <a href="https://community.openlinksw.com/" class="text-ols-blue-dark">OpenLink Software Community Forum</a>
</li>
<li class="mb-2">
<span class="support-check">✓</span> <a href="https://stackoverflow.com/questions/tagged/virtuoso" class="text-ols-blue-dark">Stack Overflow (Virtuoso)</a>
</li>
</ul>
</div>
</div>
<div class="col-lg-4 col-md-6">
<div class="resource-card bg-white rounded p-4 h-100 shadow-sm">
<h3 class="h5 fw-bold text-dark mb-3">Blogs</h3>
<ul class="list-unstyled">
<li class="mb-2">
<span class="support-check">✓</span> <a href="https://medium.com/virtuoso-blog" class="text-ols-blue-dark">Virtuoso Blog</a>
</li>
<li class="mb-2">
<span class="support-check">✓</span> <a href="https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers" class="text-ols-blue-dark">Data Access Drivers Blog</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</section>
<section id="final-cta" class="bg-primary text-white text-center py-5 hero-pattern">
<div class="container px-4">
<h2 class="h2 fw-bold mb-3">Need Help?</h2>
<p class="text-light mb-4 mx-auto" style="max-width: 768px;">Our
support team is ready to assist you. Open a support case or contact
us to learn more about our support plans.</p>
<div class="d-flex flex-column flex-sm-row justify-content-center align-items-center gap-3">
<a href="https://shop.openlinksw.com/support_system/customers/" class="btn btn-light fw-bold px-4 py-2">Open Support Case</a>
<a href="https://www.openlinksw.com/contact" class="btn btn-outline-light fw-semibold px-4 py-2">Contact Us</a>
</div>
</div>
</section>
</main>
<script>
document.addEventListener('DOMContentLoaded', function() {
(function() {
'use strict';
const section = document.querySelector('.vps-personas-section');
if (!section) return;
function initializeFirstTab() {
const tabs = section.querySelectorAll('.vps-personas-tab');
const panels = section.querySelectorAll('.vps-personas-panel');
if (tabs.length > 0 && !section.querySelector('.vps-personas-tab.active')) {
tabs[0].classList.add('active');
tabs[0].setAttribute('aria-selected', 'true');
tabs[0].setAttribute('tabindex', '0');
}
if (panels.length > 0) {
panels.forEach((panel, index) => {
if (index === 0) {
panel.hidden = false;
panel.classList.add('active');
} else {
panel.hidden = true;
panel.classList.remove('active');
}
});
}
}
function switchTab(targetTab, updateHash) {
const tabs = section.querySelectorAll('.vps-personas-tab');
const panels = section.querySelectorAll('.vps-personas-panel');
const tabIndex = Array.from(tabs).indexOf(targetTab);
const targetPanel = panels[tabIndex];
if (!targetPanel) return;
tabs.forEach(tab => {
const isSelected = tab === targetTab;
tab.classList.toggle('active', isSelected);
tab.setAttribute('aria-selected', isSelected);
tab.setAttribute('tabindex', isSelected ? '0' : '-1');
});
panels.forEach(panel => {
if (panel === targetPanel) {
panel.hidden = false;
requestAnimationFrame(() => { panel.classList.add('active'); });
} else {
panel.classList.remove('active');
setTimeout(() => { if (!panel.classList.contains('active')) panel.hidden = true; }, 400);
}
});
if (updateHash !== false) {
const fragment = targetTab.textContent.trim().replace(/\s+/g, '');
if (fragment) history.replaceState(null, '', '#persona-' + fragment);
}
}
function getTabByFragment(fragment) {
const lower = fragment.toLowerCase();
return Array.from(section.querySelectorAll('.vps-personas-tab'))
.find(tab => tab.textContent.trim().replace(/\s+/g, '').toLowerCase() === lower) || null;
}
function activateFromHash() {
const hash = window.location.hash;
if (!hash.startsWith('#persona-')) return false;
const fragment = hash.slice('#persona-'.length);
const tab = getTabByFragment(fragment);
if (!tab) return false;
switchTab(tab, false);
section.scrollIntoView({ behavior: 'smooth', block: 'start' });
return true;
}
let listenersAttached = false;
function attachTabListeners() {
if (listenersAttached) return;
const tabsContainer = section.querySelector('.vps-personas-tabs');
if (!tabsContainer) return;
listenersAttached = true;
tabsContainer.addEventListener('click', (e) => {
const tab = e.target.closest('.vps-personas-tab');
if (tab) { e.preventDefault(); switchTab(tab, true); }
});
tabsContainer.addEventListener('keydown', (e) => {
const tab = e.target.closest('.vps-personas-tab');
if (!tab) return;
const tabs = Array.from(section.querySelectorAll('.vps-personas-tab'));
let targetTab = null;
switch (e.key) {
case 'ArrowRight': case 'ArrowDown':
e.preventDefault();
targetTab = tabs[tabs.indexOf(tab) + 1] || tabs[0];
break;
case 'ArrowLeft': case 'ArrowUp':
e.preventDefault();
targetTab = tabs[tabs.indexOf(tab) - 1] || tabs[tabs.length - 1];
break;
case 'Home': e.preventDefault(); targetTab = tabs[0]; break;
case 'End': e.preventDefault(); targetTab = tabs[tabs.length - 1]; break;
}
if (targetTab) { targetTab.focus(); switchTab(targetTab, true); }
});
}
function rewritePersonaUrls() {
section.querySelectorAll('.vps-personas-cta').forEach(link => {
const href = link.getAttribute('href');
if (!href) return;
try {
const url = new URL(href);
if (url.hostname === 'virtuoso.openlinksw.com') {
link.setAttribute('href', window.location.protocol + '//' + window.location.host + url.pathname + url.search + url.hash);
}
} catch (e) {}
});
}
function convertPersonaImages() {
section.querySelectorAll('.vps-personas-visual').forEach(visual => {
const content = visual.textContent.trim();
if (content && (content.startsWith('http://') || content.startsWith('https://'))) {
visual.innerHTML = '<img src="' + content + '" alt="" class="vps-personas-svg" style="width:100%;height:auto;display:block;">';
}
});
}
function setupLightbox() {
const lightbox = document.getElementById('vps-image-lightbox');
const lightboxImg = document.getElementById('vps-lightbox-img');
const lightboxName = document.getElementById('vps-lightbox-name');
const lightboxHeadline = document.getElementById('vps-lightbox-headline');
const lightboxDescription = document.getElementById('vps-lightbox-description');
const closeBtn = document.querySelector('.vps-lightbox-close');
if (!lightbox || !lightboxImg || !closeBtn) return;
section.addEventListener('click', function(e) {
const img = e.target.closest('.vps-personas-visual img');
if (img && img.src) {
const panel = img.closest('.vps-personas-panel');
if (panel) {
lightboxHeadline.textContent = panel.querySelector('.vps-personas-headline')?.textContent || '';
lightboxDescription.textContent = panel.querySelector('.vps-personas-body')?.textContent || '';
lightboxName.textContent = section.querySelector('.vps-personas-tab.active')?.textContent.trim() || '';
}
lightboxImg.src = img.src;
lightbox.classList.add('active');
document.body.style.overflow = 'hidden';
}
});
closeBtn.addEventListener('click', () => { lightbox.classList.remove('active'); document.body.style.overflow = ''; });
lightbox.addEventListener('click', (e) => { if (e.target === lightbox) { lightbox.classList.remove('active'); document.body.style.overflow = ''; } });
document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && lightbox.classList.contains('active')) { lightbox.classList.remove('active'); document.body.style.overflow = ''; } });
}
function tryInit() {
if (section.querySelectorAll('.vps-personas-tab').length > 0 &&
section.querySelectorAll('.vps-personas-panel').length > 0) {
if (!activateFromHash()) initializeFirstTab();
rewritePersonaUrls();
convertPersonaImages();
}
}
window.addEventListener('hashchange', () => {
if (window.location.hash.startsWith('#persona-')) activateFromHash();
});
attachTabListeners();
setupLightbox();
const tabsTarget = document.getElementById('personas-tabs-target');
const panelsTarget = document.getElementById('personas-panels-target');
if (tabsTarget) new MutationObserver(tryInit).observe(tabsTarget, { childList: true, subtree: true });
if (panelsTarget) new MutationObserver(tryInit).observe(panelsTarget, { childList: true, subtree: true });
tryInit();
})();
});
</script>
</main>
<footer id="footer" class="text-light pt-5" style="background-image:linear-gradient(rgba(0, 51, 102, 0.95), rgba(0, 51, 102, 0.95)), url('https://www.transparenttextures.com/patterns/cubes.png')">
<div class="container py-5">
<div class="row row-cols-2 row-cols-md-5 g-4">
<div>
<h5 class="text-white fw-bold mb-4">Company</h5>
<ul class="list-unstyled text-muted">
<li>
<a href="https://www.openlinksw.com/company/" class="text-decoration-none text-light">About Us</a>
</li>
<li>
<a href="#" class="text-decoration-none text-light">Blog</a>
</li>
<li>
<a href="#" class="text-decoration-none text-light">Careers</a>
</li>
<li>
<a href="https://www.openlinksw.com/partners/" class="text-decoration-none text-light">Partnering</a>
</li>
<li>
<a href="https://www.openlinksw.com/contact/" class="text-decoration-none text-light">Contact Us</a>
</li>
<li>
<a href="https://www.openlinksw.com/gdpr/" class="text-decoration-none text-light">Privacy & GDPR</a>
</li>
</ul>
</div>
<div>
<h5 class="text-white fw-bold mb-4">Products & Services</h5>
<ul class="list-unstyled text-muted">
<li>
<a href="https://virtuoso.openlinksw.com" class="text-decoration-none text-light">Virtuoso
Data Spaces Platform</a>
</li>
<li>
<a href="https://uda.openlinksw.com" class="text-decoration-none text-light">High-Performance
Data Connectors</a>
</li>
<li>
<a href="https://osds.openlinksw.com" class="text-decoration-none text-light">Data Sniffer (OSDS)</a>
</li>
<li>
<a href="https://youid.openlinksw.com" class="text-decoration-none text-light">YouID Certificate Generator</a>
</li>
<li>
<a href="https://shop.openlinksw.com/onboarding/" class="text-decoration-none text-light">Free Trials & Downloads</a>
</li>
<li>
<a href="https://shop.openlinksw.com/" class="text-decoration-none text-light">Pricing</a>
</li>
<li>
<a href="https://ps.openlinksw.com/" class="text-decoration-none text-light">Training</a>
</li>
<li>
<a href="https://ps.openlinksw.com/" class="text-decoration-none text-light">Consulting</a>
</li>
<li>
<a href="https://ps.openlinksw.com/" class="text-decoration-none text-light">Custom Development</a>
</li>
</ul>
</div>
<div>
<h5 class="text-white fw-bold mb-4">Resources</h5>
<ul class="list-unstyled text-muted">
<li>
<a href="https://www.openlinksw.com/content-explorer/" class="text-decoration-none text-light">Content Explorer</a>
</li>
<li>
<a href="https://www.openlinksw.com/content-explorer/#category=Explainer%2CHowTo" class="text-decoration-none text-light">Explainers and HowTos</a>
</li>
<li>
<a href="https://www.openlinksw.com/content-explorer/" class="text-decoration-none text-light">Virtuoso Screencast Demos</a>
</li>
<li>
<a href="https://docs.openlinksw.com/virtuoso/" class="text-decoration-none text-light">Virtuoso Documentation</a>
</li>
<li>
<a href="https://opal.openlinksw.com/install" class="text-decoration-none text-light">OpenLink AI Layer (OPAL) Documentation</a>
</li>
<li>
<a href="https://wikis.openlinksw.com/UdaWikiWeb" class="text-decoration-none text-light">OpenLink Data Connectors Documentation</a>
</li>
</ul>
</div>
<div>
<h5 class="text-white fw-bold mb-4">Developers</h5>
<ul class="list-unstyled text-muted">
<li>
<a href="https://community.openlinksw.com/" class="text-decoration-none text-light">Community Forum</a>
</li>
<li>
<a href="https://github.com/openlink" class="text-decoration-none text-light">GitHub</a>
</li>
<li>
<a href="https://wikis.openlinksw.com/SupportWeb/" class="text-decoration-none text-light">Support</a>
</li>
</ul>
</div>
<div>
<h5 class="text-white fw-bold mb-4">Subscribe</h5>
<p class="text-light small mb-3">Subscribe to our newsletter for the latest updates, product releases, and industry insights.</p>
<form id="footer-subscribe-form" class="d-flex flex-column gap-2"><input id="footer-subscribe-first-name" name="first_name" type="text" class="form-control bg-white bg-opacity-10 border-secondary text-dark" placeholder="First name" /><input id="footer-subscribe-email" name="emailAddress" type="email" class="form-control bg-white bg-opacity-10 border-secondary text-dark" placeholder="Email address" required="required" />
<button id="footer-subscribe-submit" type="submit" class="btn text-white fw-semibold px-4 py-2" style="background-color: #1d74d8; border: 1px solid #4a98f0; border-radius: 0.5rem; box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.18);">Submit</button>
<div id="footer-subscribe-message" class="small mt-1 text-light" role="status" aria-live="polite"></div>
</form>
</div>
</div>
<hr class="border-secondary my-5" />
<div class="d-flex flex-column flex-md-row justify-content-between align-items-center">
<p class="mb-3 mb-md-0 small">© 1992 -
<script type="text/javascript">
document.write((new Date()).getFullYear());
</script> <a class="text-decoration-none text-light" href="https://www.openlinksw.com/">OpenLink Software</a>. All rights reserved.
</p>
<div class="d-flex gap-3 mt-4 mt-md-0">
<p class="mb-3 mb-md-0 small">Making Technology Work for You®</p>
</div>
<div class="d-flex gap-3 mt-4 mt-md-0">
<a href="https://www.linkedin.com/company/openlink-software/" class="text-light" aria-label="LinkedIn">
<svg width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path>
</svg>
</a>
<a href="https://x.com/OpenLink/" class="text-light" aria-label="X (Twitter)">
<svg width="24" height="24" fill="currentColor" viewBox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
</svg>
</a>
<a href="https://bsky.app/profile/openlink.bsky.social" class="text-light" aria-label="Bluesky">
<svg fill="none" viewBox="0 0 64 57" width="24" style="width: 24px;"><path fill="#0085ff" d="M13.873 3.805C21.21 9.332 29.103 20.537 32 26.55v15.882c0-.338-.13.044-.41.867-1.512 4.456-7.418 21.847-20.923 7.944-7.111-7.32-3.819-14.64 9.125-16.85-7.405 1.264-15.73-.825-18.014-9.015C1.12 23.022 0 8.51 0 6.55 0-3.268 8.579-.182 13.873 3.805ZM50.127 3.805C42.79 9.332 34.897 20.537 32 26.55v15.882c0-.338.13.044.41.867 1.512 4.456 7.418 21.847 20.923 7.944 7.111-7.32 3.819-14.64-9.125-16.85 7.405 1.264 15.73-.825 18.014-9.015C62.88 23.022 64 8.51 64 6.55c0-9.818-8.578-6.732-13.873-2.745Z"></path>
</svg>
</a>
<a href="https://mastodon.social/@openlink" class="text-light" aria-label="Mastodon"><img src="/skin/matrix/images/mastodon-logo-purple.svg" style="width: 24px" />
</a>
</div>
</div>
<script type="text/javascript">
(function () {
var form = document.getElementById('footer-subscribe-form');
var messageEl = document.getElementById('footer-subscribe-message');
var submitButton = document.getElementById('footer-subscribe-submit');
if (!form || !messageEl || !submitButton) {
return;
}
var setMessage = function (status, message) {
messageEl.className = 'small mt-1 ' + (status === 'success' ? 'text-success' : 'text-warning');
messageEl.textContent = message;
};
var parseResponse = function (text) {
if (!text) {
return null;
}
try {
return JSON.parse(text);
} catch (jsonError) {
try {
return JSON.parse(text.replace(/([{,]\s*)([A-Za-z_][A-Za-z0-9_]*)\s*:/g, '$1"$2":').replace(/'/g, '"'));
} catch (legacyJsonError) {
return null;
}
}
};
form.addEventListener('submit', function (event) {
event.preventDefault();
var emailInput = document.getElementById('footer-subscribe-email');
var firstNameInput = document.getElementById('footer-subscribe-first-name');
var payload = {
emailAddress: emailInput ? emailInput.value : '',
first_name: firstNameInput ? firstNameInput.value : ''
};
if (!payload.emailAddress) {
setMessage('error', 'Invalid email address');
return;
}
submitButton.disabled = true;
setMessage('pending', 'Submitting...');
fetch('https://ods-qa.openlinksw.com/DAV/subscribe.vsp', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
})
.then(function (response) {
return response.text().then(function (text) {
return {
ok: response.ok,
data: parseResponse(text),
text: text
};
});
})
.then(function (result) {
var status = result.data && result.data.status ? result.data.status : (result.ok ? 'success' : 'error');
var message = result.data && result.data.message ? result.data.message : (result.ok ? 'Subscriber added successfully' : 'Unable to subscribe at this time');
setMessage(status, message);
if (status === 'success') {
form.reset();
}
})
.catch(function () {
setMessage('error', 'Unable to subscribe at this time');
})
.finally(function () {
submitButton.disabled = false;
});
});
}());
</script>
</div>
</footer>
</div>
<script>
const mobileMenuButton = document.getElementById('mobile-menu-button');
const mobileMenu = document.getElementById('mobile-menu');
mobileMenuButton.addEventListener('click', () => {
mobileMenu.classList.toggle('hidden');
});
</script><script type="text/javascript">
$(document).xpath("//div[contains(@class,'embeddedsparql') and @id and @data-oplembed-target and @data-oplembed-template]").each(
function(idx, datid) {
var id = $(datid).attr("id");
var data= embedToData(id, 0);
var dest= $(datid).attr("data-oplembed-target");
var templt= $("#"+id).attr("data-oplembed-template");
if(typeof embedDataPreHook === "function") {
embedDataPreHook(datid);
}
if(typeof embedDataFixes === "function") {
$("#"+dest).loadTemplate($("#"+templt), data, {complete: embedDataFixes});
} else {
$("#"+dest).loadTemplate($("#"+templt), data);
}
if(typeof embedDataPostHook === "function") {
embedDataPostHook(datid);
}
$(datid).toggle(false);
}
)
</script><script type="text/javascript">
// Desktop profile links
document.getElementById("profileloginlink").href=document.getElementById("profileloginlink").href+"?returnto="+encodeURIComponent(document.location);
document.getElementById("profileregisterlink").href=document.getElementById("profileregisterlink").href+"?returnto="+encodeURIComponent(document.location);
// Mobile profile links
document.getElementById("mobileProfileloginlink").href=document.getElementById("mobileProfileloginlink").href+"?returnto="+encodeURIComponent(document.location);
document.getElementById("mobileProfileregisterlink").href=document.getElementById("mobileProfileregisterlink").href+"?returnto="+encodeURIComponent(document.location);
$(".oplshopitem").each( (idx,x) => x.href=x.href.replace("#LOGIN", document.getElementById("profileloginlink").href))
if (document.location.pathname.includes("support_system") || document.location.pathname.includes("profile") ||
document.location.pathname.includes("quotations") || document.location.pathname.includes("purchases")) {
document.getElementById("profilelogoutlink").href=document.getElementById("profilelogoutlink").href+"?returnto="+encodeURIComponent('https://www.openlinksw.com');
document.getElementById("mobileProfilelogoutlink").href=document.getElementById("mobileProfilelogoutlink").href+"?returnto="+encodeURIComponent('https://www.openlinksw.com');
} else {
document.getElementById("profilelogoutlink").href=document.getElementById("profilelogoutlink").href+"?returnto="+encodeURIComponent(document.location);
document.getElementById("mobileProfilelogoutlink").href=document.getElementById("mobileProfilelogoutlink").href+"?returnto="+encodeURIComponent(document.location);
}
</script><script type="text/javascript">
// Desktop profile visibility
$("#profileLoginIcon").toggle(true);
$("#profileloginlink").toggle(true);
$("#profileregisterlink").toggle(true);
$("#profilelogoutlink").toggle(false);
$("#profilelink").toggle(false);
$("#profiledropdown").css("padding-top", "15px");
$("#profiledropdown").css("padding-bottom", "15px");
// Mobile profile visibility
$("#mobileProfileLoginIcon").toggle(true);
$("#mobileProfileloginlink").toggle(true);
$("#mobileProfileregisterlink").toggle(true);
$("#mobileProfilelogoutlink").toggle(false);
$("#mobileProfilelink").toggle(false);
</script><script type="text/javascript">
var repaint=document.getElementById("repaint")
repaint.remove()
</script><script type="text/javascript">
$(document).on('click', '[data-toggle="lightbox"]', function(event) {
event.preventDefault();
$(this).ekkoLightbox(
{
alwaysShowClose: true,
showArrows: true
}
);
});
</script><script type="text/javascript">
function buildNavbar(sparqlJson) {
const normalizeUrl = (u) => {
if (!u) return "#";
return u.startsWith("urn://") ? "//" + u.slice(6) : u;
};
// Build node lookup
const nodes = {};
for (const b of sparqlJson.results.bindings) {
const id = b.item.value;
nodes[id] = nodes[id] || { id, children: [] };
const n = nodes[id];
n.name = b.name?.value || n.name;
n.url = b.url?.value || n.url || null;
n.position = parseInt(b.position?.value || "0", 10);
n.parent = b.parent?.value || null;
}
// Attach children to parents
const roots = [];
Object.values(nodes).forEach(n => {
if (n.parent && nodes[n.parent]) {
nodes[n.parent].children.push(n);
} else {
roots.push(n);
}
});
// Recursive DOM renderer
const renderNode = (n, level = 0) => {
const li = document.createElement("li");
const hasChildren = n.children.length > 0;
if (level === 0) {
if (hasChildren) {
li.className = "nav-item dropdown";
const a = document.createElement("a");
a.className = "nav-link dropdown-toggle";
a.href = "#";
a.id = n.id.replace(/[^a-z0-9]+/gi, "_") + "_Dropdown";
a.setAttribute("role", "button");
a.setAttribute("data-bs-toggle", "dropdown");
a.textContent = n.name;
li.appendChild(a);
const ul = document.createElement("ul");
ul.className = "dropdown-menu";
n.children.sort((a, b) => a.position - b.position)
.forEach(c => ul.appendChild(renderNode(c, level + 1)));
li.appendChild(ul);
} else {
li.className = "nav-item";
const a = document.createElement("a");
a.className = "nav-link";
a.href = normalizeUrl(n.url);
a.textContent = n.name;
li.appendChild(a);
}
} else {
if (hasChildren) {
li.className = "dropdown-submenu";
const a = document.createElement("a");
a.className = "dropdown-item dropdown-toggle";
a.href = "#";
a.textContent = n.name;
li.appendChild(a);
const ul = document.createElement("ul");
ul.className = "dropdown-menu";
n.children.sort((a, b) => a.position - b.position)
.forEach(c => ul.appendChild(renderNode(c, level + 1)));
li.appendChild(ul);
} else {
const a = document.createElement("a");
a.className = "dropdown-item";
a.href = normalizeUrl(n.url);
a.textContent = n.name;
li.appendChild(a);
}
}
return li;
};
// Build root UL
const ul = document.createElement("ul");
ul.className = "navbar-nav";
roots.sort((a, b) => a.position - b.position)
.forEach(r => ul.appendChild(renderNode(r, 0)));
return ul;
}
function buildSecondaryNav(sparqlJson) {
const normalizeUrl = (u) => {
if (!u) return "#";
return u.startsWith("urn://") ? "//" + u.slice(6) : u;
};
const nodes = {};
const bindings = (sparqlJson && sparqlJson.results && sparqlJson.results.bindings) || [];
for (const b of bindings) {
const id = b.item.value;
nodes[id] = nodes[id] || { id, children: [] };
const n = nodes[id];
n.name = b.name?.value || n.name;
n.url = b.url?.value || n.url || null;
n.position = parseInt(b.position?.value || "0", 10);
n.parent = b.parent?.value || null;
}
const roots = [];
Object.values(nodes).forEach(n => {
if (n.parent && nodes[n.parent]) {
nodes[n.parent].children.push(n);
} else {
roots.push(n);
}
});
const renderSecNode = (n, level = 0) => {
const li = document.createElement("li");
const hasChildren = n.children.length > 0;
li.className = "sec-menu-item" + (hasChildren ? " sec-has-children sec-opens-" + (level % 2 === 0 ? "down" : "across") : "");
if (hasChildren) {
const a = document.createElement("a");
a.className = "sec-menu-link sec-menu-toggle";
a.href = "#";
a.setAttribute("role", "button");
a.setAttribute("aria-expanded", "false");
a.textContent = n.name || "";
li.appendChild(a);
const ul = document.createElement("ul");
ul.className = "sec-flyout sec-flyout-" + (level % 2 === 0 ? "down" : "across");
n.children.sort((a, b) => a.position - b.position)
.forEach(c => ul.appendChild(renderSecNode(c, level + 1)));
li.appendChild(ul);
} else {
const a = document.createElement("a");
a.className = "sec-menu-link";
a.href = normalizeUrl(n.url);
a.textContent = n.name || "";
li.appendChild(a);
}
return li;
};
const ul = document.createElement("ul");
ul.className = "sec-menu";
roots.sort((a, b) => a.position - b.position)
.forEach(n => ul.appendChild(renderSecNode(n, 0)));
return ul;
}
function initMenus() {
const primaryMenuEl = document.getElementById("PrimaryMenu");
const secondaryMenuEl = document.getElementById("SecondaryMenu");
const secondaryHolder = document.getElementById("SecondaryMenuHolder");
if (primaryMenuEl) {
const sparqlJson = JSON.parse(primaryMenuEl.textContent);
const ul = buildNavbar(sparqlJson);
const primaryContainer = document.querySelector("#primaryNavMenu");
if (primaryContainer) {
while (primaryContainer.firstChild) {
primaryContainer.removeChild(primaryContainer.firstChild);
}
Array.from(ul.children).forEach(child => primaryContainer.appendChild(child));
} else {
const globalNavbar = document.querySelector("#globalNavbar");
if (globalNavbar) {
globalNavbar.appendChild(ul);
}
}
}
if (secondaryMenuEl && secondaryHolder) {
const sparqlJson2 = JSON.parse(secondaryMenuEl.textContent);
secondaryHolder.innerHTML = "";
secondaryHolder.appendChild(buildSecondaryNav(sparqlJson2));
}
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initMenus);
} else {
initMenus();
}
// Mobile dropdown toggle handler
(function() {
function isMobile() {
return window.innerWidth < 992;
}
// Handle dropdown toggle clicks on mobile
document.addEventListener('click', function(e) {
if (!isMobile()) return;
const toggle = e.target.closest('.dropdown-toggle, .sec-menu-toggle');
if (!toggle) return;
const dropdown = toggle.closest('.dropdown, .dropdown-submenu, .sec-has-children');
if (!dropdown) return;
e.preventDefault();
e.stopPropagation();
// Close other open dropdowns at the same level
const parent = dropdown.parentElement;
if (parent) {
parent.querySelectorAll(':scope > .dropdown.show, :scope > .dropdown-submenu.show, :scope > .sec-has-children.show').forEach(function(openDropdown) {
if (openDropdown !== dropdown) {
openDropdown.classList.remove('show');
const openToggle = openDropdown.querySelector(':scope > .dropdown-toggle, :scope > .sec-menu-toggle');
if (openToggle) openToggle.setAttribute('aria-expanded', 'false');
}
});
}
// Toggle current dropdown
const isOpen = dropdown.classList.toggle('show');
toggle.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
});
// Close dropdowns when clicking outside
document.addEventListener('click', function(e) {
if (!isMobile()) return;
if (!e.target.closest('.navbar-nav, #secondaryNavbar')) {
document.querySelectorAll('.dropdown.show, .dropdown-submenu.show, .sec-has-children.show').forEach(function(dropdown) {
dropdown.classList.remove('show');
const openToggle = dropdown.querySelector(':scope > .dropdown-toggle, :scope > .sec-menu-toggle');
if (openToggle) openToggle.setAttribute('aria-expanded', 'false');
});
}
});
})();
// News Banner Carousel
(function() {
const newsBanner = document.getElementById('newsBanner');
const newsDataEl = document.getElementById('NewsData');
if (!newsDataEl || newsDataEl.textContent.trim() === "") return;
let newsData;
try {
newsData = JSON.parse(newsDataEl.textContent);
} catch (e) {
return;
}
const newsItems = newsData.results && newsData.results.bindings;
if (!newsItems || newsItems.length === 0) return;
if (localStorage.getItem('newsBannerHidden') === 'true') return;
if (newsBanner) newsBanner.style.display = 'block';
const carousel = document.getElementById('news-carousel');
let currentIndex = 0;
// Create news item elements
newsItems.forEach((item, index) => {
const newsItem = document.createElement('div');
newsItem.className = 'news-item';
newsItem.style.display = index === 0 ? 'block' : 'none';
const link = document.createElement('a');
link.href = item.link.value;
link.className = 'news-link';
link.target = '_blank';
link.rel = 'noopener noreferrer';
const title = document.createElement('span');
title.className = 'news-title';
title.textContent = item.postTitle.value;
const text = document.createElement('span');
text.className = 'news-text';
text.textContent = ': ' + item.text.value;
link.appendChild(title);
link.appendChild(text);
newsItem.appendChild(link);
carousel.appendChild(newsItem);
});
// Auto-rotate news items
if (newsItems.length > 1) {
setInterval(() => {
const items = carousel.querySelectorAll('.news-item');
items[currentIndex].style.display = 'none';
currentIndex = (currentIndex + 1) % items.length;
items[currentIndex].style.display = 'block';
}, 5000); // Change every 5 seconds
}
})();
// Function to hide news banner
function hideNewsBanner() {
const newsBanner = document.querySelector('.news-banner');
if (newsBanner) {
newsBanner.style.display = 'none';
// Store preference in localStorage
localStorage.setItem('newsBannerHidden', 'true');
}
}
// Function to show news banner
function showNewsBanner() {
const newsBanner = document.querySelector('.news-banner');
if (newsBanner) {
newsBanner.style.display = 'block';
localStorage.removeItem('newsBannerHidden');
}
}
</script><script async="async" type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=G-FT3SG1YRVG"></script><script type="text/javascript">
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'G-FT3SG1YRVG');
</script>
<button class="open-btn" title="Chat with OPAL Assistant">
<svg class="open-btn-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
</svg>
</button>
<textarea id="clipboard-text"></textarea>
<div class="chat-popup" id="opal-form">
<div class="form-container" id="opal-chat-main">
<div class="chat-header">
<div class="chat-header-content">
<div class="chat-header-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
</svg>
</div>
<div class="chat-header-text">
<span class="chat-header-title">OPAL Assistant</span>
<span class="chat-header-status"><span class="status-dot status-idle"></span><span class="status-text">Ready to chat</span>
</span>
</div>
</div>
<div class="chat-header-actions">
<span type="button" class="header-action-btn call-btn" title="Call Us">
<a href="tel:+1-781-273-0900">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>
</svg>
</a>
</span>
<span type="button" class="header-action-btn share-btn" title="Share Chat">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"></path>
</svg>
</span>
<span type="button" class="header-action-btn close-btn" title="Close">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>
</svg>
</span>
</div>
</div>
<div class="chat-body" id="user-message-area">
<div class="messages">
<div class="questions">
<a type="button" class="prompt">Why is OpenLink Software Important?</a><a type="button" class="prompt">What Products and Services Do You Provide?</a><a type="button" class="prompt">What Distinguishes Your Products and Services?</a><a type="button" class="prompt">How Are Your Products and Services Offered?</a>
</div>
<div id="progress" class="agent-message typing-indicator d-none">
<div class="typing-dots">
<span></span><span></span><span></span>
</div>
</div>
</div>
</div>
<div class="chat-input-area">
<textarea placeholder="Type your message..." id="message_input" required="required"></textarea>
<button type="button" id="send" class="send-btn">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="22" y1="2" x2="11" y2="13"></line><polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>
</svg>
</button>
<button type="button" id="stop" class="stop-btn d-none">
<svg viewBox="0 0 24 24" fill="currentColor"><rect x="6" y="6" width="12" height="12" rx="2"></rect>
</svg>
</button>
</div>
</div>
<div class="form-container intro-container" id="opal-chat-intro">
<div class="intro-header">
<div class="intro-header-content">
<div class="intro-avatar">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
</svg>
</div>
<div class="intro-title-text">
<span class="intro-title">OPAL Assistant</span><span class="intro-subtitle">How can we help you today?</span>
</div>
</div>
<span type="button" class="header-action-btn close-btn" title="Close">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line>
</svg>
</span>
</div>
<div class="intro-body">
<div class="intro-section">
<p class="intro-section-title">Get Support</p>
<div class="intro-options-list">
<a class="intro-option-btn" id="intro-talk-with-opal">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path>
</svg><span>Chat Now</span>
</a>
<a class="intro-option-btn" href="https://shop.openlinksw.com/support_system/customers">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>
</svg><span>Open A Support Case</span>
</a>
</div>
</div>
<div class="intro-section">
<p class="intro-section-title">Contact Sales</p>
<div class="intro-options-list">
<a class="intro-option-btn" href="https://www.openlinksw.com/contact">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line>
</svg><span>Request A Demo</span>
</a>
<a class="intro-option-btn" href="https://www.openlinksw.com/contact">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>
</svg><span>Send Us An Email</span>
</a>
<a class="intro-option-btn" href="tel:+1-781-273-0900">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>
</svg><span>Call Us: +1 781-273-0900</span>
</a>
</div>
</div>
</div>
</div>
</div>
<script src="//cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.11/clipboard.min.js" integrity="sha512-7O5pXpc0oCRrxk8RUfDYFgn0nO1t+jLuIOQdOMRp4APB7uZ4vSjspzp5y6YDtDs4VzUSTbWzBFZ/LKJhnyFOKw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script><script type="text/javascript">
$(document).ready(function(){
$('.chat-popup').hide();
$("#progress").addClass('d-none').hide();
$(".open-btn").hide();
// // Wait 4 seconds before showing the OPAL icon
setTimeout(function() {
// Use jQuery to fade in the button over 0 seconds, making it effectively instant
$('.open-btn').fadeIn(1000).css('display','flex');
}, 4000); // 4000 milliseconds = 4 seconds
setTimeout(() => {
const $el = $('.open-btn');
if ($el.length) {
$el
.css('display', 'flex')
.hide()
.fadeIn(1000);
}
}, 4000);
$("#intro-talk-with-opal").on("click",function(){
$("#opal-chat-intro").hide();
if ($(window).width() > 1000) {
// Code to run if the window width is greater than 1000 pixels
$(".chat-popup").css("bottom","20px")
}
else{
$(".chat-popup").css("bottom","0")
}
$("#opal-chat-main").fadeIn(0);
});
$(".open-btn").on("click",function(){
$(".open-btn").hide();
$("#opal-chat-main").hide();
$(".chat-popup").show();
$("#opal-chat-intro").show(0);
});
});
</script><script type="text/javascript" src="/opal-widget/apikey.js"></script><script type="text/javascript" src="/opal-widget/auth.js"></script><script type="text/javascript" src="/opal-widget/opal.js"></script><script type="text/javascript">
var md = window.markdownit({
html:true,
breaks:true,
linkify:true,
langPrefix:'language-',
});
var clipboard = new ClipboardJS('.clipboard-btn');
// Evaluation License Generation Actions
// End Evaluation License Generation Actions
$(function () {
const thisUrl = window.location;
const baseUrl = thisUrl .protocol + "//" + thisUrl.host;
// OIDC wrapper for API Key authentication
var authClient = new AuthClient(wwwApiKey);
var session = authClient.getDefaultSession();
// OPAL interface, params: OIDC client var, backend host & port, callbacks for incoming message and error callback
// if callbacks not given behaviour is not defined
var opal = new Opal(authClient, 'linkeddata.uriburner.com', receiveMessage, errorHandler, {
model: 'gpt-4o-mini', // next three are to calibrate model, look at OpenAI docs.
//model: 'gpt-4-turbo',
top_p: 0.5,
temperature: 0.2,
//module: 'chat-help', // fine-tune module to init session, e.g. data-twingler-config, chat-help et.c see docs.
module: 'www-support-assistant-config',
functions: ['Demo.demo.execute_spasql_query'], // backend registered functions, can be added unless not given otherwise via module
});
var $currentMessage = undefined; // keep DOM element of the receiving message as it coming on chunks
var currentText = undefined;
var $messages = $('.messages'); // the messages list, shortcut
var isStreaming = false; // flag to prevent sending while streaming
$('#stop').on('click', function () {
opal.stop();
isStreaming = false;
$('#stop').addClass('d-none').hide();
$('#send').removeClass('d-none').show();
$('#progress').addClass('d-none').hide();
$messages.find('.cursor').remove();
});
function receiveMessage(role, chunk) {
if (role === 'function' || role === 'tool' || role === 'function_response') {
return;
}
if (role === 'notice'){
alert(chunk);
return;
}
if (chunk === '[DONE]' || chunk === '[LENGTH]') {
$currentMessage = undefined;
currentText = undefined;
isStreaming = false; // streaming complete
$messages.find('.cursor').remove(); // remove indicator
$('#stop').addClass('d-none').hide(); // hide stop button
$('#send').removeClass('d-none').show(); // show send button
$messages.animate({ scrollTop: $messages.prop('scrollHeight') }, 0);
$('.prompt').on ('click', sendPredefinedPrompt);
$('#progress').addClass('d-none').hide();
} else if (!$currentMessage) { // this is first chunk of the answer
currentText = chunk;
$currentMessage = $('<div class="agent-message"></div>');
$currentMessage.html(md.render(currentText));
$messages.append($currentMessage);
$messages.animate({ scrollTop: $messages.prop('scrollHeight') }, 0);
$('<span class="cursor"></span>').insertAfter($currentMessage); /// <<< add indicator
$('#progress').addClass('d-none').hide(); // hide progress text bubble
$('#clipboard-text').val($('#clipboard-text').val() + '\nassistant: ' + chunk);
} else { // next chunk
currentText = currentText + chunk;
$currentMessage.html(md.render(currentText));
$messages.animate({ scrollTop: $messages.prop('scrollHeight') }, 0);
$('#clipboard-text').val($('#clipboard-text').val()+chunk);
}
}
function errorHandler (error) { // error handler, called by Opal() if something f goes wrong
let $message = $('<div class="agent-message">'+error+'</div>');
$messages.append($message);
}
$('.open-btn').on('click', function(e) { // to open chat popup
$('.open-btn').hide();
$('#opal-form').fadeIn();
});
$('.close-btn').on('click', function(e) { // self evident
// $('.close-btn').hide();
console.log(e);
$('#opal-chat-main').hide();
if ($(window).width() > 1000) {
$(".chat-popup").css("bottom","1.3em")
}
else{
$(".chat-popup").css("bottom","0")
};
if($("#opal-chat-intro").is(":visible")){
$(".chat-popup").hide()
$(".open-btn").show()
}
else{
$("#opal-chat-intro").show();
}
// $('.open-btn').show();
});
$('#message_input').keypress(function (e) { // enter or shift + enter
if (!e.shiftKey && e.which === 13) {
let text = $('#message_input').val().trim();
e.preventDefault();
sendPrompt(text);
}
});
$('.send').on('click', function(e) { // see above, doing same thing
let $messages = $('.chat-popup .messages');
let text = $('#message_input').val().trim();
sendPrompt(text);
});
// Helper function to update connection status
function updateConnectionStatus(state) {
const $dot = $('.status-dot');
const $text = $('.status-text');
$dot.removeClass('status-idle status-connecting status-online');
if (state === 'connecting') {
$dot.addClass('status-connecting');
$text.text('Connecting...');
} else if (state === 'online') {
$dot.addClass('status-online');
$text.text('Online');
} else {
$dot.addClass('status-idle');
$text.text('Ready to chat');
}
}
// simple wait function to allow socket to connect etc.
async function waitConnect() {
while (!opal.chat_id) {
await new Promise(resolve => setTimeout(resolve, 100));
}
updateConnectionStatus('online'); // Connection established
}
// wrapper to draw message and call OPAL widget
async function sendPrompt (text) {
if (!text.length || isStreaming) return; // prevent sending while streaming
isStreaming = true; // set streaming flag
// Show user message immediately (before connection)
$('#send').addClass('d-none').hide();
$('#stop').removeClass('d-none').show();
$messages.append($(`<div class="user-message"><p>${text}</p></div>`));
$messages.animate({ scrollTop: $messages.prop('scrollHeight') }, 0);
$('.prompt').off();
$('.questions').hide();
$('#message_input').val('');
$('#clipboard-text').val($('#clipboard-text').val() + '\nuser: ' + text);
// Connect if not already connected
if (!opal.chat_id) {
updateConnectionStatus('connecting'); // Show connecting status
opal.connect(); // open a WebSocket and init session
await waitConnect();
}
// Show typing indicator and send message
$('#progress').removeClass('d-none').show().appendTo('.messages');
$messages.animate({ scrollTop: $messages.prop('scrollHeight') }, 0);
opal.send(text);
}
// wrapper to handle predefined prompts
async function sendPredefinedPrompt(e) {
let text = e.target.textContent;
$('.questions').hide();
if ($('.open-btn:visible').length > 0) {
$('.open-btn').hide();
$('#opal-form').fadeIn();
}
// disable the predefined promps, can enable once this one complete
console.log(text);
sendPrompt (text);
}
$('.prompt').on ('click', sendPredefinedPrompt);
$('.share-btn').on ('click', function () { opal.share('clipboard-link'); });
// the below is code to login/logout with OIDC client, can see more examples of it in SPA, OPAL etc.
// the only specific thing is call to Opal().connect after login see vvv
$('#loginID').click(authLogin);
$('#logoutID').click(authLogout);
async function authLogout() {
let url = new URL(window.location.href);
url.search = '';
await authClient.logout();
location.replace(url.toString());
}
async function authLogin() {
let url = new URL(window.location.href).toString();
authClient.login({
oidcIssuer: baseUrl,
redirectUrl: url,
tokenType: 'DPoP',
clientName: 'OpenLink OPAL Demo'
});
}
});
</script>
</div>
<!--Begin OSDI data-->
<!--OSDI structured data (HTML5-MD) injection start--><div class="microdata" style="display: none">
<div class="container-fluid">
<nav class="navbar navbar-expand-md sticky-top navbar-light bg-light"><a class="navbar-brand" href="#" onclick="javascript:history.go(-1); return false;">SPARQL | </a></nav>
<p>This document is empty and basically useless. It is generated by a web service that can make some statements in HTML+Microdata format.
This time the service made zero such statements, sorry.</p>
</div>
</div><!--OSDI structured data (HTML5-MD) injection end-->
<!--OSDI structured data injection end-->
</body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 2
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 2 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 1.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /tel:+1-781-273-0900 |
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>
</svg>
|
|
|
| /tel:+1-781-273-0900 |
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path>
</svg><span>Call Us: +1 781-273-0900</span>
|
|
Внешние ссылки
Кол-во: 70
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 70 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
На странице ссылки с атрибутом rel='nofollow' 2.
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| http://shop.openlinksw.com/login |
Log In
|
Анализировать url |
| http://shop.openlinksw.com/register |
Register
|
Анализировать url |
| http://shop.openlinksw.com/ods-profile |
Profile
|
Анализировать url |
| http://shop.openlinksw.com/purchases |
My Purchases
|
Анализировать url |
| http://shop.openlinksw.com/quotations |
My Quotes
|
Анализировать url |
| http://shop.openlinksw.com/logout |
Log Out
|
Анализировать url |
| http://shop.openlinksw.com/login |
Log In
|
Анализировать url |
| http://shop.openlinksw.com/register |
Register
|
Анализировать url |
| http://shop.openlinksw.com/ods-profile |
Profile
|
Анализировать url |
| http://shop.openlinksw.com/purchases |
My Purchases
|
Анализировать url |
| http://shop.openlinksw.com/quotations |
My Quotes
|
Анализировать url |
| http://shop.openlinksw.com/logout |
Log Out
|
Анализировать url |
| shop.openlinksw.com |
Open or View Support
Case
|
Анализировать url |
| shop.openlinksw.com |
Open
or View Support Case
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-customer
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/support/support-for-customer/
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-integration-partner
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/support/support-for-integration-partner/
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-isv
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/support/support-for-isv/
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-oem
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/support/support-for-oem/
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-customer
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/support/support-for-customer/
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-integration-partner
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/support/support-for-integration-partner/
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-isv
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/support/support-for-isv/
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/DAV/data/turtle/general/support-personas.ttl#persona-oem
|
Анализировать url |
| openlinksw.com |
https://www.openlinksw.com/support/support-for-oem/
|
Анализировать url |
| data.openlinksw.com |
http://data.openlinksw.com/oplweb/support_packages#Bronze
|
Анализировать url |
| data.openlinksw.com |
http://data.openlinksw.com/oplweb/support_packages#Silver
|
Анализировать url |
| data.openlinksw.com |
http://data.openlinksw.com/oplweb/support_packages#Gold
|
Анализировать url |
| docs.openlinksw.com |
Virtuoso Documentation
|
Анализировать url |
| docs.openlinksw.com |
Data
Access Driver Documentation
|
Анализировать url |
| community.openlinksw.com |
OpenLink Software Community Forum
|
Анализировать url |
| stackoverflow.com |
Stack Overflow (Virtuoso)
|
Анализировать url |
| medium.com |
Virtuoso Blog
|
Анализировать url |
| medium.com |
Data Access Drivers Blog
|
Анализировать url |
| shop.openlinksw.com |
Open Support Case
|
Анализировать url |
| openlinksw.com |
Contact Us
|
Анализировать url |
| openlinksw.com |
About Us
|
Анализировать url |
| openlinksw.com |
Partnering
|
Анализировать url |
| openlinksw.com |
Contact Us
|
Анализировать url |
| openlinksw.com |
Privacy & GDPR
|
Анализировать url |
| virtuoso.openlinksw.com |
Virtuoso
Data Spaces Platform
|
Анализировать url |
| uda.openlinksw.com |
High-Performance
Data Connectors
|
Анализировать url |
| osds.openlinksw.com |
Data Sniffer (OSDS)
|
Анализировать url |
| youid.openlinksw.com |
YouID Certificate Generator
|
Анализировать url |
| shop.openlinksw.com |
Free Trials & Downloads
|
Анализировать url |
| shop.openlinksw.com |
Pricing
|
Анализировать url |
| ps.openlinksw.com |
Training
|
Анализировать url |
| ps.openlinksw.com |
Consulting
|
Анализировать url |
| ps.openlinksw.com |
Custom Development
|
Анализировать url |
| openlinksw.com |
Content Explorer
|
Анализировать url |
| openlinksw.com |
Explainers and HowTos
|
Анализировать url |
| openlinksw.com |
Virtuoso Screencast Demos
|
Анализировать url |
| docs.openlinksw.com |
Virtuoso Documentation
|
Анализировать url |
| opal.openlinksw.com |
OpenLink AI Layer (OPAL) Documentation
|
Анализировать url |
| wikis.openlinksw.com |
OpenLink Data Connectors Documentation
|
Анализировать url |
| community.openlinksw.com |
Community Forum
|
Анализировать url |
| github.com |
GitHub
|
Анализировать url |
| wikis.openlinksw.com |
Support
|
Анализировать url |
| openlinksw.com |
OpenLink Software
|
Анализировать url |
| linkedin.com |
<svg width="24" height="24" fill="currentColor" viewbox="0 0 24 24"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path>
</svg>
|
Анализировать url |
| x.com |
<svg width="24" height="24" fill="currentColor" viewbox="0 0 24 24"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path>
</svg>
|
Анализировать url |
| bsky.app |
<svg fill="none" viewbox="0 0 64 57" width="24" style="width: 24px;"><path fill="#0085ff" d="M13.873 3.805C21.21 9.332 29.103 20.537 32 26.55v15.882c0-.338-.13.044-.41.867-1.512 4.456-7.418 21.847-20.923 7.944-7.111-7.32-3.819-14.64 9.125-16.85-7.405 1.264-15.73-.825-18.014-9.015C1.12 23.022 0 8.51 0 6.55 0-3.268 8.579-.182 13.873 3.805ZM50.127 3.805C42.79 9.332 34.897 20.537 32 26.55v15.882c0-.338.13.044.41.867 1.512 4.456 7.418 21.847 20.923 7.944 7.111-7.32 3.819-14.64-9.125-16.85 7.405 1.264 15.73-.825 18.014-9.015C62.88 23.022 64 8.51 64 6.55c0-9.818-8.578-6.732-13.873-2.745Z"></path>
</svg>
|
Анализировать url |
| shop.openlinksw.com |
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>
</svg><span>Open A Support Case</span>
|
Анализировать url |
| openlinksw.com |
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line>
</svg><span>Request A Demo</span>
|
Анализировать url |
| openlinksw.com |
<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>
</svg><span>Send Us An Email</span>
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Сайт support.openlinksw.com не совсем готов к продвижению (процент готовности лишь 55%). Для попадания в ТОПы поисковых систем нужно:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: