Triplr operator userscript

From GetSemantic

Jump to: navigation, search
function triplr() {
}

ufJSParser.microformats.triplr = {
  version: "0.7",
  mfObject: triplr,
 attributeName: "profile",
  attributeValues: ["http://www.w3.org/2003/g/data-view","http://purl.org/NET/erdf/profile"],
  definition: {
    values: {
      "transformation" : {
        virtual: true,
        virtualGetter: function(propnode, mfnode, definition) {
          return "foo";
        }
      }
    },
    ufjs: {
      "ufjsDisplayName" : {
        virtual: true,
        virtualGetter: function(propnode, mfnode, definition) {
          if (mfnode.ownerDocument) {
            return mfnode.ownerDocument.title;
          } else {
            return mfnode.title;
          }
        }
      }
    }
  }
};

ufJSActions.actions.extract_rdf_xml = {
  description: "Extract RDF/XML",
  scope: {
    microformats: {
      "triplr" : "triplr"
    }
  },
  doAction: function(node, microformatName, event) {
   triplr_action(node, microformatName, event, 'rdf');
	},
};


ufJSActions.actions.extract_turtle = {
  description: "Extract turtle",
  scope: {
    microformats: {
      "triplr" : "triplr"
    }
  },
  doAction: function(node, microformatName, event){
   triplr_action(node, microformatName, event, 'turtle');
	},
};

ufJSActions.actions.extract_ntriples = {
  description: "Extract Ntriples",
  scope: {
    microformats: {
      "triplr" : "triplr"
    }
  },
  doAction: function(node, microformatName, event){
   triplr_action(node, microformatName, event, 'ntriples');
	},
};

ufJSActions.actions.extract_json = {
  description: "Extract JSON",
  scope: {
    microformats: {
      "triplr" : "triplr"
    }
  },
  doAction: function(node, microformatName, event){
   triplr_action(node, microformatName, event, 'json');
	},
};

ufJSActions.actions.extract_json = {
  description: "View Triples as HTML Table",
  scope: {
    microformats: {
      "triplr" : "triplr"
    }
  },
  doAction: function(node, microformatName, event){
   triplr_action(node, microformatName, event, 'html');
	},
};

ufJSActions.actions.extract_rss = {
  description: "Extract RSS",
  scope: {
    microformats: {
      "triplr" : "triplr"
    }
  },
  doAction: function(node, microformatName, event){
   triplr_action(node, microformatName, event, 'rss');
	},
};

function triplr_action(node, microformatName, event, output_format)
{
	var microformatNames;
    if (!microformatName)
	{
      microformatNames = ufJS.getMicroformatNameFromNode(node);
    } 
	else
	{
      microformatNames = [];
      microformatNames.push(microformatName);
    }
    var url;
    
	for (var i in microformatNames)
	{
      	if (microformatNames[i] == "triplr")
		{
        	url = "http://triplr.com/"+output_format+"/";
        	var pageurl;
        	if (node.ownerDocument)
			{
          		pageurl = node.ownerDocument.URL;
        	} 
			else
			{
          		pageurl = node.URL;
        	}
        	url += pageurl;
        	break;
      	}
    }
    if (url) 
	{
      openUILink(url, event);
    }
  };


//
Personal tools