При работе с Linked Data постоянно приходится иметь дело с пространствами имён URI. К счастью, есть замечательная служба prefix.cc, облегчающая процесс.
Идея службы очень проста. Обычно у каждого пространства имён есть общепринятый префикс. Например, пространство http://www.w3.org/2002/07/owl# почти всегда сокращается префиксом owl. На сайте prefix.cc пользователи просто вводят эти соответствия, а в случае неоднозначностей — голосуют за них, чтобы выбрать самый популярный вариант.
У prefix.cc есть очень простой HTTP-интерфейс, написать к которому «морду» — дело пяти минут. Пользователям GNU/Linux предлагаю следующий bash-скрипт, снимающий проблему префиксов раз и навсегда.
$PATH.CACHE в начале скрипта.xyz, вызываем: xmlns xyz.xsel).префикс‹TAB›адрес — и в него можно добавлять собственные строки.#!/bin/bash
CACHE=$HOME/xmlns.cache
URI=$( egrep -w "^$1" $CACHE | cut -f 2 )
if [ "$URI" ]
then
echo -n "$URI" | xsel -ib
zenity --info --text="$URI"
else
LINE=$( curl --fail http://prefix.cc/$1.file.txt )
if [ $? -eq 0 ]
then
if zenity --question --text="$LINE" --title="Добавить в кэш?"
then
echo "$LINE" >>$CACHE
URI=$( echo "$LINE" | cut -f 2 )
echo -n "$URI" | xsel -ib
fi
else
zenity --error --text="Такого префикса не нашлось."
fi
fi