Advanced FOAF Explorer | KEG | Cestovní železniční zápisník

Zápisky.info


11.03. 2008

Pozvánka na seminář o Linked Data a SPARQL

Po několikaměsíční odmlce přináším jednu pozvánku pro zájemce o vývoj sémantických aplikací. Tento čtvrtek, 13.3. 2008 budeme já a Aristo na půdě naší alma mater VŠE Praha mít prezentaci na téma SPARQL and Linked Data – the essentials for Semantic Web application development. Naším cílem je shrnout některé „dobré praktiky“ a pak krátce ukázat možnosti dotazovacího jazyka SPARQL. Slidy z přednášky budou po skončení dostupné na zmíněném odkazu. Pokud by měl někdo zájem, ale na půdě VŠE se nevyznal, tak se ozvěte.

Vložil Padacek v 02:13 | RDF CZ | Komentáře: 2 [11.03.08 21:46]

20.11. 2007

Týdenní návštěva Koblenze

Zatímco někteří strojvůdci německý drah stávků, ten v ICE 125, kterým se snažím dostat na vlak z Frankfurtu do Prahy, řídí jak má a tak se vlak 300vkou řítí po dráze :) byl jsem tento týden na univerzitě v Koblenzi „oficiálně“ navštívit Simona Schenka a pomoci mu s implementací některých výzkumných projektů. Byla to příjemná týdenní práce plná Javy, Continuous Integration a sémantického Webu. Proto si dovolím představit, s čím jsme pracovali a co tvořili.

Pokračování »

14.10. 2007

Importy souborů v PHP5

Programuteje–li v PHP5 řádně objektově, potřebujete přehledně uspořádat zdrojové kódy. Dobrým zvykem je každou třídu umístit do shodně pojmenovaného souboru. Pak se ale uvrhnete do nutnost vyjmenovávat pro každý skript dlouhou sadu volání require_once() a to ve správném pořadí.

Ne! Nemusíte! Existuje možnost naprogramovat funkci __autoload() definující rutinu, jak načítat soubory takto uložených tříd. A volána je pouze pro třídy, které potřebujete a v pořadí, v jakém jsou třeba. Takto se pak načítají i třídy předků (definované klíčovým slovem extends), implementované rozhraní, … Jedinou nefunkčnost jsem objevil, objeví–li se název třídy ve volání $var instanceof ClassName, ale to musím ještě pořádně otestovat.

function __autoload($className) {
  require_once('/WEB-INF/classes/'.$className.'.php');
}
Vložil Padacek v 20:02 | PHP | Komentáře: 4 [24.10.07 18:32]

12.10. 2007

Modularita ontologie FOAF a sémantický Europass

Ontologie FOAF mě překvapuje svou použitelností. Je ideálním schématem pro popis sémanticky bohatých vizitek lidí, jejich kontaktů a aktivit. Stala se také základním stavebním kamenem dalších užitečných schémat, např. DOAP pro popis projektů. Není dokonalá. Jistě vám budou nějaké vlastnosti a rysy chybět, ale objevuji stále více užitečných modulů / rozšíření, které takové trable řeší. Modularita ontologií / schémat je jednou z výhod sémantického Webu!

Dostal se mi do rukou článek z konference ESWC 2007 s názvem „Combining RDF Vocabularies for Expert Finding“. Skupina autorů se rozhodla tzv. „expert finding“, nebo–li prohledávání zdrojů na WWW a získávání informací, v nichž jsou schopní lépe najít odborníky na dané téma. V rámci tohoto úkolu zavrhli vytvoření nové ontologie popisující jejich problém. Naopak popisují de–facto standardy sémantického Webu jako FOAF, SIOC (nyní připravovaný W3C standard), SKOS a další používaná schémata, vzájemně je kombinují, mapují a rozšiřují, aby z existujících dat získali maximum informací. Článek je zdrojem inspirace, pokud navrhujete systém, jehož datový systém je založen na RDF.

Sémantický Europass: ve výše zmiňovaném článku jsem naše odkaz na další zajímavé rozšíření FOAFu. DOAC, nebo–li Description of a Career, poskytuje vlastni a koncepty pro zápis profesních schopností a dalších náležitostí, které se obvykle vyžadují v životopise. Předpokladem je, že by tyto informace šlo převést do životopisu ve formátu Europass! Jen pro úplnost přidávám přehled typů záznamů, které v takovém profilu mohou být: pracovní zkušenost, vzdělání a kurzy, dovednosti, jazykové znalosti, sociální dovednosti, organizační dovednosti, schopnosti ovládání počítače a řidičské oprávnění.

Vložil Padacek v 14:24 | Vše o sémantickém Webu | Komentáře: 2 [13.10.07 11:29]

11.10. 2007

Sémantický Web v novém kabátu

Logo, které vidíte u minulého příspěvku a patří do sady bannerů Resource Description Frameworku, už není jediným oficiálním grafickým znakem, který se pojí se sémantickým Webem. W3C nově nabízí sadu grafických prvků pro všechny důležité standardy sémantického Webu, tj. RDF, OWL, SPARQL, GRRDL i Semweb samotný. Výběr je poměrně bohatý, tak si vyberte, čím označíte své RDF data!

Vložil Padacek v 07:37 | Vše o sémantickém Webu | Komentář: 1 [13.10.07 15:39]

07.10. 2007

Exporty DOAP metadat projektů, připomínky

KEGweb již poskytuje první RDF metadata pomocí exportů. Aktuálně lze získat popis softwarových projektů a také popis jednotlivých projektů, viz. stránky jednotlivých projektů. Exportovaná metadata používají schéma DOAP. Ukázkové RDF jsem uvedl v minulém příspěvku.

Neb export byl poměrně chudý (pouze titul, krátký popis a domovská stránka projektu), napsal jsem do mailing–listu doap-interest, které vlastnosti by bylo dobré přidat. Odpověď byla stručná, ale hodnotná. Opět jsem se ale podivil nad jednou věcí. Vlastnost rdfs:seeAlso je sice definována obecně, co se formátu cílového zdroje týká:

rdfs:seeAlso is an instance of rdf:Property that is used to indicate a resource that might provide additional information about the subject resource.

A triple of the form: S rdfs:seeAlso O

states that the resource O may provide additional information about S. It may be possible to retrieve representations of O from the Web, but this is not required. When such representations may be retrieved, no constraints are placed on the format of those representations.

The rdfs:domain of rdfs:seeAlso is rdfs:Resource. The rdfs:range of rdfs:seeAlso is rdfs:Resource.

Tak proti této specifikaci většina vývojářů přijímá předpoklad, že cílovým formátem je vždy RDF. Proto jsem musel dle toho upravit hodnoty rdfs:seeAlso v databázi KEGwebu.

Zaujal mě i odkaz na stránky Apache Foundation, kde dokumentují jedno rošíření schématu DOAP o zápis implementovaných standardů. Tím můžete uvést, že „projekt X implementuje specifikaci Y“, kterou můžete celkem detailně popsat, třeba:

@prefix asfext: <http://projects.apache.org/ns/asfext#> .

<:rdfschema>
  asfext:title "RDF Vocabulary Description Language 1.0: RDF Schema" ;
  asfext:body "W3C" ;
  asfext:id "RDF Schema" ;
  asfext:url <http://www.w3.org/TR/rdf-schema/> ;
  a asfext:Standard .

To by následně poskytlo možnost prohledávat projekty podle použitých technologií.

30.09. 2007

Linked Data pro projekty katedry

Již delší dobu pracuji na stránce a projektu KEGweb, která prezentuje osoby a aktivity, ve kterých jsou zapojení, z Katedry informačního a znalostního inženýrství VŠE Praha. Stránka skupiny KEG je zvláštní v tom, že v pozadí celé zdánlivě statické stránky je RDF úložiště a data jsou ukládány jako RDF tvrzení o jednotlivých zdrojích.

O tomto prodlouženém víkendu jsem zapracoval na podpoře tzv. Linked Data – znovupoužitelná RDF metadata využívající ustálené schémata / ontologie a zpřístupněná pro využití v dalších datech. Důležité bylo rozlišit informativní a neinformativní zdroje – např. osoba je neinformativní zdroj z pohledu RDF, stránka o této osobě je informativní zdroj. URIref neinformativních zdrojů jsou také „klikatelné“ – po přístupu přes HTTP je vrácena hlavička 303 See Other a také Location s adresou informativního zdroje.

Využil jsem schématu DOAP (prohlédněte si diagram tříd a vlastností), jmenovitě vlastností doap:name, doap:shortdesc a doap:homepage pro popis softwarových projektů katedry. Data jsou uložena v následující podobě (v syntaxi N3):

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .

<http://keg.vse.cz/resource/swproject/kegweb>
  rdfs:seeAlso <http://keg.vse.cz/swproject/kegweb> ;
  doap:name "KEGweb" ;
  a doap:Project .

Vidíte, že http://keg.vse.cz/resource/swproject/kegweb je URIref identifikující projekt a http://keg.vse.cz/swproject/kegweb stránka s informacemi o něm. Brzy přibude RDF export, takže bude kdokoliv moci je využít a doplnit o svá tvrzení, agregovat, …

08.08. 2007

W3C validátor, nový a s podporou RDFa

RDFa je na půdě W3C vznikající řešení, které umožňí jednoduchou serializaci a přidání RDF metadat do klasických stránek. Toto řešení by žádným způsobem nemělo klást dodatečné požadavky na současné webové prohlížeče. Využívá standardních XHTML elementů/atributů jako link, rel, atp. Pro ukázku mějme následující kód stránky:

<span rel="dc:title">Some title</span>

Libovolný RDFa parser přečte takový XHTML kód a extrahuje z něj RDF tvrzení (zapsáno v N3 syntaxi):

@prefix dc: <http://purl.org/dc/elements/1.1/> .

<> dc:title "Some title" .

Toto tvrzení říká jediné: Tento dokument má titulek "Some title". Aplikace takového řešení je rozličná. Hlavně se jedná o jednodušší a více standardizované čtení tzv. mikroformátů – po převedení na RDF tvrzení se nabízí libovolné další zpracování dat a vytváření dalších tvrzení, které na těchto závisí. Toto je součástí aktivity LinkedData.

RDFa weblog informoval o nové verzi oblíbeného validátoru W3C pro HTML/XHTML, který nyní podporuje lépe formáty založené na XML jako XHTML, SMIL, MathML, některé jejich kombinace a také XHTML + RDFa. Věřím, že validátor stojí za vyzkoušení.

Vložil Padacek v 16:38 | Vše o sémantickém Webu | Komentář: 1 [23.08.07 18:39]

16.06. 2007

Alternativní dialog „Spustit“

Tip na SlickRun, skvělou utilitku pro Microsoft Windows, přinesl Borůvek, ale nějak jsem ji dříve přešel bez povšimnutí. Ale dnes jsem se rozhodl pro malý test. Jde o utilitu, která se usídlí u lišty s hodinami, na vámi nastavenou klávesovou zkratku se aktivuje a do dialogové řádky zadáváte příkazy … následně se dle toho spustí asociovaná akce – spustí program, otevře konkrétní webová stránka, atp.

Vtipné bylo, že standardní aktivační klávesová zkratka je WinKey + Q, ale můj služební IBM R51 tohle tlačítko nemá :D. Ale šlo to přenastavit. První testy ukazují, že je to rychlejší než myš, o hodně rychlejší! Taky si člověk neunavuje ukazováček na TrackPointu, stejně tak nemáte na ploše hromadu ikonu (já si tam raději dám nějakou fotku). A prvním příkazem byl cs … ano, Counter–Strike.

Vložil Padacek v 16:13 | Programy, recenze | Komentáře: 4 [20.06.07 21:34]

12.06. 2007

Vše o propojování dat (Linked Data)

Linked Data, esej Tima Berners–Leeho, přináší několik myšlenek na téma, jak bychom měli propojovat informace na Webu v různých technologiích (se zaměřením na RDF a sémantický Web), aby šlo data různými nástroji procházet, prohledávat a objevovat další zdroje. Navrhuje se zaměřit na následující:

  1. Use URIs as names for things“ — používat URI jako jména věcí.
  2. Use HTTP URIs so that people can look up those names.“ — použít HTTP URI tak, aby lidé mohli tyto jména prohlížet.
  3. When someone looks up a URI, provide useful information.“ — pokud někdo prohlíží URI, poskytněte použitelné informace, tj. každý RDF zdroj by měl mít zaároveň nějakou XML/HTML/jinou čitelnou reprezentaci.
  4. Include links to other URIs. so that they can discover more things.“ — přidejte ke zdrojům odkazy na další URI, aby bylo možné objevovat další věci.

Zjednodušeně řečeno. Pokud publikujete obsah na webu, dejte mu smysluplnou adresu. Existuje–li relevantní obsah na jiných adresách, propojte je odkazy. V kontextu článku jsou zmiňovány hlavně RDF data, proto je myšleno propojovat různé RDF zdroje/endpointy/profily pomocí různých technik jako rdfs:seeAlso, vytváření identifikátorů uzlů #idUzlu uvnitř RDF souborů a odkazování z okolí na tyto identifikátory, přesměrování pomocí hlavičky HTTP 303 See Also, atp. Smysl to má jediný – nástroj, který dokáže automaticky prohledávat propojená data, poskytuje odkazy na další zdroje.

Malé demo – OpenLink RDF Browser poskytuje možnost filtrování a prohledávání zdrojů, sleduje odkazy dále a umožňuje je dále prohlížet. Zadejte do adresního políčka URL mého FOAF profilu a vyzkoušejte si, jak tato teorie může v praxi fungovat.

Tato aktivita není jen planým výkřikem, mnoho zainteresovaných autorů se připojilo do komunitiního projektu Linking Open Data zájmové skupiny Semantic Web Education and Outreach (SWEO) W3C. Cílem této aktivity je poskytovat rozličné datové zdroje ve formátu RDF (Wikipedia, Wikibooks, Geonames, MusicBrainz, WordNet, …) a následně tyto sady dat vzájemně propojovat odkazy v RDF. Konkrétní výstupy již jsou, viz. wiki stránka aktivity.

URI s reprezentací, URI bez reprezentace, identifikace non–webových objektů ID fragmentem

Zde se objevuje spor, jak vlastně identifikovat objekty, které nejsou fyzicky dostupné na internetu – abstraktní pojmy, slovníky, fyzické věci, osoby, …

Existují tři různé přístupy, jak tyto objekty v RDF identifikovat:

  1. Dokument Linked Data zmíněný v úvodu článku zmiňuje vytvořit RDF soubor s popisem metadat, např. http://example.org/sample.rdf. V něm uzel osoby/jiného newebového objektu identifikovat pomocí rdf:ID="nejakeID" a následně osobu identifikovat jako http://example.org/sample.rdf#nejakeID. To umožňuje odkazování na tuto osobu i z jiných RDF zdrojů na webu.
  2. Nejvíce obvyklý způsob používá k popisu newebových objektů webové zdroje, které vrací nějakou reprezentaci – HTML, RDF. V tomto směru lze jako identifikátor osoby považovat i OpenID, o kterém jsem se zmiňoval před několika dny. Výhodou je, že kdykoliv nějaká osoba / nástroj zadá požadavek na zobrazení identifikátoru, dostane zpět nějakou čitelnou reprezentaci jako stránka OpenID identity, RDF metadata o objektu, HTML stránka s informacemi v různých mikroformátech atp. Já osobně tento způsob nepodporuji. Důvodem je fakt, že se zámerně vytváří kolize metdat dokumentu a objektu, který je jím popsán! Jak pak rozlišíte, jestli máte informace o HTML dokumentu nebo člověku?
  3. Poslední možností je použít URI, které nemají reprezentaci. To znamená, že nevrací žádná data. Případně mohou vracet hlavičku HTTP/1.1 204 No Content. Stejně tak lze použít i rozličné tvary adres URN. Výhodou je, že máte unikátní identifikátor, který reprezentuje právě jeden objekt. Pro některé však může být zavádějící, že URI nevrací žádnou reprezentaci.

O tom, který způsob identifikace je nejlepší, nebo lépe ten správný se vedou nekonečné diskuse. Měli bychom mít na paměti, že ať už si vybereme kterýkoliv, měli bych umožnit propojením dat jejich objevování, odkrývání vztahů a budování tak sítě znalostí.


UAX – Fish without meat

Navigace

Vyhledávání

 Vyhledávání 

Povolené operátory: AND, OR a NOT

Kategorie

Nejčtenější

Poslední komentáře

  • Josef Petrák: [1] Já mám v té době "naplánovanou" přednášku ekonomie, ale ta bude muset ustoupit :) škoda, tak třeba jindy....
  • havlikp: nemít v té době již něco naplánovaného, určitě bych se dostavil......
  • }ra!n: :) pro zacatecniky ale urcite nesmirne uzitecne.....
  • optik: autoload je IMHO offtopic :-), dnes leti funkce z rodiny spl_autoload_* :=O...
  • Josef Petrák: [1] Řekněme, že tuhle část OO rysů PHP5 jsem doteď neznal a Zend Framework nepoužívám. A tak se mi dostavilo...

Odkazy

Statistiky návštěvnosti

Obsah © 2004 – 2006 Josef Petrák

Grafika © 2004 Dlouhý Webdesign

Redakční systém BLOG:CMS