Carnet web de Charles Népote. Expérimentations, usages, développements, et prospective du web.
[RSS]
Il n'y a pas que Gautier Poupeau qui s'amuse avec RDFa ! Ce dernier le fait avec brio dans un article, comme toujours, on ne peut plus clair, didactique et accessible. Pour de viles raisons matérielles, je vais être beaucoup plus court et technique.
Il ne vous a peut-être pas échappé qu'Operator 0.8a est sortie. Cette extension pour Firefox détecte les métadonnées de chaque page web et permet de réaliser des actions diverses sur ces métadonnées ; par exemple, la description des coordonnées géographiques d'un lieu permettra de visualiser ce lieu dans Google maps, d'un simple clic. Operator utilisait jusqu'à présent les microformats, mais la 0.8a introduit la possibilité de traiter des entités décrites en RDFa.
Operator est extensible via des scripts, permettant de définir des comportements selon les métadonnées de la page.
J'ai donc pris mon plus bel éditeur et, le temps d'analyser l'API (fort mal documentée), développé en quelques heures un script capable d'ouvrir le fichier FOAF d'une personne via Foaf Explorer. Le script fonctionne sous 2 conditions : l'entité décrite est du type foaf:Person et elle est définie par une URI externe (précisée par la propriété rdfs:idDefinedBy).
Je publie le code ci-dessous. Si vous avez réussi à lire jusqu'ici sans lâcher, je ne vous fait pas l'affront de vous expliquer comment l'installer. Je vous propose en revanche de le tester sur la page suivante... Notez enfin que le code est sans doute encore très perfectible.
Profitez seulement !
/***
/* launch_foaf_explorer 0.3 by Charles Nepote (2007-06-14)
Licence GPL v. 2.
launch_foaf_explorer is a script for the Firefox Extension Operator 0.8a
(see http://www.kaply.com/weblog/2007/06/04/operator-08a-is-available/ )
It launch the Foaf file of a given resource on 2 conditions :
-- the resource is a foaf:Person
-- the resource is defined by an external URI with the rdfs:isDefinedBy property
*/
var foaf_explorer = {
/* description : will be shown as an action for a given subject */
description: "Show with Foaf Explorer",
/* icon : ? */
/* icon: "http://xml.mfd-consult.dk/images/foaf-explorer.32.png", */
scope: {
semantic: {
"RDFa" : {
/* property which is concerned by this action */
property : "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
defaultNS : "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
}
}
},
doAction: function(semanticObject, semanticObjectType) {
if (semanticObjectType == "RDFa") {
var so = semanticObject;
var isDefinedBy = so.model.getProperty(so.subject, "http://www.w3.org/2000/01/rdf-schema#isDefinedBy");
/* If the object is a foaf:Person and is defined by an external URI (rdfs:isDefinedBy) */
/* then launch the foaf file with foaf explorer */
if (so.type == "http://xmlns.com/foaf/0.1/Person" && isDefinedBy) {
/* alert (so.type); /* debug */
return "http://xml.mfd-consult.dk/foaf/explorer/?foaf=" + isDefinedBy;
}
}
}
};
SemanticActions.add("foaf_explorer", foaf_explorer);
| Fichier attaché | Taille |
|---|---|
| foaf_explorer.js | 1.59 Ko |
Commentaires
Bonjour, Je vous prie de
Bonjour,
Je vous prie de m'excuser, mais quel est le rapport entre le nom de votre site "RN7", et les sujets qui y sont développés ?
C'est ce nom qui m'a incité à venir voir, déception, aucun rapport avec la célèbre route nationale.
Pourtant je suppose qu'il y a une ou plusieurs raisons à l'origine de ce choix. Accepteriez-vous de les livrer ? Cordialement
Nom rn7
Il y a en effet plusieurs raisons à ce choix. Tout d'abord c'était un des derniers nom de domaine en 3 lettres encore disponible au moment où je l'ai déposé. Je souhaitais un nom court et facile à retenir.
Par ailleurs, j'avais à l'époque le projet, réalisé depuis, de quitter la région parisienne et plus précisément avec le secret espoir de descendre vers le sud (et donc le long de la nationale 7).
Enfin, je suis un vieux fan du grand Charles (Trenet) qui a chanté Nationale 7 et avec qui je partage ma région d'origine (Narbonne).
Poster un nouveau commentaire