Transcript Slide 1

Semantiskais tīmeklis
–––––––––––––––––
Semantic Web
Andrejs Lesovskis
Lekcijas plāns
Ievads Semantiskajā tīmeklī
Semantiskā tīmekļa slāņu apskats
XML failu validēšanas pieejas
Document Type Definition (DTD)
XML Schema
DTD un XML Schema salīdzinājums
Ievads
Lekciju slaidus var atrast sekojošajā mājas
lapā:
http://www.cs.rtu.lv/ASTF/LDPPG/
lidzekli.htm
http://bit.ly/YWi8Jr
Sintakse un semantika (1)
Sintakse apraksta kā simbolu virkņu
kombinācijas var izmantot pareizi veidotu
(well-formed) izteikumu un programmu
izveidošanai.
Sintakse definē formālas attiecības starp
valodas sastāvdaļām.
Sintaksei nav nekādas saistības ar šo
simbolu jēgu.
Sintakse un semantika (2)
Semantika apraksta sintaktiski pareizu
valodas virkņu jēgu.
Dabīgu valodu gadījumā tas nozīmē
teikumu un frāžu korelāciju ar objektiem,
domām un jūtām.
Programmēšanas
valodā
semantika
apraksta datora uzvedību, kad tas izpilda
programmu, kas uzrakstīta, izmantojot
doto programmēšanas valodu.
Kas ir Semantiskais tīmeklis?
"Semantiskais tīmeklis ir pašreizējā
tīmekļa paplašinājums, kurā informācija
tiek
piedāvāta
ar
labi
definētiem
aprakstiem, lai datori un cilvēki varētu
efektīvāk strādāt kopā.
... datu, kurus tieši vai netieši var
apstrādāt datori, tīmeklis."
Tims Berners–Lī, Džeims Hendlers, Ora Lassila.
Semantiskais tīmeklis un globālais tīmeklis
Semantiskais tīmeklis un globālais tīmeklis
Semantic
Web and
Beyond
Users
Creators
applications
Semantic Web
content
agents
Semantic
Annotations
Ontologies
Logical Support
Languages
Tools
Applications /
Services
Semantic
Web
WWW
and
Beyond
Creators
Users
Web content
Resursu integrēšana
Semantiskās
anotācijas
Koplietojama
ontoloģija
Tīmekļa resursi,
servisi, datu bāzes
9
9
Resursu integrēšana
Industriālie un
biznesa procesi
Ārēji resursi
Tīmekļa resursi,
servisi, datu bāzes
Tīmekļa
lietotāji
Mobilās
ierīces
Koplietojama
ontoloģija
Multivides
resursi
Tīmekļa
aģenti/programmas
Mašīnas un
ierīces
10
Semantiskais tīmeklis un
semantiskais tīkls
Semantiskais tīmeklis un
semantiskais tīkls
Semantiskā tīmekļa izveidotājs
Semantiskā tīmekļa ideju
izvirzīja sers Tims BernersLī
(Sir
Timothy
John
Berners-Lee), kas arī ir
globālā tīmekļa (World Wide
Web jeb WWW) izveidotājs.
Berners-Lī ir World Wide
Web Consortium (W3C),
organizācijas, kas atbild par
globālā tīmekļa attīstību,
direktors.
Skatījumi par Semantisko tīmekli
Mašīnlasāmu datu skatījums
Intelektisko aģentu skatījums
Dalīto datu bāzu skatījums
"Cilvēku kalpa" skatījums
Labākās anotācijas skatījums
Automatizētas infrastruktūras skatījums
Uzlabotas meklēšanas skatījums
Tīmekļa servisu skatījums
Semantiskā tīmekļa slāni (1)
Semantiskā tīmekļa slāni (2)
URI and Unicode
XML (eXtensible Markup Language)
RDF (Resource Derscription Framework)
Ontology
Logic
Proof
Trust
User interface and applications
Semantiskā tīmekļa slāni (1)
Projekts OpenCalais (Thomson Reuters)
• Thomson Reuters projekts,
kas tika sākts 2008. gadā.
• Apstrādā neformatētu tekstu
un atgriež informāciju RDF
formātā.
• Izmanto dabiskās valodas
apstrādes
tehnoloģijas
(NLP).
• Serviss ir pieejams visiem
(indivīdiem un kompānijām)
un
to
var
izmantot
nekomerciāliem
un
komerciāliem nolūkiem.
Swoogle meklētājs
Projekts DBPedia.org (1)
Projekta mērķis ir izgūt strukturētus datus no
Wikipedia ("infobox"), pārveidot tos RDF
formātā un nodrošināt piekļuvi RDF datu
kopai ar SPARQL galapunktiem.
Izstrādē piedalās zinātnieki no Free
University of Berlin, University of Leipzig, un
OpenLink Software.
Izmantotas
tehnoloģijas:
Scala,
Java,
Virtuoso Universal Server.
Projekts DBPedia.org (2)
Projekts DBPedia.org (3)
Projekts DBPedia.org (4)
DBPedia projekta rezultāti:
Datu izgūšana no 97 valodām,
DBPedia apraksta vairāk nekā 3,5 miljonus
lietu (konceptu), 364000 cilvēkus, 462000
vietas, 99000 albumus, utt.,
Satur vairāk nekā 672 miljonus RDF
trijnieku,
Testi rāda 87% precizitāti,
Tika izveidota ļoti liela ontoloģija, kas
apraksta vairākus domēnus.
RDF Site Summary (RSS)
RSS
(Really
Simple
Syndication) ir vienkāršo
sindicēšanas
formātu
kopa.
Tiek
izmantots
blogos un portālos, lai
piegādātu
atsevišķas
tīmekļa satura vienības
kopā ar īsiem aprakstiem
un saitēm uz pilno saturu.
Really Simple Syndication (RSS)
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>RSS Title</title>
<description>This is an example of an RSS feed</description>
<link>http://www.someexamplerssdomain.com/main.html</link>
<lastBuildDate>Mon, 06 Sep 2010 00:01:00 +0000 </lastBuildDate>
<pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate>
<ttl>1800</ttl>
<item>
<title>Example entry</title>
<description>Here
description.</description>
is
some
text
containing
<link>http://www.wikipedia.org/</link>
<guid>unique string per item</guid>
<pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate>
</item>
</channel>
</rss>
an
interesting
URI un Unicode
Unicode - pasaules valodu rakstzīmju
kodēšanas sistēma
URI (Uniform Resource Identifier)
URL (Uniform Resource Locator)
http://www.google.com
mailto:[email protected]
URN (Uniform Resource Name)
Filmas "Spider-Man" URN ir
urn:isan:0000-0000-9E59-0000-O-0000-0000-2
Žurnāla "Science of Computer Programming" URN
urn:issn:0167-6423
XML (1)
XML (eXtensible Markup Language) ir atvērtās
specifikācijas iezīmēšanas valodu izveidošanai.
Iezīmēšanai izmanto tagus (birkas):
<taga_nosaukums>dati</taga_nosaukums>
Eksistē sekojošās lietojumprogrammu valodas:
Extensible Hypertext Markup Language
(XHTML),
Really Simple Syndication (RSS),
Mathematical Markup Language (MathML),
GraphML,
Scalable Vector Graphics (SVG),
MusicXML.
XML (2)
Piemēri:
<CATALOG>
<CD>
<TITLE></TITLE>
<ARTIST></ARTIST>
<COUNTRY></COUNTRY>
<COMPANY></COMPANY>
<YEAR></YEAR>
</CD>
</CATALOG>
…
<BREAKFAST_MENU>
<FOOD>
<NAME>BELGIAN WAFFLES</NAME>
<PRICE>$5.95</PRICE>
<DESCRIPTION>
TWO OF OUR FAMOUS BELGIAN WAFFLES WITH PLENTY OF REAL
MAPLE SYRUP
</DESCRIPTION>
<CALORIES>650</CALORIES>
</FOOD>
</BREAKFAST_MENU>
Scalable Vector Graphics (SVG)
Scalable Vector Graphics (SVG)
Simple Object Access Protocol (SOAP)
SOAP ir strukturētas informācijas apmaiņas
protokols, kas tiek izmantots tīmekļa
servisos.
SOAP 1.2 2007. gadā tika piešķirts W3C
rekomendācijas status.
SOAP aploksne
SOAP piemērs
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 299
SOAPAction: "http://www.w3.org/2003/05/soap-envelope"
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
</soap:Header>
<soap:Body>
<m:GetStockPrice xmlns:m="http://www.example.org/stock">
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
Web Services Description Language (WSDL)
Web Services Description Language ir XML-balstītā
valoda, kas apraksta tīmekļa servisus un kā šo
servisus var izsaukt.
WSDL 2.0 arī tika piešķirts rekomendācijas statuss
no W3C.
Web Services Description Language (WSDL)
Semantiskā tīmekļa servisa arhitektūra
Simple Semantic Web Architecture
and Protocol
Simple Semantic Web Architecture and Protocol (2)
SSWAP arhitektūru veido sekojošie pieci koncepti :
Piegādātājs (Provider) – parasti tas ir organizācija
vai uzņēmums, kuram pieder resurss un kas
publicē to;
Resurss (Resource) – resurss, kas tiek izmantots,
lai aprakstītu tīmekļa servisu (piemēram, tīmekļa
lappuse vai ontoloģija);
Grafs (Graph) – koncepts, kas grafa veidā
apraksta transformācijas, kuras veic serviss;
Subjekts (Subject) – ievaddati, kas tiek nodoti
servisam;
Objekts (Object) – izvaddati jeb servisa izpildes
rezultāts.
Document Type Definition (DTD)
DTD ir XML faila satura validēšanas specifikācijas, kas tika
iekļautas XML 1.0 standartā.
Piemērs:
DTD
<?xml version="1.0"?>
<!DOCTYPE bookstore [
<!ELEMENT bookstore
(name,topic+)>
<!ELEMENT topic (name,book*)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT book (title,author)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT isbn (#PCDATA)>
<!ATTLIST book isbn CDATA "0“> ]>
XML
<bookstore>
<name>Mike's Store</name>
<topic>
<name>XML</name>
<book isbn=“111-111-111">
<title>XML in Nutshell</title>
<author>John Smith</author>
</book>
</topic>
</bookstore>
DTD elementi
 Ārējā DTD faila definēšana
<!DOCTYPE doc_elem SYSTEM/PUBLIC dtd_addr>
 <!DOCTYPE chapter SYSTEM "../dtds/chapter.dtd">
 <!DOCTYPE chapter PUBLIC
"-//OASIS//DTD DocBook XML//EN" "../dtds/chapter.dtd">
 Elementa satura definēšana
<!ELEMENT name content_model>
• Jebkurš saturs: <!ELEMENT description ANY>
• Bērnu elementi: <!ELEMENT name (first_name, last_name) >
• Teksts: <!ELEMENT first_name (#PCDATA) >
• Tukšs elements: <!ELEMENT pays_on_time EMPTY >
DTD speciālie simboli
<?xml version = "1.0" standalone ="yes" ?>
Speciālo simbolu
<!DOCTYPE
document [izmantošana
<!ELEMENT
• a+ document (product | customer)+ >
<!ELEMENT
• a* product (company, info*)+>
<!ELEMENT company (#PCDATA) >
• a?
<!ELEMENT info (#PCDATA) >
• a, b customer (first_name, last_name) >
<!ELEMENT
• a | b first_name (#PCDATA) >
<!ELEMENT
<!ELEMENT last_name (#PCDATA) >
]>
<document>
<product>
<company>Microsoft</company>
</product>
</document>
DTD atribūti
 Atribūtu definēšanas šablons:
<!ATTLIST element_name
attribute_name type default_value
...
attribute_name type default_value>
 Piemērs:
<!ATTLIST customer
type (good | bad) "good"
language CDATA #FIXED "EN“>
...
<customer type="good">
XML Schema
W3C nopublicēja XML Schema rekomendācijas 2001. gadā un šī
ir pirmā ārējo shēmu
valoda, kurai W3C piešķīra
rekomendācijas. Shēma ir abstraktā metadatu kopa, kas iekļauj
sekojošos komponentus: elementu, atribūtu un vienkāršu un
sarežģītu tipu definīcijas.
Shēmas definēšanas paraugs:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ElementName">
...
</xs:element>
</xs:schema>
Shēmas norādīšana XML dokumentā:
<?xml version="1.0" encoding="utf-8"?>
<ElementName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="SimpleAddress.xsd“>
...
</ElementName>
XML Schema shēmas piemērs
<?xml version="1.0“?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="employee" type="fullpersoninfo"/>
<xsd:complexType name="personinfo">
<xsd:sequence>
<xsd:element name="firstname" type="xsd:string"/>
<xsd:element name="lastname" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="fullpersoninfo">
<xsd:complexContent>
<xsd:extension base="personinfo">
<xsd:sequence>
<xsd:element name="address" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="country" type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
XML Schema elementi
 Vienkāršie (simple) elementi nesatur bērnus vai atribūtus:
<xsd:element name="note“ type=“xsd:string>
atbilst <note>some text</note>.
 Sarežģītie (complex) elementi var saturēt citus elementus
un/vai atribūtus:
<xsd:complexType name="fullpersoninfo">
<xsd:complexContent>
<xsd:extension base="personinfo">
<xsd:sequence>
<xsd:element name="address"
type="xsd:string"/>
…
Elementu tipi
Primitīvie tipi
 string,
 boolean,
 decimal,
 float,
 double,
 duration,
 dateTime, time, date,
 gYearMonth, gYear,
 gMonthDay, gDay,
 gMonth,
 hexBinary, base64Binary,
 anyURI,
 Qname,
NOTATION.
Atvasinātie tipi
 normalizedString,
 token,
 language,
 NMTOKEN, NMTOKENS,
 Name, NCName,
 ID, IDREF, IDREFS,
 ENTITY, ENTITIES,
 integer,
 nonPositiveInteger,
 negativeInteger,
 long, int, short, byte,
 unsignedLong,
 unsignedInt,
 unsignedShort,
 unsignedByte.
Elementu skaita uzstādīšana
Minimālo elementu skaitu var norādīt,
izmantojot minOccurs atribūtu. Ja minOccurs
vērtība ir vienāda ar nulli, tad elements ir
neobligāts.
<xs:element name="elem_name"
type="xs:string“ minOccurs="0"/>
Maksimālo elementu skaitu var uzstādīt,
izmantojot maxOccurs atribūtu. Ja maxOccurs
vērtība ir "unbounded", tad nav maksimālā
skaita limita.
<xs:element name="elem_name"
type="xs:string" maxOccurs="10"
minOccurs="0"/>
XML Schema atribūti
 Atribūtu definēšanas šablons:
<xsd:attribute name="att_name"
type="xsd:att_type" "default_value" >
 Piemērs:
<xsd:attribute name="phone" type="xsd:string">
...
<customer phone="111-1111111">
DTD un XML Schema (1)
DTD plusi
• Izmanto ilgāku laiku nekā XML Schema;
• Ir XML 1.0 standarta daļa.
DTD mīnusi
• Izmanto atšķirīgu no XML sintaksi;
• DTD neatbalsta vārdtelpas (namespaces);
• Pārāk ierobežots tipu skaits;
• DTD apraksta visu dokumentu.
DTD un XML Schema (2)
XML Schema plusi
• Izmanto XML valodu shēmu rakstīšanai;
• Satur krietni vairāk datu tipu un var definēt
savus tipus;
• Ļauj precīzāk aprakstīt dokumenta
struktūru;
• Ļauj aprakstīt dokumenta daļu.
XML Schema mīnuss
• Būtiskākais XML Schema trūkums bija
samērā neliels rīku skaits.
Paldies
par uzmanību!