ÐаннÑй докÑÐ¼ÐµÐ½Ñ ÑвлÑеÑÑÑ Ð½ÐµÐ¾ÑиÑиалÑнÑм пеÑеводом иÑÑ Ð¾Ð´Ð½Ð¾Ð¹ английÑкой веÑÑии A Semantic Web Primer for Object-Oriented Software Developers и Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð½ÐµÑоÑноÑÑи и оÑибки. ÐÑигиналÑнÑй докÑÐ¼ÐµÐ½Ñ Ð½Ð° английÑком ÑзÑке, ÑаÑположеннÑй на ÑайÑе W3C, ÑвлÑеÑÑÑ ÐµÐ´Ð¸Ð½ÑÑвенно оÑиÑиалÑнÑм. © ÐÐ»Ð°Ð´Ð¸Ð¼Ð¸Ñ Ð¡Ð¸Ð±Ð¸Ñов (vladimir dot sibirov at kodigy dot com).
Ðведение в ÑеманÑиÑеÑкÑÑ Ð¿Ð°ÑÑÐ¸Ð½Ñ Ð´Ð»Ñ ÑазÑабоÑÑиков обÑекÑно-оÑиенÑиÑованного пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ ÐамеÑка ÑабоÑей гÑÑÐ¿Ð¿Ñ W3C, 9 маÑÑа 2006Copyright © 2006 W3C® (MIT, ERCIM, Keio), вÑе пÑава заÑиÑенÑ. ÐÑименÑÑÑÑÑ Ð²Ñе ноÑмаÑÐ¸Ð²Ñ W3C, ÑвÑзаннÑе Ñ Ð¾ÑвеÑÑÑвенноÑÑÑÑ, ÑоÑговÑми маÑками и иÑполÑзованием докÑменÑов.
ÐнноÑаÑиÑÐодели пÑедмеÑной облаÑÑи игÑаÑÑ ÑенÑÑалÑнÑÑ ÑÐ¾Ð»Ñ Ð½Ð° пÑоÑÑжении вÑего Ñикла ÑазÑабоÑки пÑогÑаммного обеÑпеÑениÑ, Ð¾Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° ÑÑебований к пÑоекÑиÑованиÑ, на пÑоÑÑжении ÑеализаÑии и далее поÑле неÑ. Ðо ÑÑÑеÑÑвÑ, огÑомнÑй пÑогÑеÑÑ Ð´Ð¾ÑÑигнÑÑ Ð² ÑелоÑÑном иÑполÑзовании моделей на пÑоÑÑжении ÑÑого пÑоÑеÑÑа. СовÑеменнÑе инÑÑÑÑменÑÑ ÑазÑабоÑки пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой UML и генеÑаÑии кода, а Ñакже аÑÑ Ð¸ÑекÑÑÑ, оÑнованнÑÑ Ð½Ð° моделÑÑ , позволÑÑÑ ÑазÑабоÑÑикам ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ Ð¸ ÑвеÑÑÑÑ ÑÐµÑ Ð½Ð¸ÑеÑкÑÑ ÑеализаÑÐ¸Ñ Ñ ÑÑебованиÑми полÑзоваÑелей, иÑполÑзÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸. Тем не менее, повÑоÑное иÑполÑзование моделей пÑедмеÑной облаÑÑи ÑаÑÑо оказÑваеÑÑÑ Ð·Ð°ÑÑÑднено, поÑÐ¾Ð¼Ñ ÑÑо они по опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑпеÑиÑиÑÐ½Ñ Ð´Ð»Ñ Ð¿ÑедмеÑной облаÑÑи и пÑинимаÑÑ Ð² ÑаÑÑмоÑÑение ÑолÑко абÑÑÑакÑии, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑделаÑÑ ÑеÑение возможнÑм в ÑÐ°Ð¼ÐºÐ°Ñ Ð¸Ñ ÑобÑÑвенной пÑоблемной облаÑÑи. Ðо вÑемиÑÐ½Ð°Ñ Ð¿Ð°ÑÑина ÑиÑе ÑÑого и пÑедоÑÑавлÑÐµÑ Ð¼Ð½Ð¾Ð³Ð¾Ð¼ÐµÑное пÑоÑÑÑанÑÑво ÑеÑÐµÐ½Ð¸Ñ Ð¿Ñоблем, ÑпоÑобное ÑвÑзÑваÑÑ Ð¿Ð¾ÑÑи неогÑаниÑенное множеÑÑво пÑедмеÑнÑÑ Ð¾Ð±Ð»Ð°ÑÑей. Ð Ñо вÑемÑ, как болÑÑÐ°Ñ ÑаÑÑÑ Ð½Ð°Ñего пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ ÑÑановиÑÑÑ Ð²ÑÑ Ð±Ð¾Ð»ÐµÐµ вÑÑÑоенной в Ðеб, наÑи пÑоÑеÑÑÑ ÑазÑабоÑки пока еÑÑ Ð½Ðµ полноÑÑÑÑ Ð¸ÑполÑзÑÑÑ Ð¿Ð¾ÑенÑиал повÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ из ÐаÑÑинÑ. ÐÑа ÑÑаÑÑÑ, ÑледоваÑелÑно, пÑедÑÑавлÑÐµÑ Ð²Ð°ÑÐµÐ¼Ñ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ ÑзÑки ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ (Semantic Web), Ñакие как RDF Schema и OWL, и показÑваеÑ, как они могÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð² Ñандеме Ñ Ð³Ð¾ÑподÑÑвÑÑÑими обÑекÑно-оÑиенÑиÑованнÑми ÑзÑками. ÐÑ Ð¿Ð¾ÐºÐ°Ð¶ÐµÐ¼, ÑÑо ÑеманÑиÑеÑÐºÐ°Ñ Ð¿Ð°ÑÑина Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÑÑÑпаÑÑ Ð² Ñоли плаÑÑоÑмÑ, на базе коÑоÑой модели пÑедмеÑной облаÑÑи могÑÑ ÑоздаваÑÑÑÑ, ÑаÑпÑоÑÑÑанÑÑÑÑÑ Ð¸ иÑполÑзоваÑÑÑÑ Ð¿Ð¾Ð²ÑоÑно.
СÑаÑÑÑ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ докÑменÑаÐÐ°Ð½Ð½Ð°Ñ ÑекÑÐ¸Ñ Ð¾Ð¿Ð¸ÑÑÐ²Ð°ÐµÑ ÑÑаÑÑÑ ÑÑого докÑменÑа на Ð¼Ð¾Ð¼ÐµÐ½Ñ ÐµÐ³Ð¾ пÑбликаÑии. ÐÑÑгие докÑменÑÑ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ñобой ÑÑÐ¾Ñ Ð´Ð¾ÐºÑменÑ. СпиÑок ÑекÑÑÐ¸Ñ Ð¿ÑбликаÑий W3C и поÑледнÑÑ Ð²ÐµÑÑÐ¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÐµÑ Ð½Ð¸ÑеÑкого доклада можно найÑи в индекÑе ÑÐµÑ Ð½Ð¸ÑеÑÐºÐ¸Ñ Ð´Ð¾ÐºÐ»Ð°Ð´Ð¾Ð² W3C по адÑеÑÑ http://www.w3.org/TR/.
ÐÑÐ¾Ñ Ð´Ð¾ÐºÑÐ¼ÐµÐ½Ñ Ð±Ñл Ñоздан Software Engineering Task Force (SE) из W3C Semantic Web Best Practices and Deployment Working Group (SWBPD). ÐÐ°Ð½Ð½Ð°Ñ ÑабоÑа ÑвлÑеÑÑÑ ÑаÑÑÑÑ W3C Semantic Web Activity.
ÐаннÑй докÑÐ¼ÐµÐ½Ñ ÑвлÑеÑÑÑ Ð·Ð°Ð¼ÐµÑкой ÑабоÑей гÑÑÐ¿Ð¿Ñ W3C, и ÑабоÑÐ°Ñ Ð³ÑÑппа SWBPDна даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð±Ð¾Ð»ÐµÐµ не планиÑÑÐµÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²ÑÑ ÐµÐ³Ð¾ веÑÑий. ÐомменÑаÑии пÑивеÑÑÑвÑÑÑÑÑ Ð¸ могÑÑ Ð±ÑÑÑ Ð¾ÑпÑÐ°Ð²Ð»ÐµÐ½Ñ Ð¿Ð¾ адÑеÑÑ public-swbp-wg@w3.org; пожалÑйÑÑа, ÑкажиÑе Ñлово «комменÑаÑий» в Ñеме пиÑÑма. ÐÑе ÑообÑениÑ, полÑÑаемÑе по ÑÑÐ¾Ð¼Ñ Ð°Ð´ÑеÑÑ, можно пÑоÑмоÑÑеÑÑ Ð² обÑедоÑÑÑпном аÑÑ Ð¸Ð²Ðµ. ЧиÑаÑели, заинÑеÑеÑованнÑе в данной ÑемаÑиÑеÑкой облаÑÑи, могÑÑ Ñакже ÑледиÑÑ Ð·Ð° обÑÑждениÑми в поÑÑовом аÑÑ Ð¸Ð²Ðµ ÐÑÑÐ¿Ð¿Ñ Ð¸Ð½ÑеÑеÑов ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¸ ÑÑаÑÑвоваÑÑ Ð² Ð½Ð¸Ñ .
ÐÑÐ¾Ñ Ð´Ð¾ÐºÑменÑÑ Ð±Ñл Ñоздан гÑÑппой, дейÑÑвÑÑÑей на оÑновании ÐаÑенÑной полиÑики W3C Ð¾Ñ 5 ÑевÑÐ°Ð»Ñ 2004 года. ÐаннÑй докÑÐ¼ÐµÐ½Ñ Ð½Ð¾ÑÐ¸Ñ Ð¸ÑклÑÑиÑелÑно инÑоÑмаÑионнÑй Ñ Ð°ÑакÑÐµÑ Ð¸, ÑледоваÑелÑно, не ÑодеÑÐ¶Ð¸Ñ ÑвÑзаннÑÑ Ñ Ð½Ð¸Ð¼ обÑзаÑелÑÑÑв ÐаÑенÑной полиÑики W3C. У W3C еÑÑÑ Ð¾Ð±ÑедоÑÑÑпнÑй ÑпиÑок лÑбÑÑ Ð¿Ð°ÑенÑнÑÑ ÑазглаÑений, ÑделаннÑÑ Ð² ÑвÑзи Ñ ÑезÑлÑÑаÑами ÑабоÑÑ Ð³ÑÑппÑ; Ñа ÑÑÑаниÑа Ñакже ÑодеÑÐ¶Ð¸Ñ Ð¸Ð½ÑÑÑÑкÑии по ÑазглаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑенÑов.
ÐÑбликаÑÐ¸Ñ Ð² каÑеÑÑве ÐамеÑки ÑабоÑей гÑÑÐ¿Ð¿Ñ Ð½Ðµ влеÑÐµÑ Ð·Ð° Ñобой подÑвеÑждение Ñленами W3C. ÐÑо ÑеÑновой докÑменÑ, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½, заменен или вÑведен из обÑаÑÐµÐ½Ð¸Ñ Ð´ÑÑгими докÑменÑами в лÑбое вÑемÑ. ÐевеÑно ÑиÑиÑоваÑÑ Ð´Ð°Ð½Ð½Ñй докÑÐ¼ÐµÐ½Ñ Ð¸Ð½Ð°Ñе как ÑеÑновой ваÑианÑ.
1 ÐведениеÐак пÑавило, пÑогÑаммнÑе ÑиÑÑÐµÐ¼Ñ ÑÑÑоÑÑÑÑ Ð²Ð¾ÐºÑÑг моделей пÑедмеÑной облаÑÑи Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°ÑпекÑов Ð¸Ñ Ñелевого пÑоблемного полÑ. Ðодели пÑедмеÑной облаÑÑи могÑÑ Ð¾Ð¿Ð¸ÑÑваÑÑ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑие конÑепÑии и ÑÑÑÑкÑÑÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð· пÑикладной облаÑÑи и вклÑÑаÑÑ Ð·Ð½Ð°Ð½Ð¸Ðµ, полезное Ð´Ð»Ñ ÑеализаÑии Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿ÑиложениÑ. ÐапÑимеÑ, пÑедположим, ÑÑо наÑа задаÑа заклÑÑаеÑÑÑ Ð² ÑазÑабоÑке ÑиÑÑÐµÐ¼Ñ Ð¾Ð½Ð»Ð°Ð¹Ð½-пÑодаж. Ðо вÑÐµÐ¼Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð° ÑÑебований Ð´Ð»Ñ ÑÑой ÑиÑÑÐµÐ¼Ñ Ð¼Ñ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ ÑзнаÑÑ, ÑÑо:
ÐоÑле некоÑоÑого обдÑмÑÐ²Ð°Ð½Ð¸Ñ Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ пÑийÑи к обÑекÑно-оÑиенÑиÑованной конÑепÑии, Ñакой, как показано на ÑледÑÑÑей UML-диагÑамме клаÑÑов.
РиÑÑнок 1: ÐÑоÑÑÐ°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¿ÑедмеÑной облаÑÑи на ÑзÑке UML.
ÐÑ Ð¼Ð¾Ð¶ÐµÐ¼ пÑедÑÑавиÑÑ ÑÑÑ ÑÑ ÐµÐ¼Ñ Ð½Ð°ÑÐµÐ¼Ñ Ð·Ð°ÐºÐ°Ð·ÑÐ¸ÐºÑ Ð´Ð»Ñ Ð¾Ð±ÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ поÑле неÑколÑÐºÐ¸Ñ Ð¸ÑеÑаÑий мÑ, возможно, пÑидÑм к ÑÑÑÑкÑÑÑе даннÑÑ , коÑоÑÐ°Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñеализована на пÑедпоÑиÑаемом нами ÑзÑке пÑогÑаммиÑованиÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÐ¼ Ñакже наÑаÑÑ Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов инÑеÑÑейÑа Ð´Ð»Ñ ÐºÐ¾Ð½ÐµÑнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей (возможно, JavaServer Pages) и Ð´Ð»Ñ ÑпÑавлÑÑÑÐ¸Ñ Ð¾Ð½Ð»Ð°Ð¹Ð½-магазином (коÑоÑÑе могÑÑ ÑÑебоваÑÑ Ð±Ð¾Ð»ÐµÐµ ÑложнÑй инÑеÑÑейÑ, ÑеализованнÑй, к пÑимеÑÑ, на Java/Swing, C# или Visual Basic). ÐÑли наÑа ÑиÑÑема ÑÑпеÑно пÑойдÑÑ Ð¸ÑпÑÑаниÑ, на ÐµÑ Ð¾Ñнове ÑмогÑÑ Ð±ÑÑÑ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ñ Ð½Ð¾Ð²Ñе компоненÑÑ, напÑимеÑ, Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа к каÑÐ°Ð»Ð¾Ð³Ñ Ð¿ÑодÑкÑов ÑеÑез веб-ÑлÑжбÑ. Ð ÑÑом ÑлÑÑае дÑÑгие компоненÑÑ Ð·Ð°Ñ Ð¾Ñели Ð±Ñ ÑовмеÑÑно иÑполÑзоваÑÑ Ð¾Ð´Ð½Ð¸ и Ñе же ÑÑÑÑкÑÑÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ пÑикладнÑе Ð·Ð½Ð°Ð½Ð¸Ñ Ñаким обÑазом, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ могли взаимодейÑÑвоваÑÑ. Ðаже еÑли наÑа ÑиÑÑема окажеÑÑÑ Ð½Ðµ ÑÑÐ¾Ð»Ñ ÑдаÑной или она бÑÐ´ÐµÑ Ð¿Ð¾ÑÑиÑоваÑÑÑÑ Ð½Ð° дÑÑгÑÑ Ð¿Ð»Ð°ÑÑоÑмÑ, Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ по менÑÑей меÑе Ð·Ð°Ñ Ð¾ÑеÑÑ Ð¿Ð¾Ð²ÑоÑно иÑполÑзоваÑÑ ÐµÑ ÑаÑÑи. Ð ÑÐ°ÐºÐ¸Ñ ÑлÑÑаÑÑ Ð±Ñло Ð±Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ имеÑÑ Ð´Ð¾ÑÑÑп к нижележаÑей модели пÑедмеÑной облаÑÑи Ñак, ÑÑÐ¾Ð±Ñ Ð¼Ñ Ð¼Ð¾Ð³Ð»Ð¸ извлеÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе нам ÑаÑÑи.
ÐоÑколÑÐºÑ Ð²Ñе ÑÑи поÑенÑиалÑнÑе напÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑазÑабоÑки ожидаемÑ, Ð¼Ñ Ð¿ÑоекÑиÑÑем наÑÑ ÑиÑÑÐµÐ¼Ñ Ð½Ð° базе аÑÑ
иÑекÑÑÑÑ ÐоделÑ-Ðид-ÐонÑÑÐ¾Ð»Ð»ÐµÑ [BMRSS 1996]. ÐÑÐ¾Ñ Ñ
оÑоÑо извеÑÑнÑй Ñаблон пÑоекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑ Ð¾Ñделение моделей пÑедмеÑной облаÑÑи Ð¾Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого инÑеÑÑейÑа и ÑпÑавлÑÑÑей логики. ÐÑделение не визÑалÑнÑÑ
ÑаÑÑей Ð¾Ñ Ð²Ð¸Ð·ÑалÑнÑÑ
компоненÑов поÑенÑиалÑно облегÑÐ°ÐµÑ Ð¿Ð¾Ð²ÑоÑное и ÑовмеÑÑное иÑполÑзование пÑикладнÑÑ
моделей дÑÑгими пÑиложениÑми и на дÑÑгиÑ
ÑелевÑÑ
плаÑÑоÑмаÑ
. Ð ÑожалениÑ, обеÑание возможноÑÑи повÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑÑ
моделей вÑполнÑеÑÑÑ Ð½ÐµÑаÑÑо. Ðо многиÑ
ÑлÑÑаÑÑ
модели пÑедмеÑной облаÑÑи вÑоде Ñой, ÑÑо пÑедÑÑавлена вÑÑе, ÑодеÑÐ¶Ð°Ñ Ð¶ÑÑÑко закодиÑованнÑе завиÑимоÑÑи Ð¾Ñ ÐºÐ¾Ð½ÐºÑеÑного пÑиложениÑ. ÐÑобенно поÑле Ñого, как Ð¼Ð¾Ð´ÐµÐ»Ñ Ð·Ð°ÐºÐ¾Ð´Ð¸Ñована на ÑзÑке пÑогÑаммиÑованиÑ, болÑÑÐ°Ñ ÑаÑÑÑ Ð·Ð½Ð°Ð½Ð¸Ñ, заклÑÑÑнного в оÑигиналÑном пÑоекÑе, ÑеÑÑеÑÑÑ. ÐапÑимеÑ, ÑÑловие Ñого, ÑвлÑеÑÑÑ Ð»Ð¸ заказ ÑоваÑа беÑпоÑлиннÑм, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð·Ð°ÐºÐ»ÑÑено в if-вÑÑажениÑÑ
глÑбоко внÑÑÑи некоÑоÑого импеÑаÑивного меÑода (Ñакого как totalPrice()
на UML-диагÑамме), и ÑÐ¾Ñ ÑакÑ, ÑÑо каждÑй PurchaseOrder
ÑÑебÑÐµÑ Ð½Ð°Ð»Ð¸ÑÐ¸Ñ ÐºÐ°Ðº минимÑм одного пÑодÑкÑа, бÑÐ´ÐµÑ Ð½ÐµÑÑен, еÑли Ð²Ñ Ð½Ðµ ÑдоÑÑжиÑеÑÑ Ð¿ÑоÑиÑаÑÑ ÑпÑавлÑÑÑÑÑ Ð»Ð¾Ð³Ð¸ÐºÑ ÑеализаÑии полÑзоваÑелÑÑкого инÑеÑÑейÑа. ÐÑÑÐ³Ð°Ñ ÑипиÑÐ½Ð°Ñ Ð¿Ñоблема ÑакиÑ
ÑиÑÑем â ÑÑо взаимодейÑÑвие. ÐапÑимеÑ, еÑли какое-Ñо дÑÑгое пÑиложение заÑ
оÑÐµÑ Ð¿ÑедоÑÑавиÑÑ Ð¸Ð½ÑеÑÑÐµÐ¹Ñ Ðº даннÑм или ÑлÑжбам из ваÑей ÑиÑÑемÑ, ÐµÐ¼Ñ Ð¿Ð¾Ð½Ð°Ð´Ð¾Ð±Ð¸ÑÑÑ ÑÑаÑелÑно ÑазобÑаÑÑÑÑ Ð² подÑобно опÑеделÑнном пÑогÑаммном инÑеÑÑейÑе (API), коÑоÑÑй ÑÑÑого ÑвÑзан Ñ Ð²Ð°Ñим пÑиложением. Ðозможно иÑполÑзование пÑомежÑÑоÑного ÑоÑмаÑа, оÑнованного на XML, Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° инÑоÑмаÑией Ð¼ÐµÐ¶Ð´Ñ Ñакими пÑиложениÑми. ÐÑли множеÑÑво пÑиложений Ñо ÑÑ
ожими задаÑами Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑдÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑвоваÑÑ, понадобиÑÑÑ Ð±Ð¾Ð»ÑÑое колиÑеÑÑво ÑакиÑ
инÑеÑÑейÑов и ÑоÑмаÑов обмена.
UML-диагÑамма пÑедоÑÑавлÑÐµÑ Ð¾Ð³ÑомнÑй поÑенÑиал Ð´Ð»Ñ Ð¿Ð¾Ð²ÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ взаимодейÑÑÐ²Ð¸Ñ Ð² наÑем пÑимеÑе. Такие диагÑÐ°Ð¼Ð¼Ñ Ð¼Ð¾Ð´ÐµÐ»Ð¸ÑÑÑÑ Ð²ÑÑокий ÑÑÐ¾Ð²ÐµÐ½Ñ Ð°Ð±ÑÑÑакÑии и могÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ð¸Ñ Ð½Ð° Ð¸Ñ Ð¾Ñнове кода ÑеализаÑий Ð´Ð»Ñ ÑазлиÑнÑÑ Ñелей. ÐеÑмоÑÑÑ Ð½Ð° ÑÑо, даже еÑли два компоненÑа или пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð±Ñли наÑаÑÑ Ñ Ð¾Ð´Ð½Ð¾Ð¹ и Ñой же UML-диагÑаммÑ, они могÑÑ Ð¸Ð¼ÐµÑÑ Ð½ÐµÑовмеÑÑимÑе ÑеализаÑии. ÐоÑÑебÑеÑÑÑ Ð²ÑÑ ÐµÑÑ Ð±Ð¾Ð»ÑÑое колиÑеÑÑво вÑÑÑнÑÑ Ð½Ð°Ð¿Ð¸Ñанного кода Ð´Ð»Ñ Ð¸Ñ ÑеализаÑии. Ркаком ÑоÑмаÑе даннÑе клиенÑа бÑдÑÑ Ñ ÑаниÑÑÑÑ Ð¸ ÑаÑпÑоÑÑÑанÑÑÑÑÑ? ÐÐ¾Ð´ÐµÐ»Ñ UML Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñной и понÑÑой непÑавилÑно. Родной ÑеализаÑии ÑÑÑÐ°Ð½Ñ Ð¼Ð¾Ð³ÑÑ Ñ ÑаниÑÑÑÑ ÐºÐ°Ðº ÑÑÑоковÑе знаÑениÑ, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº дÑÑгие могÑÑ Ð¿Ð¾Ð¶ÐµÐ»Ð°ÑÑ Ð¿ÑедÑÑавиÑÑ Ð¸Ñ Ð² виде ÑкземплÑÑов клаÑÑа Country. РлÑбом ÑлÑÑае, оÑÑаÑÑÑÑ Ð½ÐµÑÑнÑм, где и как оÑделÑнÑе ÑÑÑанÑ, Ñакие как ÐеÑÐ¼Ð°Ð½Ð¸Ñ Ð¸ ФÑанÑиÑ, бÑдÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² UML. Ðолее Ñого, пока пÑÐ¾ÐµÐºÑ Ð½Ðµ ÑледÑÐµÑ ÑелоÑÑÐ½Ð¾Ð¼Ñ Ð¿Ð¾Ð´Ñ Ð¾Ð´Ñ Ð½Ð° базе моделей, UML-диагÑÐ°Ð¼Ð¼Ñ Ð·Ð°ÑаÑÑÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ ÑолÑко как пÑомежÑÑоÑнÑе аÑÑеÑакÑÑ Ð² Ñ Ð¾Ð´Ðµ ÑазÑабоÑки, иÑполÑзÑемÑе в каÑеÑÑве ÑÑндаменÑа Ð´Ð»Ñ ÑеализаÑии, но заÑем Ñ ÑанимÑе в Ñаком меÑÑе, где они недоÑÑÑÐ¿Ð½Ñ Ð´ÑÑгим ÑазÑабоÑÑикам. UML-модели заÑаÑÑÑÑ Ð¿ÑÑÑÑÑ Ð½ÐµÐ±ÐµÐ·Ð¾ÑноваÑелÑно, поÑколÑÐºÑ Ð¾Ð½Ð¸ могÑÑ Ð±Ð¾Ð»ÐµÐµ не ÑооÑвеÑÑÑвоваÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑной ÑеализаÑии. РезÑлÑÑаÑом ÑÐ°ÐºÐ¸Ñ Ñеалий ÑазÑабоÑки пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ ÑвлÑеÑÑÑ Ð±Ð¾Ð»ÑÑÐ°Ñ ÑÑаÑа вÑемени на ненÑжнÑÑ Ð´ÑблиÑÑÑÑÑÑ ÑабоÑÑ. Ðодели пÑедмеÑной облаÑÑи нÑжно конÑÑÑÑиÑоваÑÑ Ñ ÑиÑÑого лиÑÑа внаÑале, а заÑем пеÑеводиÑÑ Ð¸Ñ Ð² пÑомежÑÑоÑнÑе ÑоÑмаÑÑ Ð´Ð»Ñ ÑаÑпÑоÑÑÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÑеди пÑиложений.
РидеалÑном ÑлÑÑае ÑазÑабоÑÑики могли Ð±Ñ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑ Ð¾Ð±Ñие пÑикладнÑе модели и Ð±Ð°Ð·Ñ Ð·Ð½Ð°Ð½Ð¸Ð¹ во множеÑÑве взаимоÑвÑзаннÑÑ ÑепозиÑоÑиев и заÑем ÑвÑзÑваÑÑ ÑÑи модели Ñ Ð¾ÑÑавÑимиÑÑ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑми компоненÑами полÑзоваÑелÑÑкого инÑеÑÑейÑа и ÑпÑавлÑÑÑими компоненÑами â ÑÑо конÑепÑиÑ, коÑоÑÐ°Ñ Ð¿Ð¾ÑÑепенно ÑÑановиÑÑÑ Ð¸Ð·Ð²ÐµÑÑной как аÑÑ Ð¸ÑекÑÑÑа, оÑÐ½Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð½Ð° онÑологиÑÑ (Ontology Driven Architecture). ÐÑе пÑиложениÑ, ÑовмеÑÑно иÑполÑзÑÑÑие модели пеÑеÑекаÑÑÐ¸Ñ ÑÑ Ð¿ÑедмеÑнÑÑ Ð¾Ð±Ð»Ð°ÑÑей, могли Ð±Ñ Ð² Ñаком ÑлÑÑае авÑомаÑиÑеÑки полÑÑиÑÑ Ð¾Ð¿ÑеделÑннÑÑ ÑÑÐµÐ¿ÐµÐ½Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи взаимодейÑÑвиÑ. Ðока ÑÑÐ¾Ñ Ð¸Ð´ÐµÐ°Ð»ÑнÑй ÑлÑÑай оÑÑаÑÑÑÑ Ð¿Ð¾ болÑÑей меÑе видением, наÑинаÑÑ Ð¿Ð¾ÑвлÑÑÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе многообеÑаÑÑие Ð¿Ð¾Ð´Ñ Ð¾Ð´Ñ [TPOWUK 2005].
ÐÑноÑиÑелÑно незамеÑно Ð´Ð»Ñ ÑÑана оÑновнÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ð¹-ÑазÑабоÑÑиков пÑогÑаммного обеÑпеÑениÑ, ÐонÑоÑÑиÑм World Wide Web (W3C) ÑазÑабоÑал неÑколÑко оÑÐµÐ½Ñ Ð¸Ð½ÑеÑеÑнÑÑ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹ в конÑекÑÑе Ñвоего Ð²Ð¸Ð´ÐµÐ½Ð¸Ñ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ (Ñм. W3C Semantic Web Activity). ÐÑи ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸, вклÑÑÐ°Ñ RDF [RDF 2004] и OWL [OWL 2004], изнаÑалÑно бÑли ÑпÑоекÑиÑÐ¾Ð²Ð°Ð½Ñ Ð² ÑелÑÑ Ð¾Ð±Ð»ÐµÐ³ÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð²ÐµÐ±-ÑÑÑÐ°Ð½Ð¸Ñ Ð¸Ð½ÑеллекÑÑалÑнÑми агенÑами и веб-ÑеÑвиÑами. ЧÑо инÑеÑеÑно, оказÑваеÑÑÑ, ÑÑо ÑзÑки и инÑÑÑÑменÑÑ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ Ñакже игÑаÑÑ Ð²Ð°Ð¶Ð½ÑÑ ÑÐ¾Ð»Ñ Ð² ÑазÑабоÑке пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ Ð² Ñелом.
СообÑеÑÑво ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð²ÑпÑÑÑило Ð½Ð°Ð±Ð¾Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´Ð¾Ð¿Ð¾Ð»Ð½ÑÑÑÐ¸Ñ ÑзÑков и инÑÑÑÑменÑов Ð´Ð»Ñ ÑазÑабоÑки, поддеÑжки, иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑаÑпÑоÑÑÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ пÑедмеÑной облаÑÑи Ð´Ð»Ñ Ð¿ÑоекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑогÑаммного обеÑпеÑениÑ, а Ñакже пÑоÑÐ¸Ñ Ñелей. Ð Ñамом ÑенÑÑе Ð½Ð°Ñ Ð¾Ð´ÑÑÑÑ Ñакие ÑзÑки, как OWL и RDF Schema, где OWL опÑимизиÑован Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÑÑÑкÑÑÑнÑÑ Ð·Ð½Ð°Ð½Ð¸Ð¹ на вÑÑоком ÑÑовне абÑÑÑакÑии. Ðодели пÑедмеÑной облаÑÑи, вÑÑаженнÑе на ÑзÑке OWL, могÑÑ Ð±ÑÑÑ Ð·Ð°Ð³ÑÑÐ¶ÐµÐ½Ñ Ð² СеÑÑ Ð¸ ÑовмеÑÑно иÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð¼Ð½Ð¾Ð³Ð¸Ð¼Ð¸ пÑиложениÑми. OWL поддеÑживаеÑÑÑ Ð¾Ð´Ð½Ð¾Ð·Ð½Ð°ÑнÑм диалекÑом ÑоÑмалÑной логики, извеÑÑной как ÐеÑкÑипÑÐ¸Ð¾Ð½Ð½Ð°Ñ Ð»Ð¾Ð³Ð¸ÐºÐ° (Description Logics) [BHS 2003]. ÐÑо ÑоÑмалÑное обоÑнование Ð´ÐµÐ»Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм иÑполÑзование инÑеллекÑÑалÑнÑÑ ÑлÑжб поÑÑÑÐ¾ÐµÐ½Ð¸Ñ ÑаÑÑÑждений, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº авÑомаÑиÑеÑÐºÐ°Ñ ÐºÐ»Ð°ÑÑиÑикаÑÐ¸Ñ Ð¸ пÑовеÑка ÑелоÑÑноÑÑи. ÐÑи ÑлÑÐ¶Ð±Ñ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии, облегÑÐ°Ñ Ñаким обÑазом поÑÑÑоение повÑоÑно иÑполÑзÑемÑÑ , Ñ Ð¾ÑоÑо пÑоÑеÑÑиÑованнÑÑ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ пÑедмеÑной облаÑÑи. СлÑÐ¶Ð±Ñ Ð»Ð¾Ð³Ð¸ÑеÑкого вÑвода могÑÑ Ñакже иÑполÑзоваÑÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð² ÑазлиÑнÑÑ ÑелÑÑ . ÐапÑимеÑ, ÑÑо позволÑÐµÑ Ð¾Ð¿ÑеделÑÑÑ ÐºÐ»Ð°ÑÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑки, пеÑеклаÑÑиÑиÑиÑоваÑÑ ÑкземплÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¸ вÑполнÑÑÑ ÑложнÑе логиÑеÑкие запÑоÑÑ. ÐÑоме Ñого, OWL и RDF Schema не ÑолÑко оÑновÑваÑÑÑÑ Ð½Ð° логике, но и опеÑиÑÑÑÑ ÑÑÑÑкÑÑÑами, ÑÑ Ð¾Ð¶Ð¸Ð¼Ð¸ Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑми ÑзÑками, а ÑледоваÑелÑно могÑÑ Ð±ÑÑÑ ÑÑÑекÑивно инÑегÑиÑÐ¾Ð²Ð°Ð½Ñ Ñ ÑÑадиÑионнÑми пÑогÑаммнÑми компоненÑами.
РиÑоге, клÑÑевÑе пÑеимÑÑеÑÑва RDF Schema и OWL по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑми ÑзÑками заклÑÑаÑÑÑÑ Ð² ÑледÑÑÑем:
ÐбÑаÑиÑе внимание, ÑÑо некоÑоÑÑе из ÑÑÐ¸Ñ Ð¿ÑеимÑÑеÑÑв, Ñакие как пÑовеÑка ÑелоÑÑноÑÑи и авÑомаÑиÑеÑкое поÑÑÑоение ÑаÑÑÑждений, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñакже доÑÑигнÑÑо ÑÑедÑÑвами ЯзÑка обÑекÑнÑÑ Ð¾Ð³ÑаниÑений (Object Constraint Language, OCL). OCL ÑвлÑеÑÑÑ ÑаÑÑÑÑ ÑемейÑÑва ÑзÑков ÐÑÑÐ¿Ð¿Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±ÑекÑами (Object Management Group, OMG) Ð´Ð»Ñ Ð°ÑÑ Ð¸ÑекÑÑÑÑ, оÑнованной на моделÑÑ , и пÑедоÑÑавлÑÐµÑ ÑÑ Ð¾Ð´Ð½ÑÑ Ñ ÑовÑеменнÑми ÑзÑками ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð²ÑÑазиÑелÑноÑÑÑ. ÐапÑимеÑ, огÑаниÑение, показанное на ÑиÑÑнке 1, могло Ð±Ñ Ð±ÑÑÑ Ð²ÑÑажено на ÑзÑке OCL Ð´Ð»Ñ ÑоÑмализаÑии ÑÑловий беÑпоÑлиннÑÑ Ð·Ð°ÐºÐ°Ð·Ð¾Ð². Ðднако, OCL не бÑл ÑазÑабоÑан Ð´Ð»Ñ Ðеб, но он опÑимизиÑован Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð³ÑаниÑений в ÑÐ°Ð¼ÐºÐ°Ñ Ð¾ÑноÑиÑелÑно замкнÑÑÑÑ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ даннÑÑ . Ð¢ÐµÑ Ð¾Ð»Ð¾Ð³Ð¸Ð¸ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ ÑазÑабоÑÐ°Ð½Ñ Ð´Ð»Ñ Ð¼Ð¸Ñа оÑкÑÑÑÑÑ ÑиÑÑем, в коÑоÑом модели иÑполÑзÑÑÑÑÑ ÑовмеÑÑно ÑазлиÑнÑми пÑиложениÑми и гÑÑппами. Ðалее Ð¼Ñ Ð¿Ð¾ÐºÐ°Ð¶ÐµÐ¼, каким обÑазом ÑÑа оÑкÑÑÑоÑÑÑ Ð¿ÑоÑвлÑÐµÑ ÑÐµÐ±Ñ Ð² ÑзÑÐºÐ°Ñ ÑеманÑиÑеÑкой паÑÑинÑ. СÑÐ¾Ð¸Ñ Ð¾ÑмеÑиÑÑ, однако, ÑÑо ÑазлиÑÐ¸Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑми ÑзÑками и OWL вовÑе не ÑвлÑÑÑÑÑ Ð½ÐµÐ¿ÑеодолимÑми. ФакÑиÑеÑки, ÑабоÑÐ°Ñ Ð³ÑÑппа OMG ÑазÑабоÑала ÐеÑÐ°Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¾Ð½Ñологий (Ontology Definition Metamodel) [ODM 2005] коÑоÑÐ°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ ÑазÑабоÑÑикам иÑполÑзоваÑÑ ÑзÑки ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð² Ñандеме Ñ Ð´ÑÑгими ÑоÑмаÑами, Ñакими как OCL.
Ðалее в ÑÑом докÑменÑе Ð¼Ñ ÑобиÑаемÑÑ Ð¾Ð±ÑÑÑниÑÑ, как обÑекÑно-оÑиенÑиÑованнÑе пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ ÑпÑоекÑиÑÐ¾Ð²Ð°Ð½Ñ Ð¸ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹ ÑеманÑиÑеÑкой паÑÑинÑ. ÐÑоÑой Ñаздел даÑÑ Ð½Ð°Ð±ÑоÑок Ñого, какÑÑ Ð²ÑÐ³Ð¾Ð´Ñ Ð¶Ð¸Ð·Ð½ÐµÐ½Ð½Ñй Ñикл ÑазÑабоÑки ÐÐ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð²Ð»ÐµÑÑ Ð¸Ð· меÑодов ÑеманÑиÑеÑкой паÑÑинÑ. ТÑеÑий Ñаздел пÑедÑÑавлÑÐµÑ Ñобой введение в ÑзÑки ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ RDF Schema и OWL, а Ñакже ÑÑÐ°Ð²Ð½Ð¸Ð²Ð°ÐµÑ Ð¸Ñ Ñ ÑзÑками обÑекÑно-оÑиенÑиÑованного моделиÑованиÑ. ЧеÑвÑÑÑÑй Ñаздел показÑваеÑ, каким обÑазом модели RDF и OWL могÑÑ Ð±ÑÑÑ Ð²ÑÑÑÐ¾ÐµÐ½Ñ Ð² обÑекÑно-оÑиенÑиÑованнÑе пÑогÑÐ°Ð¼Ð¼Ñ (в каÑеÑÑве пÑимеÑа иÑполÑзÑеÑÑÑ Java). Ð ÐÑиложении ÑÐºÐ°Ð·Ð°Ð½Ñ ÑÑÑлки Ð´Ð»Ñ Ð´Ð°Ð»ÑнейÑего ÑÑениÑ, а Ñакже на инÑÑÑÑменÑÑ Ð¸ библиоÑеки.
РазÑабоÑка пÑиложений Ñ Ð¿Ñименением ÑеманÑиÑеÑÐºÐ¸Ñ Ð²ÐµÐ±-ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹Ð§Ñо Ñакое ÑеманÑиÑеÑÐºÐ°Ñ Ð¿Ð°ÑÑина? ÐолÑÑÐ°Ñ ÑаÑÑÑ ÑекÑÑего «ÑÑадиÑионного» веб-ÑодеÑжимого пÑедназнаÑено Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð»ÑдÑми. ЯзÑки пÑедÑÑавлениÑ, Ñакие как HTML, ÑодеÑÐ¶Ð°Ñ Ð¸Ð½ÑÑÑÑкÑии Ð´Ð»Ñ Ð²ÐµÐ±-бÑаÑзеÑов, ÑообÑаÑÑие, как пÑедÑÑавлÑÑÑ Ð¼ÑлÑÑимедиа-ÑодеÑжимое ÑпеÑиалÑно Ð´Ð»Ñ Ð½Ð°Ñего визÑалÑного и ÑлÑÑ Ð¾Ð²Ð¾Ð³Ð¾ воÑпÑиÑÑиÑ. Ðднако, еÑли Ð±Ñ Ð¼Ñ Ð·Ð°Ñ Ð¾Ñели нанÑÑÑ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑнÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка Ð½Ð°Ñ Ð¾Ð´ÑÑейÑÑ Ð² Ðеб инÑоÑмаÑии, Ñо подобнÑе меÑÐ¾Ð´Ñ ÑÑолкнÑлиÑÑ Ð±Ñ Ñо ÑложноÑÑÑми в извлеÑении какого-либо ÑмÑÑла из ÑÑÐ¸Ñ Ð²ÐµÐ±-ÑÑÑаниÑ, еÑли Ð±Ñ Ñ Ð½Ð¸Ñ Ð½Ðµ бÑло пÑодвинÑÑÑÑ Ð½Ð°Ð²Ñков в ÑеловеÑеÑÐºÐ¸Ñ ÑзÑÐºÐ°Ñ . Ðолее Ñого, ÑовÑеменнÑе ÑеÑвеÑнÑе ÑзÑки Ð´Ð»Ñ Ðеб, Ñакие как JSP или ASP, поддеÑживаÑÑ ÑлÑÑайнÑÑ ÑмеÑÑ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ и видов в одном Ñайле, ÑÑо пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº оÑÐµÐ½Ñ Ð½ÐµÑÑÑÑкÑÑÑиÑÐ¾Ð²Ð°Ð½Ð½Ð¾Ð¼Ñ ÑодеÑжимомÑ.
ÐÑедÑÑавление, на коÑоÑое опиÑаеÑÑÑ ÑеманÑиÑеÑÐºÐ°Ñ Ð¿Ð°ÑÑина, заклÑÑаеÑÑÑ Ð² Ñом, ÑÑÐ¾Ð±Ñ ÑделаÑÑ Ð²ÐµÐ±-ÑодеÑжимое ÑиÑабелÑнÑм Ð´Ð»Ñ Ð¼Ð°Ñин Ñаким обÑазом, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¾ могло легÑе анализиÑоваÑÑÑÑ Ð¿ÑогÑаммнÑми агенÑами и ÑаÑпÑоÑÑÑанÑÑÑÑÑ ÑÑеди веб-ÑлÑжб. Ð ÑÑиÑ
ÑелÑÑ
ÐонÑоÑÑиÑм ÐÑемиÑной паÑÑÐ¸Ð½Ñ (W3C) ÑекомендÑÐµÑ Ð½ÐµÑколÑко оÑнованнÑÑ
на Ðеб ÑзÑков, коÑоÑÑе могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑоÑмализаÑии веб-ÑодеÑжимого. RDF Schema и OWL могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÐºÐ»Ð°ÑÑов, аÑÑибÑÑов и оÑноÑений подобно обÑекÑно-оÑиенÑиÑованнÑм ÑзÑкам. ÐапÑимеÑ, ÑзÑк RDF Schema Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñого, ÑÑо Ñ ÐºÐ»Ð°ÑÑа Product
имееÑÑÑ ÑвойÑÑво hasPrice
пÑинимаÑÑее знаÑÐµÐ½Ð¸Ñ Ð² виде ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой. ÐÑ Ð¼Ð¾Ð¶ÐµÑе опÑеделиÑÑ ÐºÐ»Ð°ÑÑ Purchase
Ñо ÑвойÑÑвом hasProducts
коÑоÑое ÑооÑноÑÐ¸Ñ ÐµÐ³Ð¾ Ñ ÑазлиÑнÑми обÑекÑами Product
. OWL ÑаÑÑиÑÑÐµÑ RDF-ÑÑ
ÐµÐ¼Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑми конÑÑÑÑкÑиÑми Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ ÑложнÑÑ
клаÑÑов. ÐапÑимеÑ, OWL Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑа DutyFreeOrder
как подклаÑÑа вÑеÑ
покÑпок, Ñ ÐºÐ¾ÑоÑÑÑ
в адÑеÑе доÑÑавки знаÑиÑÑÑ ÑÑÑана, о коÑоÑой извеÑÑно, ÑÑо она вÑ
Ð¾Ð´Ð¸Ñ Ð² ÑоглаÑение о беÑпоÑлинной ÑоÑговле. W3C Ñакже ÑабоÑÐ°ÐµÑ Ð½Ð°Ð´ дÑÑгими ÑзÑками Ð´Ð»Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¿Ñавил вида «еÑли-Ñо» и ÑложнÑÑ
SQL-подобнÑÑ
запÑоÑов, но Ð¼Ñ Ð² данном обÑÑждении ÑконÑенÑÑиÑÑем наÑе внимание на RDF СÑ
еме и OWL.
Ðодели пÑедмеÑной облаÑÑи Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð»Ñбого из ÑÑÐ¸Ñ ÑзÑков могÑÑ Ð±ÑÑÑ Ð·Ð°Ð³ÑÑÐ¶ÐµÐ½Ñ Ð¸ ÑвÑÐ·Ð°Ð½Ñ Ð²Ð¾ ÐÑемиÑной паÑÑине Ñаким же обÑазом, каким Ð²Ñ Ð±Ñ Ð¾Ð¿Ñбликовали HTML-ÑÑÑаниÑÑ. Ðак ÑолÑко RDF или OWL Ñайл оказалÑÑ Ð² ÑеÑи, дÑÑгие веб-ÑеÑÑÑÑÑ Ð¸Ð»Ð¸ пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð½Ð° него ÑÑÑлаÑÑÑÑ. ÐапÑимеÑ, HTML-ÑÑÑаниÑа, оÑобÑажаÑÑÐ°Ñ Ð¾Ð¿ÑеделÑннÑй пÑодÑÐºÑ Ð¼Ð¾Ð¶ÐµÑ Ð²ÐºÐ»ÑÑаÑÑ Ð¼ÐµÑаданнÑе, ÑÑÑлаÑÑиеÑÑ Ð½Ð° ÑооÑвеÑÑÑвÑÑÑÑÑ ÑÑÑноÑÑÑ Ð² модели OWL, Ñак ÑÑо вÑе пÑиложениÑ, коÑоÑÑе понимаÑÑ, ÑÑо Ñакое «пÑодÑкÑ», могÑÑ Ð¸Ð·Ð²Ð»ÐµÑÑ ÑмÑÑл и из HTML-ÑÑÑаниÑÑ. Ðли поÑÑавÑики опÑеделÑннÑÑ Ð¿ÑодÑкÑов могÑÑ ÑоздаваÑÑ ÑкземплÑÑÑ ÐºÐ»Ð°ÑÑов RDF-ÑÑ ÐµÐ¼Ñ, ÑÑÐ¾Ð±Ñ Ð°Ð½Ð¾Ð½ÑиÑоваÑÑ ÑÐ²Ð¾Ñ Ð¿Ð¾ÑÑÑолио ÑоÑговÑм агенÑам в ÑоÑмаÑе обмена, иÑклÑÑаÑÑем неоднознаÑноÑÑÑ. ТипиÑнÑй ÑÑенаÑий Ð´Ð»Ñ Ñакого пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½ на ÑиÑÑнке 2.
РиÑÑнок 2: ÐÑиложение, иÑполÑзÑÑÑее ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ ÑеманÑиÑеÑкой паÑÑинÑ, Ð¼Ð¾Ð¶ÐµÑ ÑкÑплÑаÑиÑоваÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ пÑедмеÑной облаÑÑи и веб-ÑлÑÐ¶Ð±Ñ Ð¸Ð· СеÑи. ÐÑлÑÑе пÑÑмоÑголÑники изобÑажаÑÑ OWL-ÑÐ°Ð¹Ð»Ñ Ð² UML-подобной гÑаÑиÑеÑкой ноÑаÑии. ÐбÑаÑиÑе внимание, ÑÑо ноÑаÑÐ¸Ñ UML иÑполÑзÑеÑÑÑ Ð¿ÑоÑÑо Ð´Ð»Ñ Ð¿ÑимеÑа â дÑÑгие ÑпоÑÐ¾Ð±Ñ Ð²Ð¸Ð·ÑализаÑии могÑÑ Ð±Ð¾Ð»ÐµÐµ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑими Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑÑ Ð²Ð°ÑиÑÑ Ð²ÑÑ ÑеманÑÐ¸ÐºÑ OWL.
Ð Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº опÑеделÑннÑй ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñакже доÑÑигнÑÑ Ð¿Ñи иÑполÑзовании ÑÑадиÑионнÑÑ , оÑнованнÑÑ Ð½Ð° XML, меÑодов, ÑзÑки ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð±Ð¾Ð»ÐµÐµ богаÑÑÑ Ð²ÑÑазиÑелÑноÑÑÑ. Ðодобно обÑекÑно-оÑиенÑиÑованнÑм ÑзÑкам, RDF Schema и OWL делаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм обÑÑвление подклаÑÑов и обобÑение конÑепÑий. ÐÑганизаÑÐ¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ пÑедмеÑной облаÑÑи в виде клаÑÑов пÑÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÐµÑ ÐµÑÑеÑÑвенное оÑобÑажение Ð´Ð»Ñ Ð¸Ð½ÑегÑаÑии моделей Ñ Ð¾ÑÑавÑимиÑÑ Ð¿ÑогÑаммнÑми компоненÑами. Ðолее Ñого, поÑколÑÐºÑ ÐºÐ°Ð¶Ð´Ñй ÑеÑÑÑÑ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¸Ð¼ÐµÐµÑ ÑникалÑнÑй URI, ÑÑановиÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм ÑÑÑанавливаÑÑ ÑвÑзи Ð¼ÐµÐ¶Ð´Ñ ÑÑÑеÑÑвÑÑÑими моделÑми. ÐÑо ознаÑаеÑ, ÑÑо как ÑолÑко Ð¼Ð¾Ð´ÐµÐ»Ñ Ð½ÐµÐºÐ¾ÑоÑой пÑедмеÑной облаÑÑи опÑбликована в СеÑи, дÑÑгие модели поÑенÑиалÑно ÑмогÑÑ Ð±ÑÑÑ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ñ Ð½Ð° ÐµÑ Ð¾Ñнове, Ñаким обÑазом ÑоÑмиÑÑÑ ÑеÑÑ Ð´Ð¸ÑÑиплинаÑнÑÑ , а возможно и междиÑÑиплинаÑнÑÑ Ð·Ð½Ð°Ð½Ð¸Ð¹.
РаÑÑиÑÑемоÑÑÑ ÑзÑков ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð²ÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² глобалÑнÑÑ Ð¼Ð°ÑÑÑÐ°Ð±Ð°Ñ . ÐмеÑÑо опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ 1000-ной ваÑиаÑии пÑикладной модели «пÑодÑкÑ-покÑпка», ÑазÑабоÑÑики пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð½Ð°Ð¹Ñи Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð² СеÑи и пÑоÑÑо иÑполÑзоваÑÑ Ð¸Ð»Ð¸ ÑаÑÑиÑиÑÑ ÐµÑ. ÐÑполÑзÑÑ ÑÑÑеÑÑвÑÑÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ, ÑазлиÑнÑе пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñо ÑÑ Ð¾Ð¶Ð¸Ð¼Ð¸ задаÑами могÑÑ Ð¾Ð±Ð¼ÐµÐ½Ð¸Ð²Ð°ÑÑÑÑ ÑезÑлÑÑаÑами и даннÑми Ñ Ð±Ð¾Ð»ÑÑей лÑгкоÑÑÑÑ. Ðолее Ñого, веÑоÑÑно, ÑÑо в Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð½ÑегÑиÑована незавиÑÐ¸Ð¼Ð°Ñ Ð¾Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð²ÑоÑно иÑполÑзÑÐµÐ¼Ð°Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñа (ÑÐ°ÐºÐ°Ñ ÐºÐ°Ðº пÑиложение поÑÑебиÑелÑÑкой коÑÐ·Ð¸Ð½Ñ Ð¸Ð»Ð¸ веб-ÑлÑжба Ð´Ð»Ñ ÐºÑедиÑнÑÑ ÐºÐ°ÑÑ). Ð Ñо вÑемÑ, как обеÑание глобалÑного обмена знаниÑми в СеманÑиÑеÑкой паÑÑине, возможно, оказÑваеÑÑÑ ÑлиÑком амбиÑиознÑм Ð´Ð»Ñ Ð±Ð»Ð¸Ð¶Ð°Ð¹Ñего бÑдÑÑего, RDF Schema и OWL по кÑайней меÑе пÑедоÑÑавлÑÑÑ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ Ð´Ð»Ñ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ð¸Ñ ÑÑÑÑкÑÑÑ, повÑоÑно иÑполÑзÑемÑÑ ÑÑеди заинÑеÑеÑованнÑÑ ÑообÑеÑÑв. ÐеÑалÑное обÑÑждение ÑÑÐ¸Ñ Ð¿Ñоблем вÑÑ Ð¾Ð´Ð¸Ñ Ð·Ð° Ñамки данной ÑÑаÑÑи.
ÐбеÑÐ°Ð½Ð½Ð°Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¿Ð¾Ð²ÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑаÑÑиÑно обÑÑÑнÑеÑÑÑ Ñем ÑакÑом, ÑÑо ÑзÑки ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ñ Ð½Ð° Ðеб: каждÑй клаÑÑ, ÑвойÑÑво или обÑÐµÐºÑ Ð² RDF-ÑÑ ÐµÐ¼Ðµ или OWL-Ñайле Ð¸Ð¼ÐµÐµÑ ÑникалÑнÑй иденÑиÑикаÑÐ¾Ñ (URI), Ñак ÑÑо на него можно ÑÑÑлаÑÑÑÑ Ð¾ÑкÑда Ñгодно. ÐÑÑÐ³Ð°Ñ Ð±Ð¾Ð»ÐµÐµ ÑилÑÐ½Ð°Ñ ÑÑоÑона, коÑоÑÐ°Ñ Ð´ÐµÐ»Ð°ÐµÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð² знаÑиÑелÑной меÑе пеÑеиÑполÑзÑемÑми, заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо OWL оÑновÑваеÑÑÑ Ð½Ð° ÑоÑмалÑной логике. ÐÑо ознаÑаеÑ, ÑÑо модели OWL не огÑаниÑиваÑÑÑÑ Ð¾Ð´Ð½Ð¸Ð¼ ÑолÑко опÑеделением клаÑÑов и Ð¸Ñ Ð°ÑÑибÑÑов, но могÑÑ Ñакже огÑаниÑиваÑÑ Ð¿Ð¾ÑенÑиалÑное Ñоздание ÑкземплÑÑов ÑÑого клаÑÑа Ñаким обÑазом, ÑÑо ÑÑи клаÑÑÑ Ð¼Ð¾Ð³ÑÑ ÑвнÑм обÑазом ÑаÑпÑоÑÑÑанÑÑÑÑÑ ÑÑеди гÑÑпп лÑдей и маÑин. Ðодели пÑедмеÑной облаÑÑи, оÑнованнÑе на ÑÑÐ¾Ð»Ñ Ð¿Ð¾Ð´Ñобно опÑеделÑнной логике, ÑаÑÑо назÑваÑÑ Ð¾Ð½ÑологиÑми. ФакÑиÑеÑки, аббÑевиаÑÑÑа OWL ознаÑÐ°ÐµÑ "Web Ontology Language" (ÑзÑк веб-онÑологий). Ð ÑооÑвеÑÑÑвии Ñ [OWL 2004], OWL Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ñвного пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñений понÑÑий в ÑловаÑÑÑ Ð¸ оÑноÑений Ð¼ÐµÐ¶Ð´Ñ ÑÑими понÑÑиÑми. Такое пÑедÑÑавление понÑÑий и Ð¸Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾ÑвÑзей Ð²Ð½Ð¾Ð²Ñ ÑвлÑеÑÑÑ ÑоÑмой онÑологии. С обÑекÑно-оÑиенÑиÑованной ÑоÑки зÑениÑ, онÑологии ÑвлÑÑÑÑÑ ÐºÐ»Ð°ÑÑами пÑедмеÑной облаÑÑи, коÑоÑÑе ÑодеÑÐ¶Ð°Ñ Ð»Ð¾Ð³Ð¸ÑеÑкие ÑÑвеÑждениÑ, делаÑÑие Ð¸Ñ Ð·Ð½Ð°Ñение ÑвнÑм. Ðалее Ð¼Ñ Ð¿Ð¾ÐºÐ°Ð¶ÐµÐ¼, ÑÑо инÑÑÑÑменÑÑ, назÑваемÑе Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð°Ð¼Ð¸ ÑаÑÑÑждений (reasoners) могÑÑ Ð¸ÑполÑзоваÑÑ ÑÑи логиÑеÑкие ÑÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑаÑÑиÑеннÑÑ Ð·Ð°Ð¿ÑоÑов, коÑоÑÑе вÑÑвлÑÑÑ Ð½ÐµÑвнÑе ÑвÑзи Ð¼ÐµÐ¶Ð´Ñ ÑеÑÑÑÑами.
ÐнÑологии и модели пÑедмеÑной облаÑÑи ÑаÑÑо Ð¾Ñ Ð²Ð°ÑÑваÑÑ ÑазнÑе ÑÑовни абÑÑÑакÑии, завиÑимоÑÑей Ð¼ÐµÐ¶Ð´Ñ Ð¿ÑиложениÑми и повÑоÑного иÑполÑзованиÑ. ÐозвÑаÑаÑÑÑ Ðº пÑимеÑÑ Ð¸Ð· введениÑ, ÑÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ 1 и 2 опÑеделÑÑÑ ÑÑÑÑкÑÑÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾ÐºÑпаÑÐµÐ»Ñ Ð¸ покÑпки. УÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ 3, 4 и 5 каÑаÑÑÑÑ Ð¾Ð¿ÑеделÑннÑÑ ÑÑÑан, коÑоÑÑе могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² геогÑаÑиÑеÑÐºÐ¸Ñ Ð¸ полиÑиÑеÑÐºÐ¸Ñ Ð¿ÑиложениÑÑ . УÑвеÑждение 6 не завиÑÐ¸Ñ Ð¾Ñ ÑÑÐ¸Ñ ÐºÐ¾Ð½ÐºÑеÑнÑÑ ÑÑÑан и опиÑÑÐ²Ð°ÐµÑ Ð¾Ð±Ñие оÑноÑÐµÐ½Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñ ÑÑÑанами, оÑвеÑаÑÑими конкÑеÑÐ½Ð¾Ð¼Ñ ÐºÑиÑеÑÐ¸Ñ Ð² пÑедмеÑной облаÑÑи. ÐÑи ÑаÑÑи Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÐµÑеиÑполÑзÑемÑми или иÑполÑзоваÑÑÑÑ Ð¿Ð¾Ð²ÑоÑно из ÑÑандаÑÑизиÑованнÑÑ ÑеÑений. ФакÑиÑеÑки, онÑологии заÑаÑÑÑÑ Ð¾Ð¿ÑеделÑÑÑÑÑ Ð³ÑÑппами лÑдей (ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº конÑоÑÑиÑм ÑлекÑÑонной коммеÑÑии или ÑÑаÑÑниками наÑионалÑного геологиÑеÑкого иÑÑледованиÑ) Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑÑÑановиÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾ÑвÑÐ·Ñ Ð¼ÐµÐ¶Ð´Ñ ÑлеменÑами ÑловаÑÑ Ð¿ÑедмеÑной облаÑÑи в ÑелÑÑ Ð¸Ð½ÑегÑаÑии инÑоÑмаÑии. Ðогда Ñоздана ÑÑандаÑÑизиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ð½ÑÐ¾Ð»Ð¾Ð³Ð¸Ñ ÑÑÑан и Ð¸Ñ Ð¾ÑноÑений, болÑÑе Ð½ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи изобÑеÑаÑÑ ÐµÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ в каждом оÑделÑном пÑиложении. Ðолее Ñого, повÑоÑное иÑполÑзование ÑÑÑеÑÑвÑÑÑÐ¸Ñ Ð¾Ð½Ñологий из СеÑи Ð¸Ð¼ÐµÐµÑ Ð¿ÑеимÑÑеÑÑво, заклÑÑаÑÑееÑÑ Ð² Ñом, ÑÑо пÑиложение ÑÐ¼Ð¾Ð¶ÐµÑ Ð±Ð¾Ð»ÐµÐµ непоÑÑедÑÑвенно извлекаÑÑ Ð²ÑÐ³Ð¾Ð´Ñ Ð¸Ð· обновлений, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº добавление новÑÑ ÑÑÑан.
Тем не менее, конкÑеÑÐ½Ð°Ñ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð¿Ð¾ÐºÑпаÑелей и наÑего онлайн-магазина ÑвлÑеÑÑÑ ÑпеÑиÑиÑной Ð´Ð»Ñ Ð½Ð°Ñего пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ нÑждаÑÑÑÑ Ð² дополниÑелÑной подгонке. Ð¢Ð°ÐºÐ°Ñ Ð¿Ð¾Ð´Ð³Ð¾Ð½ÐºÐ° Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾ÑÑÑеÑÑвлена добавлением конкÑеÑнÑÑ Ð¿Ð¾Ð´ÐºÐ»Ð°ÑÑов и ÑкземплÑÑов. Ð Ñом ÑлÑÑае, еÑли обÑие онÑологии/модели не опÑимизиÑÐ¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ Ñелей конкÑеÑного пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ поÑÐ¾Ð¼Ñ Ð½ÑждаÑÑÑÑ Ð² адапÑаÑии или поÑÑÑоении Ñ Ð½ÑлÑ, могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¸Ð½ÑÑÑÑменÑÑ Ð¼Ð¾Ð´ÐµÐ»Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑедмеÑной облаÑÑи (Ñакие, как ÑпомÑнÑÑÑе в ÐÑиложении). ÐÑи инÑÑÑÑменÑÑ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑ Ð´Ð»Ñ ÑкÑпеÑÑов в пÑедмеÑной облаÑÑи, Ñ ÐºÐ¾ÑоÑÑÑ ÐµÑÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑой или же полноÑÑÑÑ Ð¾ÑÑÑÑÑÑвÑÐµÑ Ð¾Ð¿ÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑзÑков пÑогÑаммиÑованиÑ. СопоÑÑавимÑе Ñ ÑедакÑоÑами Ð´Ð»Ñ UML, ÑÑи инÑÑÑÑменÑÑ Ð¿ÑедоÑÑавлÑÑÑ Ð²Ð¸Ð·ÑалÑнÑе ÑедакÑоÑÑ ÐºÐ»Ð°ÑÑов и оÑноÑений и позволÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑм ÑоздаваÑÑ ÑкземплÑÑÑ ÑÑÐ¸Ñ ÐºÐ»Ð°ÑÑов.
ÐеÑÑелÑноÑÑÑ Ð¿Ð¾ моделиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑедмеÑной облаÑÑи в ÑÐ°Ð¼ÐºÐ°Ñ Ñакого пÑоÑеÑÑа ÑазÑабоÑки можно ÑÑавниÑÑ Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð¾Ð¼ ÑÑебований и пÑоекÑиÑованием в ÑÑадиÑионной ÑазÑабоÑке пÑогÑаммного обеÑпеÑениÑ. ÐкÑпеÑÑÑ Ð² пÑедмеÑной облаÑÑи и конеÑнÑе полÑзоваÑели обÑединÑÑÑ Ñвои ÑÑÐ¸Ð»Ð¸Ñ Ñ Ð¿ÑоекÑиÑовÑиками ÐÐ, ÑазÑабоÑÑиками и ÑеÑÑиÑовÑиками Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿ÑийÑи к Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑим абÑÑÑакÑиÑм пÑикладной облаÑÑи. ÐнÑологии из СеÑи комбиниÑÑÑÑÑÑ, ÑаÑÑиÑÑÑÑÑÑ Ð¸ инÑÑанÑииÑÑÑÑÑÑ. СÑедÑÑва ÑазÑабоÑки онÑологий пÑедоÑÑавлÑÑÑ ÑдобÑÑва Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑкземплÑÑов клаÑÑов Ñаким обÑазом, ÑÑо можно ÑоздаваÑÑ Ð¸ пÑоÑоÑипиÑоваÑÑ ÑкземплÑÑÑ-пÑимеÑÑ. ÐаÑем пÑогÑаммиÑÑÑ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð¸ÑÑÑÑ Ð¿Ð¾Ð»ÑÑеннÑе модели пÑедмеÑной облаÑÑи Ñ Ð¾ÑÑавÑимиÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñами пÑиложениÑ, Ñакими как полÑзоваÑелÑÑкий инÑеÑÑÐµÐ¹Ñ Ð¸ ÑпÑавлÑÑÑÐ°Ñ Ð»Ð¾Ð³Ð¸ÐºÐ°. РоÑлиÑие Ð¾Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ ÑÑадиÑионнÑÑ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑÑ Ð¼ÐµÑодологий, в коÑоÑÑÑ Ð°Ð½Ð°Ð»Ð¸Ð· и пÑоекÑиÑование пÑиводÑÑ Ð»Ð¸ÑÑ Ðº пÑомежÑÑоÑнÑм аÑÑеÑакÑам Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑаÑии кода, в ÑÐ°Ð¼ÐºÐ°Ñ Ð¼ÐµÑода ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¾Ð´Ð½Ð¸ и Ñе же модели иÑполÑзÑÑÑÑÑ Ð½Ð° вÑÐµÑ ÑÑадиÑÑ Ð¾Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°, пÑоекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑеализаÑии до ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ даже во вÑÐµÐ¼Ñ Ð²ÑполнениÑ. ÐнÑологии, опÑеделÑннÑе на ÑÐ°Ð½Ð½Ð¸Ñ ÑÑадиÑÑ , ÑÑÑанавливаÑÑ ÐºÐ»Ð°ÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ ÑеализаÑии, и в Ñо же вÑÐµÐ¼Ñ Ð¾ÑигиналÑнÑе модели оÑÑаÑÑÑÑ Ð´Ð¾ÑÑÑпнÑми, когда пÑиложение иÑполнÑеÑÑÑ. ФоÑмалÑÐ½Ð°Ñ Ð»Ð¾Ð³Ð¸ÐºÐ°, Ð²Ñ Ð¾Ð´ÑÑÐ°Ñ Ð² ÑоÑÑав онÑологий, даже Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ñем бÑÑÑ Ð¸ÑполÑзована Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑеÑеденÑов ÑеÑÑиÑованиÑ. Ð Ñом ÑлÑÑае, еÑли Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ пÑедмеÑной облаÑÑи ÑÐ²Ð½Ð°Ñ ÑеманÑика вÑемени вÑполнениÑ, можно в далÑнейÑем иÑполÑзоваÑÑ ÑлÑÐ¶Ð±Ñ Ð»Ð¾Ð³Ð¸ÑеÑкого ÑаÑÑÑждениÑ. ÐÑ ÑаÑÑмоÑÑим ÑÑÐ¾Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð±Ð¾Ð»ÐµÐµ деÑалÑно поÑле Ñого, как ознакомимÑÑ Ñ Ð¾Ñновами RDF и OWL.
3 Ðведение в RDF Schema и OWLÐÐ»Ñ Ð¿ÑеÑвоÑÐµÐ½Ð¸Ñ Ð²Ð¸Ð´ÐµÐ½Ð¸Ñ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð² Ð¶Ð¸Ð·Ð½Ñ W3C вÑпÑÑÑил неÑколÑко ÑпеÑиÑикаÑий ÑзÑков. RDF и его ÑÑ ÐµÐ¼Ð° ÑаÑÑмаÑÑиваÑÑ Ð±Ð°Ð·Ð¾Ð²ÑÑ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑов, ÑвойÑÑв и ÑкземплÑÑов в веб-ÑовмеÑÑимом ÑоÑмаÑе. OWL ÑаÑÑиÑÑÐµÑ RDF-ÑÑ ÐµÐ¼Ñ, дополнÑÑ ÐµÑ Ð±Ð¾Ð»ÐµÐµ богаÑой вÑÑазиÑелÑноÑÑÑÑ. Ðа даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¾Ð±Ð° ÑзÑка поддеÑживаÑÑÑÑ Ð¸Ð½ÑÑÑÑменÑами, паÑÑеÑами и пÑикладнÑми пÑогÑаммнÑми инÑеÑÑейÑами (API). ÐÑÐ¾Ñ Ñаздел ÑодеÑÐ¶Ð¸Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ в RDF Schema и OWL, а Ñакже ÑÑавнение Ð¸Ñ Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑми ÑзÑками.
3.1 RDF и RDF SchemaRDF (Resource Description Framework - ÐаÑÐºÐ°Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑеÑÑÑÑов) [RDF 2004] ÑÑо оÑнованнÑй на Ðеб ÑзÑк, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑоÑмалÑного опиÑÐ°Ð½Ð¸Ñ Ð°ÑÑоÑиаÑий Ð¼ÐµÐ¶Ð´Ñ ÑеÑÑÑÑами. РеÑÑÑÑом Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑо Ñгодно, ÑнабжÑнное ÑникалÑнÑм иденÑиÑикаÑоÑом ÑеÑÑÑÑа (URI). ÐоÑколÑÐºÑ Ñ Ð½Ð¸Ñ
еÑÑÑ URL, Ñо HTML-ÑÑÑаниÑÑ, изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸ мÑлÑÑимедиа ÑÐ°Ð¹Ð»Ñ ÑвлÑÑÑÑÑ ÑеÑÑÑÑами. Ð RDF ÑеÑÑÑÑами Ñакже могÑÑ Ð±ÑÑÑ ÐºÐ»Ð°ÑÑÑ, ÑвойÑÑва и ÑкземплÑÑÑ. ÐапÑимеÑ, Ñакой URI как http://ecommerce.example.org/ecommerce.rdf#Product
мог Ð±Ñ Ð¿ÑедÑÑавлÑÑÑ ÐºÐ»Ð°ÑÑ Ð² виде RDF-Ñайла, и Ð²Ñ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ URI, ÑÑÐ¾Ð±Ñ Ð°Ð½Ð½Ð¾ÑиÑоваÑÑ Ð²ÐµÐ±-ÑÑÑаниÑÑ ÐºÐ°ÐºÐ¾Ð³Ð¾-Ñо конкÑеÑного пÑодÑкÑа.
RDF вÑего лиÑÑ Ð¾Ð¿ÑеделÑÐµÑ Ð±Ð°Ð·Ð¾Ð²Ñй ÑинÑакÑÐ¸Ñ Ð´Ð»Ñ ÑодеÑжимого ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¸ Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ ÑеÑиализаÑией в ÑоÑмаÑе XML, ÑÑо позволÑÐµÑ Ð¾Ð±Ð¼ÐµÐ½Ð¸Ð²Ð°ÑÑÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñми в СеÑи. RDF Schema опÑеделÑÐµÑ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð´Ð»Ñ RDF. RDF-ÑÑ
ема опÑеделÑÐµÑ Ð¿ÑедÑÑавление клаÑÑов, оÑноÑений наÑледованиÑ, ÑвойÑÑв, Ñипов даннÑÑ
и Ñ.д. ÐапÑимеÑ, ÑледÑÑÑий Ñайл на ÑзÑке RDF Schema обÑÑвлÑÐµÑ ÐºÐ»Ð°ÑÑ Product
и ÑвойÑÑво hasPrice
:
<rdf:RDF xml:base="http://ecommerce.example.org/ecommerce.rdf" xmlns="http://ecommerce.example.org/ecommerce.rdf#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdfs:Class rdf:ID="Product"/> <rdf:Property rdf:ID="hasPrice"> <rdfs:domain rdf:resource="#Product"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> </rdf:Property> </rdf:RDF
РаÑÑмоÑÑение подÑобноÑÑей RDF, RDF Schema и ÑинÑакÑиÑа XML вÑÑ
Ð¾Ð´Ð¸Ñ Ð´Ð°Ð»ÐµÐºÐ¾ за Ñамки данной ÑÑаÑÑи. ÐÐ»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ докÑменÑа важнÑми ÑвлÑÑÑÑÑ Ð»Ð¸ÑÑ Ð½ÐµÑколÑко конÑепÑий. URI ÑаÑÑо ÑазбиваÑÑ Ð½Ð° пÑоÑÑÑанÑÑво имÑн (namespace) и локалÑное Ð¸Ð¼Ñ (local name), где пÑоÑÑÑанÑÑво имÑн Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑокÑаÑено Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿ÑеÑикÑной ноÑаÑии. ÐапÑимеÑ, rdfs:Class
ÑвлÑеÑÑÑ ÑокÑаÑением Ð´Ð»Ñ URI http://www.w3.org/2000/01/rdf-schema#Class
в Ñом ÑлÑÑае, еÑли пÑеÑÐ¸ÐºÑ rdfs
бÑл обÑÑвлен в заголовке Ñайла. ÐÑли пÑеÑÐ¸ÐºÑ Ð½Ðµ Ñказан (как в ÑлÑÑае Ñ "Product"
), Ñо бÑÐ´ÐµÑ Ð¸ÑполÑзовано пÑоÑÑÑанÑÑво имÑн по ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ñайла. ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑпÑоÑÑиÑÑ Ð¿ÑедÑÑавление, в данном докÑменÑе Ð¼Ñ Ð¾ÑÑановим внимание на ÑÑой коÑоÑкой ноÑаÑии, оÑнованной на локалÑнÑÑ
именаÑ
.
ÐÑоÑÑÑанÑÑва имÑн можно ÑÑавниÑÑ Ñ Ð¿Ð°ÐºÐµÑами в обÑекÑно-оÑиенÑиÑованнÑÑ
ÑзÑкаÑ
. СледоваÑелÑно, можно ÑÑиÑаÑÑ, ÑÑо пÑедÑÑавленнÑй вÑÑе Ñайл опÑеделÑÐµÑ Ð¿Ð°ÐºÐµÑ http://ecommerce.example.org/ecommerce.rdf#
. ÐÑе ÑеÑÑÑÑÑ, обÑÑвленнÑе в пÑоÑÑÑанÑÑве имÑн, ÑвлÑÑÑÑÑ Ð¾Ð±ÑедоÑÑÑпнÑми, ÑÑÐ¾Ð±Ñ Ð²Ñе RDF-ÑÐ°Ð¹Ð»Ñ Ð¼Ð¾Ð³Ð»Ð¸ ÑÑÑлаÑÑÑÑ Ð´ÑÑг на дÑÑга напÑÑмÑÑ. ÐапÑимеÑ, Ð²Ñ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ ÑоздаÑÑ Ð´ÑÑгой RDF-Ñайл, коÑоÑÑй опÑеделÑл Ð±Ñ ÑкземплÑÑ ÑпомÑнÑÑого вÑÑе клаÑÑа Product
и назнаÑал Ð±Ñ ÑÑÐ¾Ð¼Ñ ÑкземплÑÑÑ ÐºÐ¾Ð½ÐºÑеÑнÑÑ ÑенÑ. Такие ÑкземплÑÑÑ Ð² RDF назÑваÑÑÑÑ Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´Ð°Ð¼Ð¸. РоÑлиÑие Ð¾Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ
обÑекÑно-оÑиенÑиÑованнÑÑ
ÑзÑков, Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾ÑнеÑÐµÐ½Ñ Ð½Ð°Ð¿ÑÑмÑÑ Ð±Ð¾Ð»ÐµÐµ Ñем к Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑипÑ. ÐапÑимеÑ, индивид http://myshop.example.com/products.rdf#Harry
Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¾Ð±ÑÑвлен и как ÑкземплÑÑ http://ecommerce.example.org/ecommerce.rdf#Product
, и как ÑкземплÑÑ http://auctioning.example.org/model.rdf#AuctionItem
. ÐÑо позволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ ÑеÑÑÑÑ (ÑказаннÑй ÑеÑез его URI) в одном конÑекÑÑе как пÑодÑкÑ, а в дÑÑгом конÑекÑÑе как Ð»Ð¾Ñ Ð°ÑкÑиона.
Ð RDF Schema клаÑÑÑ ÑвлÑÑÑÑÑ ÑовокÑпноÑÑÑми индивидов Ñ Ð¾Ð±Ñими Ñ
аÑакÑеÑиÑÑиками. ÐлаÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ð² иеÑаÑÑ
ии наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¾ многом подобно обÑекÑно-оÑиенÑиÑованнÑм ÑиÑÑемам. Ðак и UML, RDF Schema поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑвенное наÑледование. ÐÑновное ÑазлиÑие Ð¼ÐµÐ¶Ð´Ñ RDF и обÑекÑно-оÑиенÑиÑованнÑми ÑзÑками, Ñем не менее, заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо клаÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿ÐµÑеÑекаÑÑÑÑ. ÐоÑколÑÐºÑ Ñ Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´Ð° Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑколÑко Ñипов, некоÑоÑÑе ÑкземплÑÑÑ Ð¼Ð¾Ð³ÑÑ ÑвлÑÑÑÑÑ Ð¾Ð±Ñими Ð´Ð»Ñ Ð½ÐµÑколÑкиÑ
клаÑÑов. Ðолее Ñого, ÑкземплÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¼ÐµÐ½ÑÑÑ Ñвой Ñип в ÑеÑение жизненного Ñикла. Ðаказ Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°ÑаÑÑ ÑÐ²Ð¾Ñ ÑÑÑеÑÑвование как ÑкземплÑÑ ÐºÐ»Ð°ÑÑа PurchaseOrder
, а заÑем ÑмениÑÑ Ñвой Ñип на DutyFreeOrder
, когда пÑогÑамма ÑобеÑÑÑ Ð±Ð¾Ð»ÑÑе инÑоÑмаÑии об адÑеÑе доÑÑавки покÑпаÑелÑ.
ÐÑÑгим важнÑм ÑазлиÑием Ð¼ÐµÐ¶Ð´Ñ Ð¡ÐµÐ¼Ð°Ð½ÑиÑеÑкой паÑÑиной и обÑекÑно-оÑиенÑиÑованнÑми ÑзÑками ÑвлÑеÑÑÑ Ñо, СеманÑиÑеÑÐºÐ°Ñ Ð¿Ð°ÑÑина ÑвлÑеÑÑÑ Ð¾ÑкÑÑÑÑм миÑом, в коÑоÑом ÑÐ°Ð¹Ð»Ñ Ð¼Ð¾Ð³ÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð½Ð¾Ð²ÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑÑÑеÑÑвÑÑÑиÑ
ÑеÑÑÑÑаÑ
. ÐоÑколÑÐºÑ ÐÑемиÑÐ½Ð°Ñ Ð¿Ð°ÑÑина â ÑÑо огÑомное пÑоÑÑÑанÑÑво, в коÑоÑом ÑÑо-либо Ð¼Ð¾Ð¶ÐµÑ ÑÑÑлаÑÑÑÑ Ð½Ð° ÑÑо-либо еÑÑ, невозможно вÑÑÑниÑÑ, ÑвлÑеÑÑÑ Ð»Ð¸ некоÑоÑое ÑÑвеÑждение веÑнÑм или ÑÑÐ°Ð½ÐµÑ Ð»Ð¸ оно иÑÑиннÑм в бÑдÑÑем. ÐапÑимеÑ, еÑли Ð¼Ñ Ð¾Ð¿ÑеделÑем клаÑÑ, Ð¼Ñ Ð¾Ð±ÑÑно не можем знаÑÑ Ð½Ð°Ð¿ÐµÑÑд обо вÑеÑ
его ÑкземплÑÑаÑ
. Ðодобно ÑÑомÑ, Ð¼Ñ Ð½Ðµ можем вÑвеÑÑи, ÑÑо конкÑеÑнÑй Product
бÑÐ´ÐµÑ Ñакже иÑполÑзоваÑÑÑÑ Ð¸ как Ð»Ð¾Ñ AuctionItem
. ÐÑо «пÑедположение оÑкÑÑÑоÑÑи» ознаÑаеÑ, ÑÑо моделиÑование пÑедмеÑной облаÑÑи в ÑеманÑиÑеÑкой паÑÑине Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² мÑÑлении ÑазÑабоÑÑиков, коÑоÑÑе пÑивÑкли к закÑÑÑÑм, конеÑнÑм пÑедмеÑнÑм облаÑÑÑм «клаÑÑиÑеÑкиÑ
» обÑекÑно-оÑиенÑиÑованнÑÑ
ÑиÑÑем или «ÑÑадиÑионнÑÑ
» ÑелÑÑионнÑÑ
баз даннÑÑ
. С дÑÑгой ÑÑоÑонÑ, ÑедÑÑм вознагÑаждением бÑÐ´ÐµÑ Ð³Ð¸Ð±ÐºÐ¾ÑÑÑ Ð¸ обмен опÑÑом как ÑаÑÑÑ Ð±ÐµÐ·Ð³ÑаниÑного миÑа возможноÑÑей повÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ взаимодейÑÑвиÑ. Ð ÑаÑÑноÑÑи, меÑод «оÑкÑÑÑого миÑа» ознаÑаеÑ, ÑÑо лÑÐ±Ð°Ñ Ð²ÐµÐ±-оÑиенÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ð±ÑедоÑÑÑÐ¿Ð½Ð°Ñ Ð¾Ð½ÑÐ¾Ð»Ð¾Ð³Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð¿Ð¾Ð´ÐºÐ»Ð°ÑÑÑ Ð¸Ð»Ð¸ дополниÑелÑнÑе Ñ
аÑакÑеÑиÑÑики к конÑепÑиÑм, опÑеделÑннÑм в дÑÑгиÑ
онÑологиÑÑ
, ÑÑÐ¾Ð±Ñ Ð¿ÑиÑпоÑобиÑÑ Ð¸Ñ
Ð´Ð»Ñ Ð¸Ð½Ð¾Ð³Ð¾ пÑикладного иÑполÑзованиÑ. РзакÑÑÑÑÑ
ÑиÑÑемаÑ
, ÑакиÑ
как пÑогÑÐ°Ð¼Ð¼Ñ Ð½Ð° ÑзÑке Java, ÑÑо не ÑвлÑеÑÑÑ Ð½Ð¸ легкодоÑÑÑпной, ни обÑепÑинÑÑой пÑакÑикой.
Ðднако веÑнÑмÑÑ Ðº ÑзÑÐºÑ RDF. СвойÑÑва RDF можно ÑопоÑÑавиÑÑ Ñ Ð°ÑÑибÑÑами, полÑми или конÑами аÑÑоÑиаÑии в обÑекÑно-оÑиенÑиÑованнÑÑ
ÑзÑкаÑ
. Ðднако, еÑли в UML и Java аÑÑибÑÑÑ Ð¾ÑноÑÑÑÑÑ Ð»Ð¸ÑÑ Ðº Ð¾Ð´Ð½Ð¾Ð¼Ñ ÐºÐ»Ð°ÑÑÑ, Ñо в RDF ÑвойÑÑва ÑвлÑÑÑÑÑ Ð¾ÑделÑнÑми ÑÑÑноÑÑÑми, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð¾Ñ ÐºÐ»Ð°ÑÑов и иÑполÑзоваÑÑÑÑ Ð² неÑколÑкиÑ
клаÑÑаÑ
одновÑеменно. ÐапÑимеÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе опÑеделиÑÑ ÑвойÑÑво hasPrice
и заÑем пÑиÑоединиÑÑ ÐµÐ³Ð¾ к Ñем клаÑÑам, в коÑоÑÑÑ
Ñена Ð¸Ð¼ÐµÐµÑ ÑмÑÑл. ÐÑо Ñакже позволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð¾Ð´Ð½Ð¾ и Ñо же ÑвойÑÑво в ÑазлиÑнÑÑ
ÑайлаÑ
. ÐапÑимеÑ, еÑли Ð²Ñ ÑоздаÑÑе Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð¾Ð½Ð»Ð°Ð¹Ð½-аÑкÑионов, Ð²Ñ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ Ð¸ÑполÑзоваÑÑ ÑвойÑÑво ÑÐµÐ½Ñ Ð¸Ð· модели онлайн-магазинов Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸Ñного пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñен лоÑов аÑкÑиона. СовмеÑÑное иÑполÑзование одниÑ
и ÑеÑ
же ÑвойÑÑв в ÑазлиÑнÑÑ
моделÑÑ
ознаÑаеÑ, ÑÑо и знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð»ÐµÐ³ÐºÐ¾ инÑегÑиÑованÑ, к пÑимеÑÑ, пÑи ÑÑавнении ÑекÑÑей ÑÐµÐ½Ñ Ð½Ð° аÑкÑионе Ñ Ñеной нового пÑодÑкÑа в дÑÑгиÑ
онлайн-магазинаÑ
.
ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ Â«Ð¿ÑиÑоединиÑÑ» или «аÑÑоÑииÑоваÑÑ» ÑвойÑÑво Ñ ÐºÐ»Ð°ÑÑом, иÑполÑзÑÑÑÑÑ Ð²ÑÑказÑÐ²Ð°Ð½Ð¸Ñ rdfs:domain
. Rdfs:domain
â ÑÑо Ñег из пÑоÑÑÑанÑÑва имÑн RDF Schema, коÑоÑÑй оÑноÑÐ¸Ñ ÑвойÑÑво к клаÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿ÑедикаÑа. РпÑиведÑнном вÑÑе пÑимеÑе доменом Ð´Ð»Ñ hasPrice
ÑвлÑеÑÑÑ Product
. Ðо ÑÑÑеÑÑвÑ, Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованной ÑоÑки зÑÐµÐ½Ð¸Ñ ÑÑо ознаÑало бÑ, ÑÑо Ñ Ð²ÑеÑ
ÑкземплÑÑов клаÑÑа Product
могÑÑ Ð±ÑÑÑ ÑвÑзаннÑе Ñ Ð½Ð¸Ð¼Ð¸ знаÑÐµÐ½Ð¸Ñ ÑÐµÐ½Ñ (Price
), Ñаким обÑазом Ð´ÐµÐ»Ð°Ñ Price
аÑÑибÑÑом Product
. Ðднако, в RDF и OWL Ñ ÑÑого вÑÑказÑÐ²Ð°Ð½Ð¸Ñ ÐµÑÑÑ ÐµÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑй подÑекÑÑ: лÑбой ÑеÑÑÑÑ, коÑоÑÑй ÑвлÑеÑÑÑ ÑÑбÑекÑом hasPrice
, ÑвлÑеÑÑÑ ÑкземплÑÑом клаÑÑа Product
. ÐÑÑгими Ñловами, вÑÑказÑвание о домене в RDF Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÐºÐ»Ð°ÑÑиÑикаÑии ÑÑÑноÑÑей. СледоваÑелÑно, возвÑаÑаÑÑÑ Ðº наÑÐµÐ¼Ñ Ð¿ÑимеÑÑ, еÑли Ñ Ñего-либо еÑÑÑ Ñена, Ñо его можно обÑабаÑÑваÑÑ ÐºÐ°Ðº ÑкземплÑÑ Product
, даже еÑли оно пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑаÑÑие в дÑÑгиÑ
обÑÑвлениÑÑ
(или ÑÑойкаÑ
, triples) â ÑÑо клÑÑевой моменÑ, коÑоÑÑй бÑÐ´ÐµÑ ÑаÑÑмоÑÑен более подÑобно позже в конÑекÑÑе логиÑеÑкого вÑвода Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ OWL.
Таким обÑазом, пÑоÑÑÑе знаÑениÑ, Ñакие как ÑенÑ, в RDF назÑваÑÑÑÑ Ð»Ð¸ÑеÑалами, и лиÑеÑÐ°Ð»Ñ Ð¾ÑноÑÑÑÑÑ Ðº ÑÐ¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ
XML Schema, ÑÐ°ÐºÐ¾Ð¼Ñ ÐºÐ°Ðº xsd:string
или xsd:float
. Ðожно накладÑваÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð½Ð° знаÑÐµÐ½Ð¸Ñ ÑвойÑÑв Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð²ÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ rdfs:range
. СвойÑÑво Ð¼Ð¾Ð¶ÐµÑ Ð² каÑеÑÑве диапазона пÑинимаемÑÑ
знаÑений имеÑÑ Ð»Ð¸Ð±Ð¾ Ñип даннÑÑ
XML Schema, либо клаÑÑ. СвойÑÑва Ñ ÐºÐ»Ð°ÑÑами в каÑеÑÑве диапазона можно ÑопоÑÑавиÑÑ Ð¾ÑноÑениÑм в обÑекÑно-оÑиенÑиÑованнÑÑ
ÑзÑкаÑ
. ÐапÑимеÑ, еÑли ÑвойÑÑво hasCustomer
Ð¸Ð¼ÐµÐµÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ Customer, Ñо вÑе знаÑÐµÐ½Ð¸Ñ ÑвойÑÑва Ð´Ð¾Ð»Ð¶Ð½Ñ ÑвлÑÑÑÑÑ Ð¿Ð¾ÐºÑпаÑелÑми. Ðодобно вÑÑажениÑм доменов, вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð² могÑÑ Ð¸Ð½ÑеÑпÑеÑиÑоваÑÑÑÑ Ð¸ дÑÑгим пÑÑÑм: еÑли Ð¼Ñ Ð·Ð½Ð°ÐµÐ¼, ÑÑо ÑеÑÑÑÑ ÑооÑнеÑÑн Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑвойÑÑва hasCustomer
, Ñо Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ ÑделаÑÑ ÑмозаклÑÑение, ÑÑо ÑеÑÑÑÑ ÑвлÑеÑÑÑ ÑакÑиÑеÑки Customer
, даже еÑли Ñ Ð½ÐµÐ³Ð¾ еÑÑÑ Ð´ÑÑгие ÑипÑ.
Ðак бÑло показано в пÑедÑдÑÑÐ¸Ñ ÑÐ°Ð·Ð´ÐµÐ»Ð°Ñ , RDF Schema пÑедÑÑавлÑÐµÑ Ñобой пÑоÑÑой ÑзÑк моделиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑедмеÑной облаÑÑи, ÑÑ Ð¾Ð¶Ð¸Ð¹ Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑми ÑзÑками. ÐÑ Ð¼Ð¾Ð¶ÐµÑе опÑеделÑÑÑ ÐºÐ»Ð°ÑÑÑ Ð¸ Ð¸Ñ ÑвойÑÑва, а заÑем ÑоздаваÑÑ ÑкземплÑÑÑ ÑÑÐ¸Ñ ÐºÐ»Ð°ÑÑов. ÐÑо бÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ Ð´Ð»Ñ ÑазлиÑнÑÑ Ñелей. Тем не менее, во Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð¿ÑикладнÑÑ Ð¾Ð±Ð»Ð°ÑÑÑÑ Ð²ÑÑазиÑелÑноÑÑи одной лиÑÑ RDF Schema оказÑваеÑÑÑ Ð½ÐµÐ´Ð¾ÑÑаÑоÑно. ÐапÑимеÑ, RDF Schema не Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÑазиÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð¼Ð¾ÑноÑÑи множеÑÑва, Ñак ÑÑÐ¾Ð±Ñ Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пÑодÑкÑа бÑла ÑолÑко одна Ñена.
ЯзÑк веб-онÑологий (Web Ontology Language, OWL) [OWL 2004] ÑаÑÑиÑÑÐµÑ RDF ÑÑ ÐµÐ¼Ñ Ð¸ иÑполÑзÑÐµÑ Ñакой же RDF-ÑинÑакÑÐ¸Ñ Ð¸ его базовÑÑ Ð³ÑаммаÑикÑ. OWL добавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð²ÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии о Ñ Ð°ÑакÑеÑиÑÑÐ¸ÐºÐ°Ñ ÑвойÑÑв и опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑов пÑÑÑм гÑÑппиÑовки ÑÐµÑ ÑкземплÑÑов, коÑоÑÑе ÑооÑвеÑÑÑвÑÑÑ ÑÑим Ñ Ð°ÑакÑеÑиÑÑикам. ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð»ÑÑÑе ÑÑо понимаÑÑ, важно помниÑÑ, ÑÑо клаÑÑÑ Ð² OWL ÑвлÑÑÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑвами акÑиом. Ðак показано на ÑиÑÑнке 3, ÑÑи множеÑÑва могÑÑ Ð¿ÐµÑеÑекаÑÑÑÑ Ð¸ ÑодеÑжаÑÑ Ð´ÑÑгие множеÑÑва.
РиÑÑнок 3: ÐлаÑÑÑ Ð² OWL могÑÑ ÑаÑÑмаÑÑиваÑÑÑÑ ÐºÐ°Ðº множеÑÑва ÑÑÑноÑÑей Ñ Ð¾Ð±Ñими Ñ Ð°ÑакÑеÑиÑÑиками.
ÐÑÑг Ñлева на ÑиÑÑнке 3 опиÑÑÐ²Ð°ÐµÑ ÐºÐ»Ð°ÑÑ Ð²ÑÐµÑ Ð²ÐµÑей, беÑÑÑÐ¸Ñ ÑÐ²Ð¾Ñ Ð½Ð°Ñало в ÐвÑÑÑалии. ÐÑÑг ÑпÑава пÑедÑÑавлÑÐµÑ Ð²Ñе ÑкземплÑÑÑ ÐºÐ»Ð°ÑÑа «пÑодÑкÑ». СледоваÑелÑно, пеÑеÑеÑение двÑÑ Ð±Ð¾Ð»ÑÑÐ¸Ñ ÐºÑÑгов пÑедÑÑавлÑÐµÑ Ñобой клаÑÑ Ð²ÑÐµÑ ÑкземплÑÑов, коÑоÑÑе ÑвлÑÑÑÑÑ Ð¿ÑодÑкÑами и в Ñо же вÑÐµÐ¼Ñ Â«Ð¸Ð· ÐвÑÑÑалии», Ñ.е. вÑе авÑÑÑалийÑкие пÑодÑкÑÑ. Ðак показано маленÑким кÑÑгом внÑÑÑи кÑÑга пÑодÑкÑов, клаÑÑ ÑÐµÑ Ð¿ÑодÑкÑов, коÑоÑÑе заказал кÑо-Ñо из ÐеÑмании, ÑвлÑеÑÑÑ Ð¿Ð¾Ð´Ð¼Ð½Ð¾Ð¶ÐµÑÑвом вÑÐµÑ Ð¿ÑодÑкÑов. ÐаконеÑ, множеÑÑво вÑÐµÑ Ð°Ð²ÑÑÑалийÑÐºÐ¸Ñ Ð¿ÑодÑкÑов, коÑоÑÑе Ð·Ð°ÐºÐ°Ð·Ð°Ð½Ñ ÐºÐµÐ¼-Ñо из ÐеÑмании, пÑедÑÑавлено пеÑеÑеÑением вÑÐµÑ ÐºÐ»Ð°ÑÑов.
Ðе бÑдем забÑваÑÑ Ð¾ Ñом, ÑÑо ÑвойÑÑва в RDF/OWL не завиÑÑÑ Ð¾Ñ Ð¾ÑделÑнÑÑ
клаÑÑов и могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² неÑколÑкиÑ
меÑÑаÑ
. ÐапÑимеÑ, ÑвойÑÑво hasOrigin
могло Ð±Ñ Ð±ÑÑÑ Ð¸ÑполÑзовано Ð´Ð»Ñ Ð¿ÑодÑкÑов, лÑдей, покÑпаÑелей, мÑзÑки или Ñего Ñгодно. ÐÑедполагаÑ, ÑÑо Australia
где-Ñо опÑеделена как ÑкземплÑÑ ÐºÐ»Ð°ÑÑа Country
, кÑо-Ñо мог Ð±Ñ ÑепеÑÑ Ð¸ÑполÑзоваÑÑ OWL, ÑÑÐ¾Ð±Ñ ÑоÑмалÑно опÑеделиÑÑ ÐºÐ»Ð°ÑÑ Ð²ÑеÑ
веÑей, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ
ÑвойÑÑво hasOrigin
Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение Australia
. Тогда вÑе ÑкземплÑÑÑ, опÑеделÑннÑе кем-либо еÑÑ, могÑÑ Ð±ÑÑÑ ÐºÐ»Ð°ÑÑиÑиÑиÑÐ¾Ð²Ð°Ð½Ñ Ð² ÑооÑвеÑÑÑвии Ñ ÑÑим опÑеделением.
ÐÐ»ÐµÐ¼ÐµÐ½Ñ ÑзÑка OWL, иÑполÑзÑемÑй Ð´Ð»Ñ Ð²ÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑакиÑ
опÑеделений, назÑваеÑÑÑ Ð¾Ð³ÑаниÑение (restriction). ÐгÑаниÑение опиÑÑÐ²Ð°ÐµÑ ÐºÐ»Ð°ÑÑ Ð²ÑеÑ
ÑкземплÑÑов, ÑвойÑÑво коÑоÑÑÑ
ÑдовлеÑвоÑÑÐµÑ Ð½ÐµÐºÐ¾ÑоÑÐ¾Ð¼Ñ ÐºÐ¾Ð½ÐºÑеÑÐ½Ð¾Ð¼Ñ ÑÑловиÑ. Ð OWL еÑÑÑ ÑазлиÑнÑе ÑÐ¸Ð¿Ñ Ð¾Ð³ÑаниÑений. РпÑиведÑнном вÑÑе пÑимеÑе Ñ Ð½Ð°Ñ ÐµÑÑÑ Ñак назÑваемое огÑаниÑение имееÑÐнаÑение (hasValue
), коÑоÑое ÑвÑзÑÐ²Ð°ÐµÑ ÑвойÑÑво Ñ ÐºÐ¾Ð½ÐºÑеÑнÑм индивидом. ÐÑÑгие ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ð³ÑаниÑиваÑÑ Ð¼Ð¾ÑноÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑва Ð´Ð»Ñ ÑвойÑÑва, напÑимеÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑеделиÑÑ ÐºÐ»Ð°ÑÑ Ð²ÑеÑ
веÑей, Ñ ÐºÐ¾ÑоÑÑÑ
еÑÑÑ Ð¿Ð¾ менÑÑей меÑе два знаÑÐµÐ½Ð¸Ñ ÑвойÑÑва hasOrigin
.
Рданной ÑÑаÑÑе вдаваÑÑÑÑ Ð² подÑобноÑÑи огÑаниÑений не обÑзаÑелÑно. ÐлÑÑÐµÐ²Ð°Ñ Ñила OWL заклÑÑаеÑÑÑ Ð² Ñом, ÑÑо клаÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¾Ð¿ÑеделÑÑÑÑÑ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñией неÑколÑÐºÐ¸Ñ Ð¾Ð³ÑаниÑений и дÑÑÐ³Ð¸Ñ ÐºÐ»Ð°ÑÑов. ÐÐ»Ñ ÑÑÐ¸Ñ Ñелей OWL пÑедоÑÑавлÑÐµÑ Ð»Ð¾Ð³Ð¸ÑеÑкие опеÑаÑоÑÑ Ð´Ð»Ñ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ð¸Ñ Ð¿ÐµÑеÑеÑений (и), обÑединений (или) и дополнений (не) дÑÑÐ³Ð¸Ñ ÐºÐ»Ð°ÑÑов. ÐапÑимеÑ, Ð²Ñ Ð¼Ð¾Ð³Ð»Ð¸ Ð±Ñ Ð¾Ð¿ÑеделиÑÑ Â«ÐºÐ»Ð°ÑÑ Ð²ÑÐµÑ Ð¿Ð¾ÐºÑпаÑелей из ФÑанÑии, коÑоÑÑе заказали не менее 3 покÑпок или Ñделали по менÑÑей меÑе один заказ, ÑоÑÑоÑÑий ÑолÑко из книг, за иÑклÑÑением ÑÐµÑ Ð¿Ð¾ÐºÑпаÑелей, коÑоÑÑе заказали DVD».
РобÑекÑно-оÑиенÑиÑованнÑÑ ÑиÑÑÐµÐ¼Ð°Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñе вÑÑказÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑÑно бÑли Ð±Ñ ÑпÑÑÑÐ°Ð½Ñ Ð³Ð´Ðµ-Ñо внÑÑÑи Ñамого кода. РонÑологиÑÑ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð»Ð¾Ð³Ð¸ÑеÑкие оÑноÑÐµÐ½Ð¸Ñ Ð´ÐµÐ»Ð°ÑÑÑÑ ÑвнÑми ÑеÑез опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ OWL-клаÑÑов и дÑÑгие ÑоÑмалÑнÑе вÑÑказÑваниÑ. ÐÑо не ÑолÑко облегÑÐ°ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑм моделей понимание ÑпеÑиалÑного ÑмÑÑла, но Ñакже ознаÑаеÑ, ÑÑо и дÑÑгие инÑÑÑÑменÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿ÑозÑаÑно иÑполÑзоваÑÑ ÑÑи опÑеделениÑ. OWL-модели пÑоÑÑо обÑÑвлÑÑÑ Ð²ÐµÑи, а обÑзанноÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ°ÐºÐ¾Ð¹-либо полезной ÑабоÑÑ Ñ ÑÑими обÑÑвлениÑми Ð»ÐµÐ¶Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾ÑÑÑÑ Ð½Ð° плеÑÐ°Ñ Ð¿Ñиложений.
ÐекоÑоÑÑе пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑ Ð´ÑÑгие инÑÑÑÑменÑÑ Ð´Ð»Ñ Ð¾Ð±ÑабоÑки и анализа OWL-моделей. Ðдно из ÑемейÑÑв ÑÐ°ÐºÐ¸Ñ Ð¸Ð½ÑÑÑÑменÑов назÑваеÑÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð°Ð¼Ð¸ ÑаÑÑÑждений (reasoners). ÐÐµÑ Ð°Ð½Ð¸Ð·Ð¼ ÑаÑÑÑждений â ÑÑо ÑлÑжба, коÑоÑÐ°Ñ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð²ÑÑказÑваниÑ, заклÑÑÑннÑе (ÑÑвеÑждаемÑе) в онÑологии и вÑÐ²Ð¾Ð´Ð¸Ñ (ÑмозаклÑÑаеÑ) из Ð½Ð¸Ñ Ð½Ð¾Ð²Ñе вÑÑказÑваниÑ. Ð ÑаÑÑноÑÑи, блоки ÑÑждений OWL могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ:
ÐÑак, подÑ
одÑÑий пÑÐ¸Ð¼ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÑоÑмÑлиÑоваÑÑ ÑледÑÑÑим обÑазом: пÑедÑÑавÑÑе, ÑÑо Ð²Ñ Ð¾Ð¿Ñеделили клаÑÑ DutyFreeOrder
, коÑоÑÑй ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· вÑеÑ
PurchaseOrder
, коÑоÑÑе бÑли Ð·Ð°ÐºÐ°Ð·Ð°Ð½Ñ Ð¿Ð¾ÐºÑпаÑелÑми, коÑоÑÑе пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð°Ñ Ðº множеÑÑÐ²Ñ Ð¿Ð¾ÐºÑпаÑелей, живÑÑиÑ
в ÑÑÑане Ñвободной ÑоÑговли. ТепеÑÑ Ð¿ÑедÑÑавÑÑе, ÑÑо новÑй полÑзоваÑÐµÐ»Ñ Ð²Ñ
Ð¾Ð´Ð¸Ñ Ð² онлайн-магазин и наÑÐ¸Ð½Ð°ÐµÑ ÐºÐ»Ð°ÑÑÑ Ð¿ÑедмеÑÑ Ð² ÑÐ²Ð¾Ñ Ð¿Ð¾ÑÑебиÑелÑÑкÑÑ ÐºÐ¾ÑзинÑ. ÐнÑÑÑи ÑиÑÑÐµÐ¼Ñ Ð¼Ñ Ñоздадим пÑÑÑÑе ÑкземплÑÑÑ ÐºÐ»Ð°ÑÑов Customer
и PurchaseOrder
. Ðозже, когда полÑзоваÑÐµÐ»Ñ Ð¿ÐµÑеÑ
Ð¾Ð´Ð¸Ñ Ðº вÑпиÑÑÐ²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÐºÑпки и Ð²Ð²Ð¾Ð´Ð¸Ñ Ñвой адÑÐµÑ Ð´Ð¾ÑÑавки, Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ попÑоÑиÑÑ Ð±Ð»Ð¾Ðº ÑаÑÑÑждений клаÑÑиÑиÑиÑоваÑÑ ÑÑÐ¾Ñ PurchaseOrder
. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð½Ð°Ð¼ опÑеделиÑÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ ÑпеÑиÑиÑнÑй клаÑÑ, к коÑоÑÐ¾Ð¼Ñ Ð¾ÑноÑиÑÑÑ ÑаÑÑнÑй заказ (в данном ÑлÑÑае ÑÑо DutyFreeOrder
). Ð¢Ð¾Ñ ÑакÑ, ÑÑо ÑепеÑÑ Ñ Ð½Ð°Ñ Ð¸Ð¼ÐµÐµÑÑÑ Ð±ÐµÑпоÑлиннÑй заказ, бÑÐ´ÐµÑ Ð¾Ð¿ÑеделÑÑÑим Ð´Ð»Ñ Ð´Ð°Ð»ÑнейÑего жизненного Ñикла ÑÑого обÑекÑа, поÑколÑÐºÑ Ð»Ð¾Ð³Ð¸ÐºÐ° пÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе пÑедмеÑнÑе Ð·Ð½Ð°Ð½Ð¸Ñ Ð¾ беÑпоÑлиннÑÑ
заказаÑ
.
РоÑлиÑие Ð¾Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑÑ ÑиÑÑем, в коÑоÑÑÑ Ð¾Ð±ÑекÑÑ Ð¾Ð±ÑÑно не могÑÑ Ð¼ÐµÐ½ÑÑÑ Ñвой Ñип, пÑиложениÑ, поÑÑÑоеннÑе на оÑнове ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ ÑеманÑиÑеÑкой паÑÑинÑ, могÑÑ ÑледоваÑÑ ÑоÑмалÑной и в Ñо же вÑÐµÐ¼Ñ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑкой ÑиÑÑеме Ñипов. ÐлаÑÑÑ RDF и OWL Ñакже динамиÑеÑкие Ñами по Ñебе, можно ÑоздаваÑÑ Ð¸Ñ Ð¸ манипÑлиÑоваÑÑ Ð¸Ð¼Ð¸ во вÑÐµÐ¼Ñ Ð²ÑполнениÑ. ÐапÑимеÑ, можно бÑло Ð±Ñ Ð¾Ð¿ÑеделиÑÑ Ð²ÑеменнÑй клаÑÑ, ÑоÑмалÑно пÑедÑÑавленнÑй в виде OWL-вÑÑажениÑ, а заÑем ÑпÑоÑиÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ ÑаÑÑÑждений об ÑкземплÑÑÐ°Ñ ÑÑого клаÑÑа. ÐÑо ознаÑаеÑ, ÑÑо Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ñ ÑаÑÑÑждений можно ÑÑавниÑÑ Ñ ÑаÑÑиÑеннÑми ÑиÑÑемами оÑвеÑов на запÑоÑÑ. ÐÑи запÑоÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаваÑÑ Ð½Ðµ ÑолÑко во вÑÐµÐ¼Ñ Ð¿ÑоекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð½Ñологий, но и во вÑÐµÐ¼Ñ Ð¸ÑполнениÑ.
3.3 СÑавнение OWL/RDF Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑми ÑзÑкамиÐÐ¾Ð´Ð²Ð¾Ð´Ñ Ð¸Ñог Ð²Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð² RDF и OWL, ÑледÑÑÑÐ°Ñ ÑаблиÑа показÑÐ²Ð°ÐµÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ важнÑе ÑазлиÑÐ¸Ñ Ð¸ ÑÑ Ð¾Ð´ÑÑва Ð¼ÐµÐ¶Ð´Ñ ÑзÑками ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¸ обÑекÑно-оÑиенÑиÑованнÑми ÑзÑками:
ÐбÑекÑно-оÑиенÑиÑованнÑе ÑзÑки
OWL и RDF
Ðодели пÑедмеÑной облаÑÑи ÑоÑÑоÑÑ Ð¸Ð· клаÑÑов, ÑвойÑÑв и ÑкземплÑÑов (индивидов). ÐлаÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ð² иеÑаÑÑ Ð¸Ð¸ подклаÑÑов Ñ Ð¿Ñименением наÑледованиÑ. СвойÑÑва могÑÑ Ð¿ÑинимаÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð² виде обÑекÑов или пÑимиÑивов (лиÑеÑалов).
ÐлаÑÑÑ Ð¸ ÑкземплÑÑÑ
СвойÑÑва, аÑÑибÑÑÑ Ð¸ знаÑениÑ
Ð Ð¾Ð»Ñ Ð² пÑоÑеÑÑе пÑоекÑиÑованиÑ
ÐÑоÑие оÑобенноÑÑи
Ðногие ÑовÑеменнÑе пÑогÑаммнÑе аÑÑ Ð¸ÑекÑÑÑÑ ÑоÑÑоÑÑ Ð¸Ð· обÑекÑно-оÑиенÑиÑованнÑÑ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñов, ÑеализованнÑÑ Ð½Ð° оÑновнÑÑ ÑзÑÐºÐ°Ñ Ð¿ÑогÑаммиÑованиÑ, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Java или C#. Ð ÑиÑÑÐµÐ¼Ð°Ñ Ñ ÑолÑÑÑм клиенÑом болÑÑÐ°Ñ ÑаÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого инÑеÑÑейÑа и ÑпÑавлÑÑÑего кода бÑÐ´ÐµÑ Ð½Ð°Ð¿Ð¸Ñана Ñ Ð¸ÑполÑзованием обÑекÑно-оÑиенÑиÑованнÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек наподобие Swing или SWT. РклиенÑ-ÑеÑвеÑной конÑигÑÑаÑии, ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполнÑÑÑ Enterprise JavaBeans (EJB), коÑоÑÑе ÑообÑаÑÑÑÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ даннÑÑ Ð¸ дÑÑгими ÑеÑÑÑÑами. Рвеб-ÑеÑвиÑÐ°Ñ Ð±Ð¾Ð»ÑÑинÑÑво ÑпÑавлÑÑÑей логики бÑÐ´ÐµÑ Ñеализовано Ñ Ð¿Ñименением импеÑаÑивнÑÑ , обÑекÑно-оÑиенÑиÑованнÑÑ Ð¼ÐµÑодов.
ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð²Ð¾ÑполÑзоваÑÑÑÑ Ð¿ÑеимÑÑеÑÑвами ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð² конÑекÑÑе ÑÐ°ÐºÐ¸Ñ Ð¾ÑнованнÑÑ Ð½Ð° обÑекÑÐ°Ñ ÑиÑÑем, аÑÑ Ð¸ÑекÑоÑам пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ Ð½Ñжно понимаÑÑ ÑÐ°Ð±Ð»Ð¾Ð½Ñ Ð¿ÑоекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑÑÑаÑегии Ð´Ð»Ñ Ð±ÐµÑÑовной инÑегÑаÑии ÑÑÐ¸Ñ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¹. Ðока Ð¼Ñ ÑолÑко наÑинаем понимаÑÑ Ð·Ð½Ð°Ñение ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð´Ð»Ñ Ð¿ÑоекÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑиÑÑем и пÑогÑаммного обеÑпеÑениÑ, наÑинаÑÑ Ð¿Ð¾ÑвлÑÑÑÑÑ Ð¼Ð½Ð¾Ð³Ð¸Ðµ пеÑÑпекÑивнÑе ÑеÑениÑ-кандидаÑÑ, вклÑÑÐ°Ñ Ð¿ÑогÑаммнÑе инÑеÑÑейÑÑ Ð¸ генеÑаÑоÑÑ ÐºÐ¾Ð´Ð°. Рданном Ñазделе Ð¼Ñ Ñделаем Ð¾Ð±Ð·Ð¾Ñ ÑоÑÑоÑÐ½Ð¸Ñ Ð´ÐµÐ» (на Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑÑой замеÑки) в оÑнованной на онÑологиÑÑ ÑазÑабоÑке пÑогÑаммного обеÑпеÑениÑ, а Ñакже обÑÑдим некоÑоÑÑе конÑепÑии, заложеннÑе в ÐµÑ ÑÑндаменÑе.
ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°ÑÑ Ð°ÑÑ Ð¸ÑекÑÑÑÑ, оÑнованнÑе на онÑологиÑÑ , нÑжно помниÑÑ, ÑÑо в ÑзÑÐºÐ°Ñ Ð¾Ð½Ñологий:
ÐÑи клÑÑевÑе ÑазлиÑÐ¸Ñ Ð¾Ð·Ð½Ð°ÑаÑÑ, ÑÑо недоÑÑаÑоÑно пÑоÑÑо ÑпÑоеÑиÑоваÑÑ ÐºÐ»Ð°ÑÑÑ OWL/RDF Schema на обÑекÑно-оÑиенÑиÑованнÑе клаÑÑÑ, в коÑоÑÑÑ Ð°ÑÑибÑÑÑ Ð¿ÑикÑÐµÐ¿Ð»ÐµÐ½Ñ Ðº клаÑÑам и Ñ.д. ÐмеÑÑо ÑÑого, еÑли пÑиложение Ñ Ð¾ÑÐµÑ Ð²Ð¾ÑполÑзоваÑÑÑÑ Ñлабой ÑипизаÑией и гибкоÑÑÑÑ OWL/RDF Schema, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑпÑоеÑиÑоваÑÑ ÐºÐ»Ð°ÑÑÑ OWL/RDF Schema в обÑекÑÑ Ð²Ñемени вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñаким обÑазом, ÑÑÐ¾Ð±Ñ ÐºÐ»Ð°ÑÑÑ Ð² онÑологии ÑÑали ÑкземплÑÑами некоÑоÑÑÑ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑÑ ÐºÐ»Ð°ÑÑов (ÑÑавниÑе Ñакже [G 2003] и [KPBP 2004]). Ðак показано на ÑиÑÑнке 4, ÑипиÑÐ½Ð°Ñ Ð¾Ð±ÑекÑÐ½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð½Ñологий ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ ÑодеÑжала Ð±Ñ ÐºÐ»Ð°ÑÑÑ Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑеÑÑÑÑов, клаÑÑов, ÑвойÑÑв и индивидов. ÐбÑаÑиÑе внимание, ÑÑо клаÑÑÑ RDFSClass и RDFProperty оÑноÑÑÑÑÑ Ðº клаÑÑам rdfs:Class и rdfs:Property, опÑеделÑннÑм в RDF Schema, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº RDFIndividual не Ð¸Ð¼ÐµÐµÑ Ð¿ÑÑмого аналога в RDFSchema.
Ðегко пÑедÑÑавиÑÑ Ð´Ð°Ð»ÑнейÑие ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑазлиÑнÑÑ Ñипов OWL-клаÑÑов (полнÑÑ Ð¾Ð±ÑекÑнÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ OWL ÑмоÑÑиÑе в Protege OWL Diagram).
РиÑÑнок 4: ÐÑоÑÑÐ°Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð´Ð»Ñ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð½Ñологий RDF Schema.
ÐÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð±ÑдÑÑ Ð·Ð°Ð³ÑÑжаÑÑ Ð¾Ð½Ñологии в ÑакÑÑ Ð¾Ð±ÑекÑнÑÑ Ð¼Ð¾Ð´ÐµÐ»Ñ Ð¸ заÑем манипÑлиÑоваÑÑ Ð¾Ð±ÑекÑами и запÑаÑиваÑÑ Ð¸Ñ Ð²Ð¾ вÑÐµÐ¼Ñ Ð²ÑполнениÑ. ÐоÑколÑÐºÑ ÐºÐ»Ð°ÑÑÑ OWL/RDF Schema ÑвлÑÑÑÑÑ Ð¾Ð±ÑекÑами, возможно добавлÑÑÑ Ð¸ модиÑиÑиÑоваÑÑ Ð¸Ñ , напÑимеÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ Ð»Ð¾Ð³Ð¸ÑеÑкие Ñ Ð°ÑакÑеÑиÑÑики онÑологии во вÑÐµÐ¼Ñ Ð²ÑполнениÑ. ÐоÑколÑÐºÑ RDF-ÑвойÑÑва ÑвлÑÑÑÑÑ Ð¾Ð±ÑекÑами (и Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð½Ðµ Ñ ÑанÑÑÑÑ ÐºÐ°Ðº обÑекÑно-оÑиенÑиÑованнÑе аÑÑибÑÑÑ), ÑÑановиÑÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм пÑиÑваиваÑÑ Ð¸ запÑаÑиваÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð»ÑбÑÑ ÑеÑÑÑÑов динамиÑеÑки. ÐоÑколÑÐºÑ Ð¸Ð½Ð´Ð¸Ð²Ð¸Ð´Ñ ÑвлÑÑÑÑÑ Ð¾Ð±ÑекÑами, можно динамиÑеÑки менÑÑÑ Ð¸Ñ Ñип.
ÐÑÐ¾Ñ Ð¿Ð¾Ð´Ñ Ð¾Ð´ ÑвÑзан Ñ Ð¼ÐµÑодом ÑазÑабоÑки, извеÑÑнÑм в ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ пÑомÑÑленного пÑоизводÑÑва пÑогÑаммного обеÑпеÑÐµÐ½Ð¸Ñ ÐºÐ°Ðº Ñаблон динамиÑеÑкой обÑекÑной модели (Dynamic Object Model, DOM) [RTJ 2005]. ÐÐ»Ñ ÐºÐ¾Ð½ÐºÑеÑнÑÑ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑÑ ÑиÑÑем пÑедÑÑавление Ñипов обÑекÑов в виде обÑекÑов позволÑÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ð¸Ñ Ð²Ð¾ вÑÐµÐ¼Ñ ÐºÐ¾Ð½ÑигÑÑаÑии вÑполнениÑ, облегÑÐ°Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ и адапÑаÑÐ¸Ñ ÑиÑÑÐµÐ¼Ñ Ðº новÑм ÑÑебованиÑм.
Ð ÑообÑеÑÑве ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð½ÐµÑколÑко пÑогÑаммнÑÑ Ð¸Ð½ÑеÑÑейÑов ÑеализÑÑÑ ÑÑÐ¾Ñ Ñаблон. ÐопÑлÑÑнÑе библиоÑеки Ð´Ð»Ñ Java, C и PHP пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² ÐÑиложении. Рдополнение к инÑеÑÑейÑам динамиÑеÑкой обÑекÑной модели ÑÑи библиоÑеки пÑедоÑÑавлÑÑÑ Ð¿Ð°ÑÑеÑÑ, инÑеÑÑейÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² ÑаÑÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ пÑоÑие ÑазлиÑнÑе ÑеÑвиÑÑ Ð´Ð»Ñ Ð¾Ð±ÑабоÑки онÑологий. ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ñ Ð²Ð°Ñ Ð±Ñло пÑедÑÑавление об иÑполÑзовании ÑÐ°ÐºÐ¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñек, пÑиведÑм ÑледÑÑÑий кÑÑок кода на Java (меÑод, коÑоÑÑй ÑÑиÑÐ°ÐµÑ ÑÑÐ¼Ð¼Ñ Ð²ÑÐµÑ Ð¿Ð¾ÐºÑпок заданного полÑзоваÑелÑ):
public static float getPurchasesSum(RDFIndividual customer) { OWLModel owlModel = customer.getOWLModel(); float sum = 0; RDFProperty purchasesProperty = owlModel.getRDFProperty("purchases"); RDFProperty productProperty = owlModel.getRDFProperty("product"); RDFProperty priceProperty = owlModel.getRDFProperty("price"); Iterator purchases = customer.listPropertyValues(purchasesProperty); while(purchases.hasNext()) { RDFIndividual purchase = (RDFIndividual) purchases.next(); RDFIndividual product = (RDFIndividual) purchase.getPropertyValue(productProperty); Float price = (Float) product.getPropertyValue(priceProperty); sum += price.floatValue(); } return sum; }
ÐÑо обобÑÑннÑй и гибкий код, но в Ñо же вÑÐµÐ¼Ñ Ñ ÑÑого Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð° еÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе недоÑÑаÑки. ÐÑли клаÑÑÑ Ð¸ ÑвойÑÑва ÑвлÑÑÑÑÑ Ð¾Ð±ÑекÑами, Ñо пÑеимÑÑеÑÑва ÑиÑÑем Ñ ÑилÑной ÑипизаÑией не могÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð²Ð¾ вÑÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии. Таким обÑазом, ÑÑановиÑÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно неÑдобнÑм оÑÑÑеÑÑвлÑÑÑ Ð´Ð¾ÑÑÑп к знаÑениÑм ÑвойÑÑв, и код ÑÑановиÑÑÑ Ð¿ÐµÑегÑÑжен инÑÑаÑÑÑÑкÑÑÑнÑми вÑзовами доÑÑÑпа к ÑвойÑÑвам и Ñ.д. Ð ÑÐ¾Ð¼Ñ Ð¶Ðµ, доÑÑÑп к ÑеÑÑÑÑам оÑÑÑеÑÑвлÑеÑÑÑ Ð¿Ð¾ именам, закодиÑованнÑм в виде ÑÑÑок, Ñак ÑÑо болÑÑинÑÑво компилÑÑоÑов не могÑÑ Ð¿Ð¾Ð¼Ð¾ÑÑ Ñ Ð¾Ð±Ð½Ð°ÑÑжением оÑибок. С ÑоÑки зÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑекÑно-оÑиенÑиÑованной ÑеализаÑии, много более ÑдаÑÐ½Ð°Ñ ÑеализаÑÐ¸Ñ Ð¿ÑедÑÑавленного вÑÑе меÑода вÑглÑдела Ð±Ñ Ñак:
public class Customer extends RDFIndividual { public float getPurchasesSum() { float sum = 0; Iterator purchases = listPurchases(); while (purchases.hasNext()) { Purchase purchase = (Purchase) purchases.next(); Product product = purchase.getProduct(); sum += product.getPrice(); } return sum; } }
ÐмеÑÑо доÑÑÑпа к абÑÑÑакÑÐ½Ð¾Ð¼Ñ ÐºÐ»Ð°ÑÑÑ, ÑÐ°ÐºÐ¾Ð¼Ñ ÐºÐ°Ðº RDFIndividual
и RDFProperty
, Ð¼Ñ Ð±Ñ Ð¾ÑÑÑеÑÑвлÑли доÑÑÑп к ÑпеÑиалÑно ÑозданнÑм клаÑÑам, Ñаким как Purchase
и Product
. Ð ÑÑаÑÑÑÑ, возможно генеÑиÑоваÑÑ Ð¸ иÑполÑзоваÑÑ Ñакие клаÑÑÑ, не пÑиноÑÑ Ð² жеÑÑÐ²Ñ Ð¿ÑеимÑÑеÑÑва динамиÑеÑкой обÑекÑной модели. ÐенеÑаÑоÑÑ ÐºÐ¾Ð´Ð° могÑÑ Ð¿ÑинимаÑÑ RDF-ÑÑ
ÐµÐ¼Ñ Ð¸Ð»Ð¸ OWL-онÑÐ¾Ð»Ð¾Ð³Ð¸Ñ Ð½Ð° вÑ
оде и ÑоздаваÑÑ Ð¾Ð±ÑекÑно-оÑиенÑиÑованнÑе инÑеÑÑейÑÑ Ð¸ ÑеализаÑÐ¸Ñ Ð½Ð° вÑÑ
оде. СпиÑок некоÑоÑÑÑ
подÑ
одÑÑиÑ
генеÑаÑоÑов пÑедÑÑавлен в ÐÑиложении. РпÑедÑдÑÑем пÑимеÑе генеÑаÑÐ¾Ñ Ñоздал Ð±Ñ Java-инÑеÑÑÐµÐ¹Ñ Customer
, опÑеделÑÑÑий меÑÐ¾Ð´Ñ get и set Ð´Ð»Ñ ÑвойÑÑв, Ñ ÐºÐ¾ÑоÑÑÑ
Customer
Ñказан в каÑеÑÑве домена (напÑимеÑ, getEMail
и setEMail
). ÐÑи инÑеÑÑейÑÑ ÑвлÑÑÑÑÑ Ð¿Ð¾Ð´ÐºÐ»Ð°ÑÑами обобÑÑннÑÑ
клаÑÑов из пÑогÑаммного инÑеÑÑейÑа динамиÑеÑкой обÑекÑной модели (Ñакого, как RDFIndividual
). ÐÑо ознаÑаеÑ, ÑÑо ÑкземплÑÑÑ ÑÑиÑ
инÑеÑÑейÑов ÑвлÑÑÑÑÑ Â«Ð¾Ð±ÑÑнÑми» обÑекÑами RDFIndividual
, в Ñо вÑÐµÐ¼Ñ ÐºÐ°Ðº ÑгенеÑиÑованнÑе инÑеÑÑейÑÑ ÑабоÑаÑÑ Ð² каÑеÑÑве (необÑзаÑелÑного) пÑиÑпоÑобленного ÑÐ»Ð¾Ñ Ð¿Ð¾Ð²ÐµÑÑ
ниÑ
.
РиÑÑнок 5: Ðодели ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ ÐºÐ°Ðº ÑеÑез обобÑÑннÑе API, Ñак и Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑпеÑиÑиÑнÑÑ Ð´Ð»Ñ Ð¿ÑедмеÑной облаÑÑи клаÑÑов.
Ð¢Ð¾Ñ ÑакÑ, ÑÑо обÑекÑÑ Ð²Ñемени вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑвлÑÑÑÑÑ Ñакже ÑкземплÑÑами обобÑÑнного, динамиÑеÑкого API ознаÑаеÑ, ÑÑо ÑазÑабоÑÑики могÑÑ Ð¸ÑполÑзоваÑÑ Ð´Ð»Ñ ÑеализаÑии два ÑазлиÑнÑÑ
пÑогÑаммнÑÑ
инÑеÑÑейÑа в завиÑимоÑÑи Ð¾Ñ Ð·Ð°Ð´Ð°Ñи. ÐÐ»Ñ Ð¾Ð±ÑиÑ
ÑеÑвиÑов, ÑакиÑ
как поÑÑÑоение ÑÑждений, паÑÑинг, вÑполнение запÑоÑов и пÑовеÑка ввода, возможно повÑоÑно иÑполÑзоваÑÑ Ð¸Ð»Ð¸ пиÑаÑÑ ÐºÐ¾Ð´ Ð´Ð»Ñ API динамиÑеÑкой обÑекÑной модели (DOM). ÐбобÑÑннÑй код Ð¸Ð¼ÐµÐµÑ Ð¾Ð³ÑомнÑй поÑенÑиал Ð´Ð»Ñ Ð¿Ð¾Ð²ÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ пÑедполагаеÑ, ÑÑо вÑÑ Ð±Ð¾Ð»ÑÑе и болÑÑе Ñвободно доÑÑÑпнÑÑ
компоненÑов Ð´Ð»Ñ Ð¾Ð±ÑабоÑки RDF и OWL поÑвÑÑÑÑ Ð² бÑдÑÑем. ÐÑо замеÑание Ð¸Ð¼ÐµÐµÑ Ð½ÐµÐºÐ¾ÑоÑое знаÑение Ð´Ð»Ñ Ð¼ÐµÑодологии ÑазÑабоÑки ÑиÑÑем, оÑнованнÑÑ
на онÑологиÑÑ
. Ð ÑаÑÑноÑÑи, еÑли ÑÑÑеÑÑвÑÑÑ Ð¾Ð±Ñие компоненÑÑ Ð´Ð»Ñ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ð¸Ñ ÑÑждений и вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов, Ñо пÑоекÑиÑовÑикам ÐÐ ÑледÑÐµÑ ÐºÐ°Ðº можно болÑÑе инÑоÑмаÑии заклÑÑаÑÑ Ð² модели пÑедмеÑной облаÑÑи на RDF/OWL, повÑÑÐ°Ñ Ñаким обÑазом ÑÑÐ¾Ð²ÐµÐ½Ñ Ð°Ð±ÑÑÑакÑии в ÑÑой облаÑÑи Ð´Ð»Ñ Ð¿ÑоизволÑнÑÑ
ÑлÑжб. ÐапÑимеÑ, ÑÐ¾Ñ ÑакÑ, ÑÑо Ð·Ð°ÐºÐ°Ð·Ñ Ð¸Ð· ÑÑÑан Ñ ÑоглаÑением о беÑпоÑлинной ÑоÑговле не облагаÑÑÑÑ Ð¿Ð¾Ñлиной, мог бÑÑÑ Ñеализован внÑÑÑи Ñела меÑода, наподобие isDutyFree()
в клаÑÑе Java PurchaseOrder
. Ðднако ÑÑо Ñделало Ð±Ñ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñм иÑполÑзование обÑиÑ
блоков ÑаÑÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð°Ð²ÑомаÑиÑеÑкой клаÑÑиÑикаÑии заказа. Ðолее аккÑÑаÑнÑм ÑеÑением бÑло Ð±Ñ Ð¾Ð¿ÑеделиÑÑ Ð¿Ð¾Ð´ÐºÐ»Ð°ÑÑ DutyFreePurchaseOrder
в онÑологии OWL и ÑопÑоводиÑÑ ÐµÐ³Ð¾ вÑÑказÑваниÑми в диÑкÑипÑионной логике, коÑоÑÑе опÑеделÑÑÑ, каким обÑазом беÑпоÑлиннÑе Ð·Ð°ÐºÐ°Ð·Ñ Ð¾ÑлиÑаÑÑÑÑ Ð¾Ñ Ð¾ÑÑалÑнÑÑ
заказов. ÐоÑÑÑпноÑÑÑ Ð¿Ð¾Ð²ÑоÑно иÑполÑзÑемÑÑ
, обобÑÑннÑÑ
ÑеÑвиÑов ÑлÑÐ¶Ð¸Ñ ÑÑимÑлом к поÑÑÑÐ¾ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÐµÐ»ÐµÐ¹ пÑедмеÑной облаÑÑи Ñ Ñвной ÑеманÑикой.
ÐеÑмоÑÑÑ Ð½Ð° обеÑÐ°Ð½Ð¸Ñ ÑазÑабоÑки пÑогÑаммного обеÑпеÑениÑ, оÑнованного на онÑологиÑÑ , Ñакже важно понимаÑÑ, когда не ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ ÑÐµÑ Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ ÑеманÑиÑеÑкой паÑÑинÑ. ЧÑо наиболее важно, Ñ Ð¼Ð½Ð¾Ð³Ð¸Ñ Ð´Ð²Ð¸Ð¶ÐºÐ¾Ð² ÑаÑÑÑждений, ÑпомÑнÑÑÑÑ Ð² ÑÑом докÑменÑе, на даннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¸Ð¼ÐµÑÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ñ Ð¼Ð°ÑÑÑабиÑÑемоÑÑÑÑ Ð¸ пÑоизводиÑелÑноÑÑÑÑ. ÐлаÑÑиÑикаÑÐ¸Ñ Ð¿ÑоизволÑнÑÑ Ð¾Ð½Ñологий OWL DL Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑÑезвÑÑайно длиÑелÑной задаÑей и можеÑ, Ñаким обÑазом, огÑаниÑиÑÑ Ð¸ÑполÑзование клаÑÑиÑикаÑоÑов во вÑÐµÐ¼Ñ Ð²ÑполнениÑ. ÐÑоизводиÑелÑноÑÑÑ ÑвлÑеÑÑÑ Ð¼ÐµÐ½ÐµÐµ кÑиÑиÑеÑким ÑакÑоÑом, когда блоки ÑаÑÑÑждений иÑполÑзÑÑÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ ÑбоÑки онÑологии.
ÐÑÑгие пÑÐ¾Ð±Ð»ÐµÐ¼Ñ ÑеманÑиÑеÑкой паÑÑÐ¸Ð½Ñ Ð² Ñелом ÑвÑÐ·Ð°Ð½Ñ Ñ Ð¿Ñеделами повÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð½Ñологий. СÑÑоиÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑно незавиÑимÑе Ð¾Ñ Ð¿ÑедмеÑной облаÑÑи и пÑигоднÑе Ð´Ð»Ñ Ð¿Ð¾Ð²ÑоÑного иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð½Ñологии Ñложно. Ðолее Ñого, онÑологии заÑаÑÑÑÑ ÑÐ»Ð¾Ð¶Ð½Ñ Ð¸ доÑоги в поÑÑÑоении, а знаÑÐ¸Ñ Ð¿ÑедÑÑавлÑÑÑ Ñобой вложение, коÑоÑое многие компании-пÑоизводиÑели ÐРне ÑÑали Ð±Ñ Ð¿ÑоÑÑо загÑÑжаÑÑ Ð¸ делаÑÑ Ñвободно доÑÑÑпнÑми в СеÑи. ÐÑи пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð²ÑÑ Ð¾Ð´ÑÑ Ð·Ð° Ñамки ÑÑой ÑÑаÑÑи, но Ð¸Ñ Ð²Ð°Ð¶Ð½Ð¾ имеÑÑ Ð² Ð²Ð¸Ð´Ñ [BMT 2005].
ÐÑиложение: ÐÑда ÑледоваÑÑ Ð´Ð°Ð»ÐµÐµRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3