Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
Nowa wersja
Both sides next revision
|
pl:miw:2009:miw09_semweb_rdfstore [2009/06/02 12:26] jsi08 |
pl:miw:2009:miw09_semweb_rdfstore [2009/07/07 12:08] jsi08 |
W wielkim skrócie jakie są różnice: | W wielkim skrócie jakie są różnice: |
* **RDF** | * **RDF** |
| Język opisu zasobów. |
| |
* **RDFS** | * **RDFS** |
| O ile RDF zawiera jedynie informacje w postaci grafu skierowanego, to RDF Schema wprowadza podstawowe pojęcia, pozwalające na strukturalne uporządkowanie tego grafu. RDF Schema stanowi bazę dla języka OWL. |
| Wprowadza pojęcie klasy i właściwości. |
| |
* **RDFS+** | * **RDFS+ (OWL RDFS+)** |
| Jest to RDFS wzbogacony o predykaty owl:sameAs i owl:InverseFunctionalProperty z języka OWL. |
| |
* **OWL** | * **OWL** |
OWL Lite | OWL dodaje więcej słownictwa dla opisywania właściwości I klas: między innymi, relacje między klasami (np. rozłączność), liczebność (np. dokładnie jeden), równość, bogatsze grupowanie właściwości, cechy właściwości (np. symetryczność), oraz ponumerowane klasy. |
| |
OWL DL | Istnieją 3 podjęzyki OWL o wzrastającej ekspresyjności: |
| |
| **OWL Lite** |
| Udostępnia jedynie proste ograniczenia (np. liczebność tylko 0 lub 1). |
| |
| **OWL DL** |
| Udostępnia pełny model OWL ale z ograniczeniami gwarantującymi obliczeniową kompletność (wszystkie są wykonywalne obliczeniowo). Najczęściej wykorzystywany przy budowie ontologi OWL. |
| |
| **OWL Full** |
| Udostępnia bez ograniczeń pełny model OWL i składniową dowolność RDF. Jak podaje W3C "mało prawdopodobne jest, by jakiekolwiek oprogramowanie logiczne będzie w stanie wspierać kompletne rozumowanie logiczne dla każdej cechy OWL Full". |
| |
OWL Full | |
| |
===== Serializacja danych RDF ===== | ===== Serializacja danych RDF ===== |
* **XML** | * **XML** |
| Podstawowa metoda serializacji danych RDF. Jak w każdym dokumencie XML przerost formy nad treścią. |
| |
| Przykład: |
| <code> |
| <rdf:RDF |
| xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
| xmlns:dc="http://purl.org/dc/elements/1.1/"> |
| <rdf:Description rdf:about="http://en.wikipedia.org/wiki/Tony_Benn"> |
| <dc:title>Tony Benn</dc:title> |
| <dc:publisher>Wikipedia</dc:publisher> |
| </rdf:Description> |
| </rdf:RDF> |
| </code> |
| |
* **Notation3 (N3)** | * **Notation3 (N3)** |
| Obecnie najpolularniejsza metoda serializacji danych RDF, po definicji przestrzeni nazw (@prefix) nie trzeba używać pełnych URI. Dokument przedstawia po kolei trójki RDF bez dodatkowych tagów. |
| |
| Przykład: |
| <code> |
| @prefix dc: <http://purl.org/dc/elements/1.1/>. |
| |
| <http://en.wikipedia.org/wiki/Tony_Benn> |
| dc:title "Tony Benn"; |
| dc:publisher "Wikipedia". |
| </code> |
| [[http://www.w3.org/DesignIssues/Notation3.html]] |
| [[http://en.wikipedia.org/wiki/Notation_3]] |
| |
* **Turtle** | * **Turtle** |
| Uproszczona wersja (pozdbiór) notacji N3. |
| |
| [[http://www.w3.org/TeamSubmission/turtle/]] |
| [[http://en.wikipedia.org/wiki/Turtle_(syntax)]] |
| |
* **RDFa** | * **RDFa** |
| Standard pozwalający na dołączanie dancyh RDF do zwykłych stron XHTML. Każdemu elementowu HTML możemy przypisać dane RDF w ten sposób opisując wyrażeniami sieci semantycznej zwykłą treść strony. |
| <code> |
| <div xmlns:dc="http://purl.org/dc/elements/1.1/"> |
| <div about="/alice/posts/trouble_with_bob"> |
| <h2 property="dc:title">The trouble with Bob</h2> |
| <h3 property="dc:creator">Alice</h3> |
| ... |
| </div> |
| ... |
| </div> |
| </code> |
| [[http://www.w3.org/TR/xhtml-rdfa-primer/]] |
| [[http://www.w3.org/TR/rdfa-syntax/]] |
| [[http://en.wikipedia.org/wiki/RDFa]] |
| |
| |
| ===== SPARQL ===== |
| Jest to język zapytań RDF. |
| [[http://en.wikipedia.org/wiki/SPARQL]] |
| [[http://www.w3.org/TR/rdf-sparql-query/]] |
| |
| |
===== Dostępne bazy wiedzy ===== | ===== Dostępne bazy wiedzy ===== |
* przegląd treści wszystkich artykułów w poszukiwaniu tagu `coord` (pliki *wiki-latest-pages-articles.xml), nie powinno się stosować - nie wszystkie współrzędne są wprost określone za pomocą `coord`, dużo danych jest w infoboxach w innej postaci. | * przegląd treści wszystkich artykułów w poszukiwaniu tagu `coord` (pliki *wiki-latest-pages-articles.xml), nie powinno się stosować - nie wszystkie współrzędne są wprost określone za pomocą `coord`, dużo danych jest w infoboxach w innej postaci. |
* lub lepsza metoda polegająca na przeglądzie tabeli `externallinks`, jest to możliwe ponieważ wszystkie współrzędne linkują w to samo miejsce 'http://stable.toolserver.org/geohack/geohack.php' (plik [[http://www.mediawiki.org/wiki/Externallinks_table|*wiki-latest-externallinks.sql]]) | * lub lepsza metoda polegająca na przeglądzie tabeli `externallinks`, jest to możliwe ponieważ wszystkie współrzędne linkują w to samo miejsce 'http://stable.toolserver.org/geohack/geohack.php' (plik [[http://www.mediawiki.org/wiki/Externallinks_table|*wiki-latest-externallinks.sql]]) |
| |
| |
| ** [[http://de.wikipedia.org/wiki/Wikipedia:WikiProjekt_Georeferenzierung/Wikipedia-World/en|Wikipedia-World]] ** |
| |
| Isnieje (istniał) projekt na wiki tools, który parsuje artykuły w poszukiwaniu współrzędnych i tworzy gotowe do pobrania tabele SQL. Niestety ostatnia aktualizacja to 5 sierpnia 2008. |
| |
==== DBpedia ==== | ==== DBpedia ==== |
** Dane ** | ** Dane ** |
| |
DBpedia wykorzystuje kilka zbiorów trójek RDF umieszczonych w osobnych przestrzeniach nazw: | DBpedia wykorzystuje kilka zbiorów RDF, lista wg przestrzeni nazw: |
* "dbpedia:" - nazwy zasobów (hasła). | * "dbpedia:" - nazwy zasobów (hasła). |
* "dbpprop:" - dane z infoboxów, są to zupełnie nie powiązane ze sobą trójki zawierające informacje przepisane wprost z infoboxów, wg. zasady klucz -> wartość | * "dbpprop:" - dane z infoboxów, są to zupełnie nie powiązane ze sobą trójki zawierające informacje przepisane wprost z infoboxów, wg. zasady klucz -> wartość (plik infobox_*.nt) |
* "dbpedia-owl:" - przetworzone dane z infoboxów, wszystkie predykaty tworzą uporządkowaną ontologie OWL ([[http://wiki.dbpedia.org/Ontology]], [[http://www4.wiwiss.fu-berlin.de/dbpedia/dev/ontology.htm]]), aktualnie ilość danych jest znacznie mniejsza w stosunku do "dbpprop:". | * "dbpedia-owl:" - przetworzone dane z infoboxów, wszystkie predykaty tworzą uporządkowaną ontologie OWL, aktualnie ilość danych jest znacznie mniejsza w stosunku do "dbpprop:" (plik infobox-mappingbased-loose.nt, types-mappingbased.nt) |
* "foaf:" - http://xmlns.com/foaf/spec/ | * "foaf:" - [[http://xmlns.com/foaf/spec/]] (m.in. plik persondata_*.nt) |
* "skos:" - http://www.w3.org/TR/2009/CR-skos-reference-20090317/skos.html | * "skos:" - [[http://www.w3.org/TR/2009/CR-skos-reference-20090317/skos.html]] - powiązania z kategorami wikipedii (skos:subject, plik articlecategories_*.nt, skoscategories_*.nt) |
* "geo:" - http://www.w3.org/2003/01/geo/, współrzędne geograficzne | * "geo:" - [[http://www.w3.org/2003/01/geo/]], współrzędne geograficzne (plik: geo_*.nt) |
* "georss:" - http://www.georss.org/georss/point, współrzędne geograficzne | * "georss:" - [[http://www.georss.org/georss/point]], współrzędne geograficzne (plik: geo_*.nt) |
* "xsd:" - XML Shema | * "xsd:" - XML Shema |
* "rdf:" - wykorzystywane predykaty: rdf:type | * "rdf:" - wykorzystywany rdf:type - powiązania zasobów z ontologią dbpedia-owl (plik: types-mappingbased.nt) |
* "rdfs:" - wykorzystywane predykaty: rdfs:comment, rdfs:label | * "rdfs:" - wykorzystywane predykaty: rdfs:comment, rdfs:label |
* "owl:" - wykorzystywane predykaty: owl:sameAs linki do innych baz | * "owl:" - wykorzystywane predykaty: owl:sameAs - linki do innych baz |
| |
Dla "rdf:", "rdfs:", "owl:" podałem tylko predykaty używane do opisu "haseł", opis ontologi wykorzystuje pełny RDFS / OWL-DL. | Dla "rdf:", "rdfs:", "owl:" podałem tylko predykaty używane do opisu "haseł", opis ontologi wykorzystuje pełny RDFS / OWL-DL. |
DBpedia linkuje do kilku innych baz wiedzy, szczegóły na [[http://wiki.dbpedia.org/Interlinking]] | DBpedia linkuje do kilku innych baz wiedzy, szczegóły na [[http://wiki.dbpedia.org/Interlinking]] |
| |
**Przykładowe hasło** | ** Ontologia ** |
| |
| * [[http://wiki.dbpedia.org/Ontology|strona na wiki.dbpedia.org]] |
| * Opis ontologi: [[http://downloads.dbpedia.org/3.2/en/dbpedia-ontology.owl]] |
| * Graf klas: [[http://www4.wiwiss.fu-berlin.de/dbpedia/dev/ontology.htm]] |
| * Ontologie można przeglądać za pomocą interfejsu HTML, np.: [[http://dbpedia.org/ontology/Place|klasa "Place"]], [[http://dbpedia.org/ontology/elevation|właściwość "elevation"]]. |
| |
| ** Przykładowe hasło ** |
| |
[[http://dbpedia.org/page/Berlin]] | [[http://dbpedia.org/page/Berlin]] |
[[http://wiki.dbpedia.org/Architecture?v=1411]] | [[http://wiki.dbpedia.org/Architecture?v=1411]] |
| |
Dostępny jest interfejs SPARQL ([[http://dbpedia.org/sparql]]), SNORQL ([[http://dbpedia.org/snorql/]]), przeglądarka zasobów (html: [[http://dbpedia.org/page/]], n3: [[http://dbpedia.org/page/.n3]], rdf/xml: [[http://dbpedia.org/page/.rdf]]). | Dostępny jest interfejs SPARQL ([[http://dbpedia.org/sparql]]), SNORQL - interfejs do SPARQL w html ([[http://dbpedia.org/snorql/]]). |
| |
| Zasoby mogą być prezentowane jako: [[http://dbpedia.org/page/Berlin|html]], [[http://dbpedia.org/data/Berlin.n3|n3]], [[http://dbpedia.org/data/Berlin.rdf|rdf/xml]]. |
| |
Można także pobrać pełny dump bazy (format N3): [[http://wiki.dbpedia.org/Downloads32]]. | Można także pobrać pełny dump bazy (format N3): [[http://wiki.dbpedia.org/Downloads32]]. |
| |
==== yago ==== | ** System parsujący dane z wikipedii ** |
[[http://www.mpi-inf.mpg.de/yago-naga/yago/]] | Dokumentacja i link do kodu poprzez SVN: [[http://wiki.dbpedia.org/Documentation]], całość napisana w PHP, można pobrać pełny kod w tar.gz. |
[[http://uniat5401.ag5.mpi-sb.mpg.de:8180/view.html?entity=Albert_Einstein&n=5]] | Kod jest bardzo czytelny i jego fragmenty mogą być podstawą do pisania własnego parsera wiki, np. wspomnianego wydobywania współrzędnych geo - w kodzie jest m.in. klasa "GeoExtractor". |
| |
==== Freebase ==== | ==== Freebase ==== |
[[http://www.freebase.com/view/freebase/faq]] | [[http://www.freebase.com/view/freebase/faq]] |
| |
Freebase jest otwartą bazą wiedzy tworzoną przez użytkowników (częściowo danych pochodzi także z innych źródeł). | Freebase jest otwartą bazą wiedzy tworzoną przez użytkowników (ale część danych pochodzi także z innych zaimportowanych źródeł). |
Freebase prezentuje trochę inne podejście niż pozostałe bazy wiedzy. Jest pełnym systemem prezentacji i edycji danych a dostęp Linked Data jest tylko kolejną możliwością przeglądania bazy. | Freebase prezentuje trochę inne podejście niż pozostałe bazy wiedzy. Jest pełnym systemem prezentacji i edycji danych a dostęp Linked Data jest tylko kolejną możliwością przeglądania bazy, udostępnioną znacznie później niż inne interfejsy. |
| |
Baza zawiera bardzo uporządkowane dane w ściśle określonych kategoriach, dla każdego hasła są wybrane odpowiednie zestawy właściwości, pojedyncze właściwości mogą odpowiadać predykatom RDF (np. zestaw "Location" zawiera informacje o lokalizacji geograficznej). | Baza zawiera bardzo uporządkowane dane w ściśle określonych kategoriach, dla każdego hasła są wybrane odpowiednie zestawy właściwości, pojedyncze właściwości mogą odpowiadać predykatom RDF (np. zestaw "Location" zawiera informacje o lokalizacji geograficznej). |
A full dump of Freebase assertions in a simple utf8 text format. This is a complete "low level" dump of data which is suitable for post processing into RDF or XML datasets. The format of the link export is a series of lines, one assertion per line. The lines are tab separated quadruples, <source>, <property>, <destination>, <value> An assertion is a statement of fact about the <source> object. In any assertion, either the <destination> or <value> or both <destination> and <value> are present. | A full dump of Freebase assertions in a simple utf8 text format. This is a complete "low level" dump of data which is suitable for post processing into RDF or XML datasets. The format of the link export is a series of lines, one assertion per line. The lines are tab separated quadruples, <source>, <property>, <destination>, <value> An assertion is a statement of fact about the <source> object. In any assertion, either the <destination> or <value> or both <destination> and <value> are present. |
| |
[[http://rdf.freebase.com/|Dostęp RDF]] - interfejs pozwalajaćy przeglądać pojedyncze hasła w formacie RDF (stworzy aby Freebase mogło być linkowane z innymi bazami RDF). | [[http://rdf.freebase.com/|Dostęp RDF]] - interfejs pozwalajaćy przeglądać pojedyncze hasła w formacie RDF (stworzony aby Freebase mogło być linkowane z innymi bazami RDF). |
| |
Przykładowe hasło w RDF: [[http://rdf.freebase.com/rdf/en/berlin]] | Przykładowe hasło w RDF: [[http://rdf.freebase.com/rdf/en/berlin]] |
| |
| |
| ==== Geonames ==== |
| [[http://www.geonames.org/]] |
| |
| Jest to baza danych geograficznych dla całego świata. Udostępniania na licencji Creative Commons Attribution 3.0 License (jednak niektóre inne otwarte systemy, np. OpenStreetMap nie chcą korzystać z geonames ponieważ baza jest częściowo stworzona z komercyjnych zasobów bez otwartej licencji). |
| |
| Baza zawiera informacje zarówno o krajach, jednostach administracyjnych, miastach jak i innych obiektach geograficznych takich jak jeziora, szczyty, doliny. Aktualnie baza nie zawiera informacji o dzielnicach i ulicach. |
| |
| Każdy obiekt jest przydzielony do odpowiedniej kategorii ([[http://www.geonames.org/export/codes.html]]). Do każdego rekordu jest dołączona informacja o połorzeniu geograficznym (współrzędne geograficzne, kraj, podział administracyjny), populacji (tam gdzie pasuje), wysokością, obliczoną wysokością na podstawie danych GTOPO30, strefie czasowej. Dodatkowo dla krajów jest dostarczonych więcej informacji - nr kierunkowy, schemat kodów pocztowych, kody FIPS10-4, kody ISO, itp. |
| |
| Jedną z większych zalet geonames jest olbrzymia baza nazw alternatywnych, zawierająca skróty, nazwy potoczne oraz nazwy w kilkudziesięciu językach. |
| |
| |
| ** Ontologia ** |
| [[http://www.geonames.org/ontology/]] |
| RDF endpoint http://sws.geonames.org/ serwuje dane rdf zgodne z Linked Data. Ontologia definiuje kilka klas, m.in.: |
| * #Class - klasa (kategoria) |
| * #Code - kod obiektu |
| * #Country - kraj |
| * #Feature - id obiektu w bazie geonames |
| * #WikipediaArticle - artykuł z wikipedi o obiekcie |
| owl:DatatypeProperty: |
| * #alternateName - nazwa alternatywna |
| * #name - nazwa |
| * #officialName - nazwa oficjalna |
| * #population - populacja |
| * #postalCode - kod pocztowy |
| * #wgs84_pos - współrzędne |
| owl:ObjectProperty: |
| * #childrenFeatures - link do "potomków" |
| * #inCountry - kod iso kraju |
| * #locatedIn - połorzenie wewnątrz innego obiektu |
| * #nearby - obiekty połorzone w pobliżu |
| * #nearbyFeatures - link do obiektów połorzonych w pobliżu |
| * #neighbour - obiekty sąsiadujące |
| * #neighbouringFeatures - link do obiektów sąsiadujących |
| * #parentFeature - obiekt "rodzic" |
| Dodatkowo w ontologi są zdefiniowane wszystkie kategorie obiektów (#featureClass, #featureCode) jako linki owl:sameAs do stron [[http://www.eionet.europa.eu/gemet/]], np. "kanał": [[http://www.eionet.europa.eu/gemet/concept/1126]]. |
| |
| Podsumowując ontologia pozwala na wyszukiwanie obiektów połorzonych w pobliżu, sąsiadujących i nadrzędnych do danego. |
| |
| ** Przykładowe zapytania ** |
| * [[http://demo.openlinksw.com/ode/?uri=http://sws.geonames.org/3094802/]] - Kraków |
| * [[http://demo.openlinksw.com/ode/?uri=http://sws.geonames.org/3094802/nearby.rdf]] - obiekty w pobliżu krakowa |
| |
| ** Web Services ** |
| |
| [[http://www.geonames.org/export/web-services.html]] |
| Umożliwia zdalne pobieranie danych. |
| |
| ** Download: ** |
| |
| [[http://download.geonames.org/export/dump/]] |
| Pliki są w formacie tekstu rozdzielanego tabulatorami. Aby załadować dane do bazy SQL najlepiej stworzyć tabele i posłużyć się komendą LOAD DATA INFILE. |
| |
| |
| |
| ==== yago ==== |
| [[http://www.mpi-inf.mpg.de/yago-naga/yago/]] |
| |
| YAGO is a huge semantic knowledge base. Currently, YAGO knows more than 2 million entities (like persons, organizations, cities, etc.). It knows 20 million facts about these entities. Unlike many other automatically assembled knowledge bases, YAGO has a manually confirmed accuracy of 95%. |
| |
| ** Przykładowe zapytania ** |
| [[http://www.mpi-inf.mpg.de/yago-naga/yago/demo.html]] |
| |
| |
==== UMBEL ==== | ==== UMBEL ==== |
| |
Umbel jest ontlogią posiadającą połączenia z innymi ontologiami oraz z innymi bazami wiedzy (dbpedia, yago). Sam projekt nie jest bazą wiedzy. W pełni wykorzystuje OWL-Full. | Umbel jest ontlogią posiadającą połączenia z innymi ontologiami oraz z innymi bazami wiedzy (dbpedia, yago). Sam projekt nie jest bazą wiedzy. W pełni wykorzystuje OWL-Full. |
| |
| Dokumentacja: [[http://www.umbel.org/documentation.html]] |
| |
**Przykładowe hasło**: | **Przykładowe hasło**: |
| |
| |
==== SUMO (Suggested Upper Merged Ontology) ==== | ==== OpenCyc, Cyc ==== |
[[http://www.ontologyportal.org/]] | [[http://pl.wikipedia.org/wiki/Cyc]] |
| [[http://www.opencyc.org/doc]] |
| |
| OpenCyc is the open source version of the Cyc technology, the world's largest and most complete general knowledge base and commonsense reasoning engine. OpenCyc contains the full set of (non-proprietary) Cyc terms as well as millions of assertions about the. Cycorp offers this ontology at no cost and encourages you to make use of it as you see fit. |
| |
| Release 1.0 of OpenCyc includes the entire Cyc ontology containing hundreds of thousands of terms, along with millions of assertions relating the terms to each other, forming an upper ontology whose domain is all of human consensus reality. |
| |
==== WordNET ==== | ==== WordNET ==== |
[[http://wordnet.princeton.edu/]] | [[http://wordnet.princeton.edu/]] |
| [[http://wordnet.princeton.edu/obtain]] |
| |
| WordNet® is a large lexical database of English, developed under the direction of George A. Miller. Nouns, verbs, adjectives and adverbs are grouped into sets of cognitive synonyms (synsets), each expressing a distinct concept. Synsets are interlinked by means of conceptual-semantic and lexical relations. The resulting network of meaningfully related words and concepts can be navigated with the browser. WordNet is also freely and publicly available for download. WordNet's structure makes it a useful tool for computational linguistics and natural language processing. |
| |
| |
| |
| ==== SUMO (Suggested Upper Merged Ontology) ==== |
| [[http://www.ontologyportal.org/]] |
| * Mappings to all of WordNet |
| * Largest free, formal ontology available, with 20,000 terms and 70,000 axioms when all domain ontologies are combined. |
| |
| |
==== DMOZ ==== | ==== DMOZ ==== |
| |
[[http://rdf.dmoz.org/|RDF Dump]] | [[http://rdf.dmoz.org/|RDF Dump]] |
| |
| |
==== Chef Moz ==== | ==== Chef Moz ==== |
[[http://musicmoz.org/Bands_and_Artists/D/Delirious/]] | [[http://musicmoz.org/Bands_and_Artists/D/Delirious/]] |
XML: [[http://musicmoz.org/xml/musicmoz.bandsandartists.d.delirious.xml]] | XML: [[http://musicmoz.org/xml/musicmoz.bandsandartists.d.delirious.xml]] |
| |
| |
| ===== Linked Data ===== |
| Jedna z dziedzin Semantic Web. Zajmuje się łączeniem różnych otwartych zbiorów wiedzy RDF poprzez określenie standardu prezentacji danych. |
| |
| Jeśli system udostępniaja odpowiedni interfejs to możemy z dowolnego miejsca przeglądać dowolną bazę wiedzy wykrozystując dowolny kompatybilny interfejs (jak strony WWW). |
| * [[http://en.wikipedia.org/wiki/Linked_Data]] |
| * [[http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData]] |
| * [[http://esw.w3.org/topic/TaskForces/CommunityProjects/LinkingOpenData/DataSets]] |
| * [[http://esw.w3.org/topic/TaskForces/CommunityProjects/LinkingOpenData/DataSets/Statistics]] |
| * [[http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/]] |
| * [[http://www.w3.org/DesignIssues/LinkedData.html]] |
| * [[http://linkeddata.org/]] |
| |
| Hasło "Berlin" z DBpedii w dwóch przykładowych przeglądarkach Semantic Web: |
| * http://www5.wiwiss.fu-berlin.de/marbles/?uri=http://dbpedia.org/resource/Berlin |
| * http://demo.openlinksw.com/ode/?uri=http://dbpedia.org/resource/Berlin |
| |
| [[http://demo.openlinksw.com/sparql]] - pod tym adresem znajduje się interfejs sparql umożliwiający wykonywanie zapytań wykorzystujących Linked Data. |
| |
| |
| ===== Sitemap Extension ===== |
| Warto też wspomnieć o [[http://sw.deri.org/2007/07/sitemapextension/|Sitemap Extension]] umożliwiającym robotom dostęp do informacji. Mapa strony Semantic Web definiuje prefix dla zlączonych danych (np. http://dbpedia.org/resource/), adres interfejsu SPARQL, adresy zrzutów bazy danych oraz kilka dodatkowych informacji. |
| |
| Przykładowa mapa strony (dbpedia): [[http://dbpedia.org/sitemap.xml]] |
| |
===== RDF Stroes ===== | ===== RDF Stroes ===== |
| [[http://en.wikipedia.org/wiki/Triplestore]] |
| |
^ Nazwa ^ Język ^ RDFS / OWL ^ Składowanie ^ Interfejs ^ Uwagi ^ Web ^ | ^ Nazwa ^ Język ^ RDFS / OWL ^ Składowanie ^ Interfejs ^ Uwagi ^ Web ^ |
| Jena | Java | RDFS \\ OWL | Memory \\ Database | SPARQL | Możliwość wyboru zakresu RDFS i OWL \\ Słaba wydajność RDFS/OWL dla baz danych (dobra tylko w pamięci) \\ Dla samego RDF bardzo dobra wydajność | [[http://jena.sourceforge.net/]] | | | Jena | Java | RDFS \\ OWL | Memory \\ Database | SPARQL | Możliwość wyboru zakresu RDFS i OWL \\ Słaba wydajność RDFS/OWL dla baz danych (dobra tylko w pamięci) \\ Dla samego RDF bardzo dobra wydajność | [[http://jena.sourceforge.net/]] | |
| Mulgara | Java | - | Memory \\ Database | SPARQL | RDFS/OWL planowany | [[http://www.mulgara.org/]] | | | Mulgara | Java | - | Memory \\ Database | SPARQL | RDFS/OWL planowany | [[http://www.mulgara.org/]] | |
| Sesame | Java | ? | ? | ? | | [[http://www.openrdf.org/]] | | | Sesame | Java | RDFS | Memory \\ MySQL, PostgreSQL, Oracle | SeRQL \\ API | | [[http://www.openrdf.org/]] | |
| Oracle 11g | | RDFS \\ OWL Full | | | Darmowy dla deweloperów | [[http://www.oracle.com/technology/tech/semantic_technologies/index.html]] | | | Oracle 11g | | RDFS \\ OWL Full | | | Darmowy dla deweloperów | [[http://www.oracle.com/technology/tech/semantic_technologies/index.html]] | |
| ClioPatria | Prolog | ? | Memory | SeRQL \\ SPARQL | | [[http://e-culture.multimedian.nl/software/ClioPatria.shtml]] | | | Virtuoso | | RDFS \\ OWL Full | | | | [[http://virtuoso.openlinksw.com/|Virtuoso]] \\ [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/|Virtuoso Open-Source Edition]] | |
| | ClioPatria | Prolog | - | Memory | SeRQL \\ SPARQL | | [[http://e-culture.multimedian.nl/software/ClioPatria.shtml]] | |
| |
==== C/C++: ==== | ==== C/C++: ==== |
* [[http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/|RAP]] | * [[http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/|RAP]] |
RAP, the RDF API for PHP, is a software package for parsing, searching, manipulating, serializing and serving RDF models. | RAP, the RDF API for PHP, is a software package for parsing, searching, manipulating, serializing and serving RDF models. |
| |
| Model wykorzystujący bazę danych nie obsługuje RDFS i OWL, wnioskowanie jest obsługiwane jedynie w modelach przechowujących bazę wiedzy w pamięci. |
| |
| ** Instalacja i uruchomienie ** |
| |
| Całość jest napisana w PHP więc nie jest wymagana instalacja - wystarczy po rozpakowaniu dołączyć do projektu (skryptu) odpowiednie pliki PHP i zyskujemy dostęp do RDF API. |
| |
| |
==== Java: ==== | ==== Java: ==== |
**Joseki** is an HTTP engine that supports the SPARQL Protocol and the SPARQL RDF Query language. | **Joseki** is an HTTP engine that supports the SPARQL Protocol and the SPARQL RDF Query language. |
[[http://www.joseki.org/]] | [[http://www.joseki.org/]] |
| |
| ** Instalacja i uruchomienie ** |
| |
| Po pobraniu wystarczy rozpakować archiwum i jeśli mamy zainstalowaną odpowiednią wersję java wszystko powinno działać. W pakiecie jest dostarczony skrypt testujący działanie. |
| |
* [[http://www.mulgara.org/|Mulgara]] (500M) | * [[http://www.mulgara.org/|Mulgara]] (500M) |
* [[http://www.openrdf.org/|Sesame]] | * [[http://www.openrdf.org/|Sesame]] |
[[http://www.aduna-software.com/home/overview.view]] | [[http://www.aduna-software.com/home/overview.view]] |
| Sesame is an open source RDF framework with support for RDF Schema inferencing and querying. Originally, it was developed by Aduna (then known as Aidministrator) as a research prototype for the EU research project On-To-Knowledge. Now, it is further developed and maintained by Aduna in cooperation with NLnet Foundation, developers from Ontotext, and a number of volunteer developers who contribute ideas, bug reports and fixes. |
| |
| ** Instalacja i uruchomienie ** |
| |
| [[http://www.openrdf.org/doc/sesame/users/ch02.html]] |
| Po pobraniu wystarczy rozpakować archiwum i jeśli mamy zainstalowaną odpowiednią wersję java wszystko powinno działać. Można wykonać test uruchamiając konsole. |
| |
==== Prolog: ==== | ==== Prolog: ==== |
| |
Key figures Up to about 25 million RDF triples on 32-bit hardware, only limited by memory on 64-bit hardware. Exploits multi-CPU and multi-core hardware to answer requests over HTTP concurrently. Runs on Windows, MacOS X, Linux and most Unix flavours, supporting both 32-bit and 64-bit operating systems. 64-bit systems are recommended for servers with lots of data or many users. | Key figures Up to about 25 million RDF triples on 32-bit hardware, only limited by memory on 64-bit hardware. Exploits multi-CPU and multi-core hardware to answer requests over HTTP concurrently. Runs on Windows, MacOS X, Linux and most Unix flavours, supporting both 32-bit and 64-bit operating systems. 64-bit systems are recommended for servers with lots of data or many users. |
| |
| * [[http://www.semanticweb.gr/TheaOWLLib/|Thea]] |
| Thea is a Prolog library for generating and manipulating OWL (Web Ontology Language) content. Thea version 0.5 consists of: OWL parser, OWL generator and SQL to OWL converter. |
| |
| |
==== Inne: ==== | ==== Inne: ==== |
* [[http://virtuoso.openlinksw.com/|Virtuoso]] (1B) | * [[http://virtuoso.openlinksw.com/|Virtuoso]] (1B) |
| [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/]] |
| Jeden z bardziej wydajnych silników. Wersja OpenLink Virtuoso używany m.in. przez DBpedia. |
| |
Virtuoso Universal Server s a middleware and database engine hybrid that combines the functionality of a traditional RDBMS, ORDBMS, virtual database, Resource Description Framework (RDF), XML, free-text, Web Application Server, and File Server functionality in a single server product offering. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is a "universal server"; it enables a single multithreaded server process that implements multiple protocols. The open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso. | Virtuoso Universal Server s a middleware and database engine hybrid that combines the functionality of a traditional RDBMS, ORDBMS, virtual database, Resource Description Framework (RDF), XML, free-text, Web Application Server, and File Server functionality in a single server product offering. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is a "universal server"; it enables a single multithreaded server process that implements multiple protocols. The open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso. |
| |
| ** Instalacja i uruchomienie ** |
| |
| [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSMake]] Dotyczy wersji OpenLink Virtuoso. Po pobraniu archiwum (źródła) kompilujemy. |
| <code> |
| ./configure |
| make |
| </code> |
| Następnie można uruchomić automatyczny skrypt testujący: |
| <code> |
| make check |
| </code> |
| Instalacja wymaga uprawnień root i zostanie wykonana po poleceniu: |
| <code> |
| make install |
| </code> |
| |
| System nie sprawiał żadnych problemów podczas któregokolwiek etapu. |
| |
* [[http://www.oracle.com/global/pl/tgb/produkty_oracle/database.html|Oracle 11g]] | * [[http://www.oracle.com/global/pl/tgb/produkty_oracle/database.html|Oracle 11g]] |
| |
| ===== Benchmark ===== |
| * [[http://www4.wiwiss.fu-berlin.de/benchmarks-200801/]] - bardzo dobry test wydajności systemów RDF |
| * [[http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/]] - nowa, jeszcze lepsza wersja testu, wszystko dokładnie omówione |
| |
| Podczas własnych testów zauważyłem, że ważna jest odpowiednia ilość pamięci (minimum 2GB), OpenLink Virtuoso podczas działania skryptu testującego zajmował około 1GB. Wszystkie środowiska uzyskują odpowiednią wydajność wtedy gdy dane są przechowywane w pamięci RAM. Przechowywanie danych RDF w bazie MySQL znacznie zmniejsza wydajność, a w niektórych prostych systemach wyłącza wnioskowanie. |
| |
| ===== Przykłady użycia ===== |
| |
| |
====== Prezentacja ====== | ====== Prezentacja ====== |
====== Materiały ====== | ====== Materiały ====== |
Czyli zestaw, z którym trzeba się zapoznać... | Czyli zestaw, z którym trzeba się zapoznać: |
| |
===== Na początek ===== | ===== Na początek ===== |
* [[http://www.amazon.ca/Semantic-Web-Working-Ontologist-Effective/dp/0123735564|D.Allemang, J.Hendler - "Semantic Web for the Working Ontologist"]] - książka, dobra na początek, wyjaśnia idee semweb oraz dosyć wyczerpująco omawia RDF, RDFS i OWL, bardzo dużo przykładów | * [[http://www.amazon.ca/Semantic-Web-Working-Ontologist-Effective/dp/0123735564|D.Allemang, J.Hendler - "Semantic Web for the Working Ontologist"]] - książka, dobra na początek, wyjaśnia idee semweb oraz dosyć wyczerpująco omawia RDF, RDFS i OWL, bardzo dużo przykładów |
* [[http://en.wikipedia.org/wiki/Semantic_Web|Semantic Web]], [[http://en.wikipedia.org/wiki/Ontology_(computer_science)|Ontology]], [[http://pl.wikipedia.org/wiki/Resource_Description_Framework|RDF]], [[http://pl.wikipedia.org/wiki/OWL|OWL]] - kilka haseł na wiki | * [[http://en.wikipedia.org/wiki/Semantic_Web|Semantic Web]], [[http://en.wikipedia.org/wiki/Ontology_(computer_science)|Ontology]], [[http://pl.wikipedia.org/wiki/Resource_Description_Framework|RDF]], [[http://pl.wikipedia.org/wiki/OWL|OWL]] - kilka haseł na wiki |
| * [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_hml_rules|miw08_hml_rules] - inny projekt z miw, m.in. informacje o RDF, OWL |
| |
===== Specyfikacje ===== | ===== Specyfikacje ===== |
* [[http://www.w3.org/TR/owl-ref/|OWL Reference]] | * [[http://www.w3.org/TR/owl-ref/|OWL Reference]] |
* [[http://www.w3.org/TR/owl-semantics/|OWL Semantics and Abstract Syntax]] | * [[http://www.w3.org/TR/owl-semantics/|OWL Semantics and Abstract Syntax]] |
| * [[http://www.rax.pl/tlumaczenia/OWL-Web-Ontology-Language-Overview/index.htm|OWL Język Ontologii Sieciowej]] - polskie tłumaczenie |
| |
* [[pl:miw:2009:miw09_semweb_rdfstore:|02-Shimizu.pdf]] - strona 14, logiczna reprezentacja predykatów OWL | * [[pl:miw:2009:miw09_semweb_rdfstore:|02-Shimizu.pdf]] - strona 14, logiczna reprezentacja predykatów OWL |