Semantic web, social media – SemantycznyWeb

Semantyczny serwis e-commerce (cz.1) – podstawy ontologii Good Relations

przez admin dnia lip.28, 2011, w Ogólnie

Sieciowa ontologia dla e-commerce  Good Relations zyskuje coraz większą popularność. Wyszukiwarka Google już oficjalnie od wielu miesięcy przedstawia w swoich SERP’ach dodatkowe opisy wykonane przy pomocy znaczników tej ontologii. W artykule tym opisana zostanie ona w dość przystępny dla każdego sposób. W kolejnych częściach opisany zostanie fikcyjny serwis typu e-commerce za pomocą tejże ontologii oraz pokazane zostaną przykładowe zapytania w języku SPARQL do tak stworzonej oferty…

Obecnie w sieci web istnieje, kilka ontologii tego typu jakimi są min. ontologie eClassOWL czy unspcOWL lecz głównym ich problemem jest to, że nie posiadają one najważniejszej cechy semantycznego e-commerce jaką jest możliwość wiązania danych z różnych źródeł. Konieczna jest możliwość wyrażania relacji biznesowych pomiędzy różnymi jednostkami. Trzeba móc budować bardziej złożone wyrażenia niż „Zasób A jest instancją produktu klasy TV Set”. Bardziej złożonym wyrażeniem jest zdanie, które mówi o tym czy dana firma oferuje określony produkt na sprzedaż czy na wynajem. Dla kogo przeznaczona jest ta oferta ? Czy tylko dla ludzi z Polski czy również dla klientów z innych krajów. Czy odbiorca produktu jest osoba fizyczna,  pośrednik czy inny sprzedawca masowy ?

Sieciowa ontologia Good Relations opiera się na 26 założeniach funkcjonalnych, z których najważniejsze to:

  • Możliwość rozróżniania jednostek biznesowych, ofert, produktów oraz usług

Np. URI http://www.nokia.com/nokia4563 może opisywać zarówno model telefonu jak i ofertę sprzedaży tego modelu telefonu

  • Możliwość rozróżniania pomiędzy zasobami informacyjnymi czytelnymi dla człowieka  a określonymi obiektami różnych klas

Np. URI http://www.mediamarkt.pl może być zarówno stroną domową sklepu jak i opisem oferty tego sklepu możliwą do odczytania przez maszynę

  • Dostarczenie słownika dla określania różnych funkcji biznesowych np. sprzedaż, wynajem czy naprawa,
  • Możliwość przeprowadzania na ilościowych właściwościach produktów zapytań o przedziały np. telefon komórkowy ważący od 50 do 100 gram,
  • Możliwość określania różnych jednostek miar i ich konwersji pomiędzy miarami w różnych krajach,
  • Kompatybilność z podobnymi ontologiami tego typu np. eClassOWL,
  • Możliwość określania rynku docelowego dla produktu i obszarów geograficznych,
  • Możliwość określania metod płatności, form dostawy, warunków gwarancji itp.,
  • Możliwość wyrażania cen w różnych walutach,
  • Możliwość określania ważności trwania określonej oferty,
  • Możliwość określania kosztów zakupu i dostawy,
  • Dostarczenie informacji na temat tego czy dany produkt lub jego podzespół jest kompatybilny z innym produktem, lub też może być jego substytutem

Ontologia Good Relations składa się z 27 klas. Każda z nich charakteryzuje się właściwościami dla których dana klasa jest dziedziną (rdfs:domain) oraz właściwościami będącymi zakresem klasy (rdfs:range). Najważniejsze klasy ontologii Good Relations (ang. core classes) wymagające opisu to:

  • gr:BusinessEntity,
  • gr:Offering,
  • gr:ProductOrServiceModel,
  • gr:LocationOfSalesAndServiceProvisioning

Bazowy URI dla ontologii Good Relations to http://purl.org/goodrelations/v1. Wszystkie identyfikatory poszczególnych klas  wykorzystywane w semantycznym opisie serwisu e-Commerce muszą wykorzystać powyższy URI np. http://purl.org/goodrelations/v1#BusinessEntity.

Uproszczony diagram klas w języku UML ontologii, o której mowa zawierający 11 klas, wśród nich te najważniejsze wymienione powyżej, znajduje się na poniższym rysunku.

źródło: http://www.heppnetz.de/projects/goodrelations/

Instancja klasy gr:BusinessEntity, reprezentuje określony podmiot gospodarczy lub osobę prawną. Powinna ona zawierać przynajmniej dane kontaktowe. Adres jednostki opisywanej za pomocą właściwości tej klasy nie musi być adresem miejsca, z którego odbywa się fizyczna sprzedaż lub są świadczone jakieś usługi.

Do opisu adresu mogą być wykorzystywane np. znaczniki hCard (vCard). Właściwościami dla których ta klasa jest dziedziną to: gr:hasDUNS, gr:hasGlobalLocationNumber, gr:hasISICv4, gr:hasNAICS, gr:hasPOS, gr:legalName, gr:offers, gr:owns, gr:seeks. Właściwość, która może wskazywać na klasę tego typu jest właściwość gr:hasManufacturer.

Przykładowo za pomocą właściwości gr:legalName zapisanej w języku RDFa na stronie www można określić nazwę firmy:

<span property=”gr:legalName” content=”Microsoft Corporation” datatype=”xsd:string”/>

Właściwość gr:hasPos wskazuje miejsce sprzedaży lub świadczenia określonych ofert (gr:LocationOfSalesOrServiceProvisioning).

Klasa gr:Offering i jej właściwości reprezentują ofertę danej jednostki, a konkretnie chęć świadczenia lub szukania określonych funkcji biznesowych (gr:BusinessFunction) dla określonych produktów czy usług, w tym ofertę samych produktów czy usług. Tymi funkcjami mogą być: sprzedaż, naprawa czy wynajem. Za pomocą właściwości tej klasy można nie tylko opisywać wyżej wymienione elementy ale także wskazać na opis określonego produkty czy oferty znajdującej się na różnych stronach www, które z ekonomicznego punktu widzenia mogą podnosić ich jakość czy wartość użytkową np. „za pomocą mojego aparatu Sony 556X zrobiłem świetne zdjęcia” (gr:ActualProductOrServiceInstance).

Niektóre właściwości wchodzących w skład dziedziny opisywanej klasy to: gr:acceptedPaymentMethods, gr:availableAtOrFrom gr:availableDeliveryMethods, gr:condition, gr:eligibleCustomerTypes, gr:eligibleRegions,  gr:hasBusinessFunction, gr:hasEAN_UCC-13, gr:hasEligibleQuantity, gr:hasPriceSpecification, gr:hasWarrantyPromise, gr:includes, gr:serialNumber, gr:validFrom, gr:validThrough.

Właściwości, które mogą wskazywać na instancję klasy gr:Offering to: gr:addOn, gr:offers oraz gr:seeks. Przykładowo za pomocą właściwości gr:hasBusinessFunction klasy gr:Offering można zapisać fakt sprzedaży oprogramowania Windows XP przez dowolną firmę:

<div property=”rdfs:label” content=”Windows XP” xml:lang=”pl”></div>
<div property=”rdfs:comment” content=”System operacyjny Windows XP firmy Microsoft” xml:lang=”pl”></div>
<div rel=”gr:hasBusinessFunction” resource=”http://purl.org/goodrelations/v1#Sell”></div>

Klasa gr:ProductOrServiceModel jest klasą charakteryzujące grupy podobnych produktów będących najczęściej produktami sprzedaży masowej. Można to utożsamiać z modelem danego produktu np. Sony Ericsson W125 (nienamacalny obiekt). Klasa ta jest tak naprawdę podklasą klasy gr:ProductOrService.

W celu rozróżnienia sytuacji, w których chcemy opisać produkt o jakiejś nazwie, który jest produktem określonego modelu (np. posiada te same właściwości techniczne, ale różni się nazwą) można dany produkt z klasy gr:ActualProductOrServiceInstance powiązać właściwością gr:hasMakeAndModel.

Do opisu oferty typowych serwisów e-Commerce (np. sprzedaż jakiegoś produktu) w sieci używa się klasy gr:Offering, natomiast klasa gr:ProductOrServiceModel może opisywać model tegoż produktu. Nie jest więc ona wymagana w semantycznym opisie sklepu internetowego, gdyż opisuje ona obiekt abstrakcyjny (nienamacalny). Jej użycie może być bardziej przydatne np. w budowaniu ontologii przemysłowych gromadzących informacje o abstrakcyjnych modelach produktów.

Zapraszam do kolejnej części artykułu…

 

Instancja klasy gr:BusinessEntity, reprezentuje określony podmiot gospodarczy lub osobę prawną. Powinna ona zawierać przynajmniej dane kontaktowe. Adres jednostki opisywanej za pomocą właściwości tej klasy nie musi być adresem miejsca, z którego odbywa się fizyczna sprzedaż lub są świadczone jakieś usługi. Do opisu adresu mogą być wykorzystywane np. znaczniki hCard (vCard). Właściwościami dla których ta klasa jest dziedziną to: gr:hasDUNS, gr:hasGlobalLocationNumber, gr:hasISICv4, gr:hasNAICS, gr:hasPOS, gr:legalName, gr:offers, gr:owns, gr:seeks. Właściwość, która może wskazywać na klasę tego typu jest właściwość gr:hasManufacturer.

Przykładowo za pomocą właściwości gr:legalName zapisanej w języku RDFa na stronie www można określić nazwę firmy:

<span style="font-size: 12.0pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><span style="mso-tab-count: 1;">               </span></span><em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US; mso-bidi-font-weight: bold;" lang="EN-US">&lt;span</span></em><em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US;" lang="EN-US"> property="gr:legalName" content="Microsoft Corporation" datatype="xsd:string"<span style="mso-bidi-font-weight: bold;">/&gt;</span></span></em>

<em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US; mso-bidi-font-weight: bold;" lang="EN-US"> </span></em>

<em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black; mso-ansi-language: EN-US; mso-bidi-font-weight: bold;" lang="EN-US"><span style="mso-tab-count: 1;">               </span></span></em>

Właściwość gr:hasPos wskazuje miejsce sprzedaży lub świadczenia określonych ofert (gr:LocationOfSalesOrServiceProvisioning).

Klasa gr:Offering i jej właściwości reprezentują ofertę danej jednostki, a konkretnie chęć świadczenia lub szukania określonych funkcji biznesowych (gr:BusinessFunction) dla określonych produktów czy usług, w tym ofertę samych produktów czy usług. Tymi funkcjami mogą być: sprzedaż, naprawa czy wynajem. Za pomocą właściwości tej klasy można nie tylko opisywać wyżej wymienione elementy ale także wskazać na opis określonego produkty czy oferty znajdującej się na różnych stronach www, które z ekonomicznego punktu widzenia mogą podnosić ich jakość czy wartość użytkową np. „za pomocą mojego aparatu Sony 556X zrobiłem świetne zdjęcia” (gr:ActualProductOrServiceInstance).

Niektóre właściwości wchodzących w skład dziedziny opisywanej klasy to: gr:acceptedPaymentMethods, gr:availableAtOrFrom gr:availableDeliveryMethods, gr:condition, gr:eligibleCustomerTypes, gr:eligibleRegions, gr:hasBusinessFunction, gr:hasEAN_UCC-13, gr:hasEligibleQuantity, gr:hasPriceSpecification, gr:hasWarrantyPromise, gr:includes, gr:serialNumber, gr:validFrom, gr:validThrough.

Właściwości, które mogą wskazywać na instancję klasy gr:Offering to: gr:addOn, gr:offers oraz gr:seeks.

Przykładowo za pomocą właściwości gr:hasBusinessFunction klasy gr:Offering można zapisać fakt sprzedaży oprogramowania Windows XP przez dowolną firmę:

<em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US; mso-bidi-font-weight: bold;" lang="EN-US">…</span></em>

<em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US; mso-bidi-font-weight: bold;" lang="EN-US">&lt;div</span></em><em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US;" lang="EN-US"> property="rdfs:label" content="Windows XP" xml:lang="pl"<span style="mso-bidi-font-weight: bold;">&gt;&lt;/div&gt;</span></span></em>

<em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US; mso-bidi-font-weight: bold;" lang="EN-US"><span style="mso-tab-count: 1;">      </span>&lt;div</span></em><em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US;" lang="EN-US"> property="rdfs:comment" content="System operacyjny Windows XP firmy Microsoft" xml:lang="pl"<span style="mso-bidi-font-weight: bold;">&gt;&lt;/div&gt;</span></span></em>

<em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US; mso-bidi-font-weight: bold;" lang="EN-US">&lt;div</span></em><em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-ansi-language: EN-US;" lang="EN-US"> rel="gr:hasBusinessFunction" resource="http://purl.org/goodrelations/v1#Sell"<span style="mso-bidi-font-weight: bold;">&gt;&lt;/div&gt;</span></span></em>

<em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; color: black; mso-bidi-font-weight: bold;">…</span></em>

<em style="mso-bidi-font-style: normal;"><span style="font-size: 12.0pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black; mso-bidi-font-weight: bold;"> </span></em>

<span style="font-size: 12.0pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;; color: black;"> </span>

Klasa gr:ProductOrServiceModel jest klasą charakteryzujące grupy podobnych produktów będących najczęściej produktami sprzedaży masowej. Można to utożsamiać z modelem danego produktu np. Sony Ericsson W125 (nienamacalny obiekt). Klasa ta jest tak naprawdę podklasą klasy gr:ProductOrService.

W celu rozróżnienia sytuacji, w których chcemy opisać produkt o jakiejś nazwie, który jest produktem określonego modelu (np. posiada te same właściwości techniczne, ale różni się nazwą) można dany produkt z klasy gr:ActualProductOrServiceInstance powiązać właściwością gr:hasMakeAndModel.

:, , ,

Zostaw komentarz

Spam protection by WP Captcha-Free




Szukasz czegoś?

Użyj formularza:

Jeśli nadal nie możesz nic znaleźć, napisz do mnie!

Polecane strony