CINXE.COM
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/" xmlns:dl="http://purl.org/dc/elements/1.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:bibo="http://purl.org/ontology/bibo/" xmlns:event="http://purl.org/NET/c4dm/event.owl#" xmlns:tl="http://purl.org/NET/c4dm/timeline.owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:oplweb="http://www.openlinksw.com/schemas/oplweb/product#" xmlns:osde="http://osde.openlinksw.com/" xmlns:schema="http://schema.org/" version="XHTML+RDFa 1.0" xml:lang="en"> <head profile="http://www.w3.org/2005/11/profile" about="osde:index.html" typeof="schema:WebPage" rel="schema:mainEntity" resource="http://osde.openlinksw.com/#product"> <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" /> <title property="schema:name">OpenLink Structured Data Editor Home Page</title> <meta name="copyright" content="Copyright © 2016-2019 OpenLink Software" /> <link rel="stylesheet" type="text/css" media="screen" href="./styles/whitepaper.css" /> <link rel="stylesheet" type="text/css" media="screen" href="./styles/bootstrap3.min.css" /> <link rel="stylesheet" type="text/css" media="screen" href="./styles/bootstrap3-fixes.css" /> <link rel="apple-touch-icon" sizes="57x57" href="./images/favicons/apple-touch-icon-57x57.png" /> <link rel="apple-touch-icon" sizes="60x60" href="./images/favicons/apple-touch-icon-60x60.png" /> <link rel="apple-touch-icon" sizes="72x72" href="./images/favicons/apple-touch-icon-72x72.png" /> <link rel="apple-touch-icon" sizes="76x76" href="./images/favicons/apple-touch-icon-76x76.png" /> <link rel="apple-touch-icon" sizes="114x114" href="./images/favicons/apple-touch-icon-114x114.png" /> <link rel="apple-touch-icon" sizes="120x120" href="./images/favicons/apple-touch-icon-120x120.png" /> <link rel="apple-touch-icon" sizes="144x144" href="./images/favicons/apple-touch-icon-144x144.png" /> <link rel="apple-touch-icon" sizes="152x152" href="./images/favicons/apple-touch-icon-152x152.png" /> <link rel="apple-touch-icon" sizes="180x180" href="./images/favicons/apple-touch-icon-180x180.png" /> <link rel="icon" type="image/png" href="./images/favicons/favicon-32x32.png" sizes="32x32" /> <link rel="icon" type="image/png" href="./images/favicons/android-chrome-192x192.png" sizes="192x192" /> <link rel="icon" type="image/png" href="./images/favicons/favicon-96x96.png" sizes="96x96" /> <link rel="icon" type="image/png" href="./images/favicons/favicon-16x16.png" sizes="16x16" /> <link rel="manifest" href="./images/favicons/manifest.json" /> <link rel="mask-icon" href="./images/favicons/safari-pinned-tab.svg" color="#5bbad5" /> <link rel="shortcut icon" href="./images/favicons/favicon.ico" /> <meta name="msapplication-TileColor" content="#2d89ef" /> <meta name="msapplication-TileImage" content="/images/favicons/mstile-144x144.png" /> <meta name="msapplication-config" content="/images/favicons/browserconfig.xml" /> <meta name="theme-color" content="#ffffff" /> <script type="text/turtle"> # //<![CDATA[ @prefix oplwebsrv: <http://www.openlinksw.com/ontology/webservices#> . @prefix schema: <http://schema.org/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix osde: <http://osde.openlinksw.com/#> . ## Generic Description osde:this a schema:CreativeWork , schema:WebPage ; schema:name """RDF Statement Editor Service Description"""@en ; schema:mainEntity osde:product ; schema:author <http://www.openlinksw.com/#this> ; schema:publisher <http://www.openlinksw.com/#this> ; schema:dateCreated "2016-03-18T15:11:57-04:00"^^xsd:dateTime ; schema:datePublished "2016-03-18T15:11:57-04:00"^^xsd:dateTime ; schema:dateModified "2016-03-18T15:12:06-04:00"^^xsd:dateTime ; schema:about osde:EditingAction , osde:product . ## Software Application Description osde:RDFEditorApplication a schema:SoftwareApplication ; schema:name """OpenLink RDF Language Statement Editor"""@en ; schema:description """Open Standards based Editor for Creating and Editing RDF Language Statements/Triples. Once deployed, from desktop or cloud location, this application provides a "deceptively simple" mechanism for creating and deploying structured data using RDF Language statements/triples that can be saved to a variety of storage locations using various HTTP-based protocols (WebDAV, LDP, SPARQL 1.1 INSERT, SPARQL Graph Protocol)."""@en ; schema:publisher <http://www.openlinksw.com/#this> ; schema:author <http://www.openlinksw.com/#this> ; schema:mainEntityOfPage <https://github.com/openlink/rdf-editor#this>, <http://linkeddata.uriburner.com/rdf-editor/>, <https://youtu.be/ftLDf9NHmU0#this>, <https://youtu.be/vmIqGKw3VeY#this>, <https://youtu.be/umrrhFk4W7g#this>, osde:this . ## Editing Action osde:RDFEditingAction a schema:Action ; schema:name """RDF Statement Editing Action"""@en ; schema:target <http://linkeddata.uriburner.com/rdf-editor/#/editor> ; schema:mainEntityOfPage osde:this . ## Web Service Endpoint osde:EditorEndPoint a schema:EntryPoint ; # Schema.org Terms schema:name """RDF Statement Editor Service Endpoint"""@en ; schema:description """HTTP Service Endpoint that accepts a variety of parameters that calibrate RDF Statement Editor behavior"""@en ; schema:contentType "text/html" ; schema:httpMethod "GET" ; schema:urlTemplate """http://{cname}/rdf-editor/#/editor(?uri,ioType,saveDocument,newDocument,view,newStatement,statement:subject,statement:predicate,statement:object)""" ; schema:mainEntityOfPage osde:this ; # OpenLink Web Services Ontology Terms oplwebsrv:isWebServiceOf osde:RDFEditingAction ; oplwebsrv:endPointURL <http://linkeddata.uriburner.com/rdf-editor/#/editor> ; oplwebsrv:urlTemplate """http://{cname}/rdf-editor/#/editor(?uri,ioType,saveDocument,newDocument,view,newStatement,statement:subject,statement:predicate,statement:object)""" ; oplwebsrv:hasParameter osde:viewSelection , osde:defaultStatementSubject , osde:newDocumentState ; oplwebsrv:uriParameterName """view""" ; oplwebsrv:uriParameterValue """statements""" ; oplwebsrv:usageExample <http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:subject=https%3A%2F%2Fs3.amazonaws.com%2Fwebid-sandbox%2FProfile%2FBasic-Identity-Claims-And-Profile-Document.ttl%23i&view=statements> ; schema:mainEntityOfPage osde:this . osde:viewSelection a oplwebsrv:Parameter ; schema:name """viewSelection"""@en ; oplwebsrv:uriParameterName """&view""" ; schema:description """Parameter that determines default editor view."""@en ; oplwebsrv:uriParameterValue """One of "statements", "entities", "attributes", or "values", if using EAV terminology. For RDF terminology, it's one of "triples", "subjects", "predicates", or "objects"."""@en ; schema:mainEntityOfPage osde:this . osde:defaultStatementSubject a oplwebsrv:Parameter ; schema:name """defaultStatementSubject"""@en ; oplwebsrv:uriParameterName """&statement:subject""" ; schema:description """Parameter that determines default subject of initial RDF Language statement presented to user by the statement editor."""@en ; oplwebsrv:uriParameterValue """URI that identifies the subject of the default RDF Language Statement. """@en ; schema:mainEntityOfPage osde:this . osde:newDocumentState a oplwebsrv:Parameter ; schema:name """newDocumentState"""@en ; oplwebsrv:uriParameterName """&newDocument""" ; schema:description """Parameter that determines default document state in regards to editor content."""@en ; oplwebsrv:uriParameterValue """Boolean Values: "true" or "false"."""@en ; schema:mainEntityOfPage osde:this . # //]]> </script> <script type="application/ld+json"> { "@graph": [ { "@id": "http://osde.openlinksw.com/#this", "@type" : [ "http://schema.org/CreativeWork" , "http://schema.org/WebPage" ] , "http://schema.org/name" : [ { "@value" : "RDF Statement Editor Service Description" , "@language" : "en" } ] , "http://schema.org/about" : [ { "@id": "http://osde.openlinksw.com/#product"} , { "@id": "http://osde.openlinksw.com/#EditingAction"} ] , "http://schema.org/author" : [ { "@id": "http://www.openlinksw.com/#this"} ] , "http://schema.org/dateCreated" : [ { "@value" : "2016-03-18T15:11:57-04:00" , "@type" : "http://www.w3.org/2001/XMLSchema#dateTime" } ] , "http://schema.org/dateModified" : [ { "@value" : "2016-03-18T15:12:06-04:00" , "@type" : "http://www.w3.org/2001/XMLSchema#dateTime" } ] , "http://schema.org/datePublished" : [ { "@value" : "2016-03-18T15:11:57-04:00" , "@type" : "http://www.w3.org/2001/XMLSchema#dateTime" } ] , "http://schema.org/publisher" : [ { "@id": "http://www.openlinksw.com/#this"} ] , "http://schema.org/mainEntity" : [ { "@id": "http://osde.openlinksw.com/#product"} ] } , { "@id": "http://osde.openlinksw.com/#RDFEditorApplication", "@type" : [ "http://schema.org/SoftwareApplication" ] , "http://schema.org/name" : [ { "@value" : "OpenLink RDF Language Statement Editor" , "@language" : "en" } ] , "http://schema.org/description" : [ { "@value" : "Open Standards based Editor for Creating and \r\n Editing RDF Language Statements/Triples. \r\n Once deployed, from desktop or cloud location, \r\n this application provides a \"deceptively simple\" \r\n mechanism for creating and deploying structured \r\n data using RDF Language statements/triples that \r\n can be saved to a variety of storage locations \r\n using various HTTP-based protocols (WebDAV, LDP, \r\n SPARQL 1.1 INSERT, SPARQL Graph Protocol)." , "@language" : "en" } ] , "http://schema.org/author" : [ { "@id": "http://www.openlinksw.com/#this"} ] , "http://schema.org/publisher" : [ { "@id": "http://www.openlinksw.com/#this"} ] , "http://schema.org/mainEntityOfPage" : [ { "@id": "https://youtu.be/umrrhFk4W7g#this"} , { "@id": "http://osde.openlinksw.com/#this"} , { "@id": "https://github.com/openlink/rdf-editor#this"} , { "@id": "http://linkeddata.uriburner.com/rdf-editor/"} , { "@id": "https://youtu.be/ftLDf9NHmU0#this"} , { "@id": "https://youtu.be/vmIqGKw3VeY#this"} ] } , { "@id": "http://osde.openlinksw.com/#RDFEditingAction", "@type" : [ "http://schema.org/Action" ] , "http://schema.org/name" : [ { "@value" : "RDF Statement Editing Action" , "@language" : "en" } ] , "http://schema.org/target" : [ { "@id": "http://linkeddata.uriburner.com/rdf-editor/#/editor"} ] , "http://schema.org/mainEntityOfPage" : [ { "@id": "http://osde.openlinksw.com/#this"} ] } , { "@id": "http://osde.openlinksw.com/#EditorEndPoint", "@type" : [ "http://schema.org/EntryPoint" ] , "http://schema.org/name" : [ { "@value" : "RDF Statement Editor Service Endpoint" , "@language" : "en" } ] , "http://schema.org/description" : [ { "@value" : "HTTP Service Endpoint that accepts a variety of \r\n parameters that calibrate RDF Statement Editor behavior." , "@language" : "en" } ] , "http://schema.org/httpMethod" : [ { "@value" : "GET" } ] , "http://schema.org/contentType" : [ { "@value" : "text/html" } ] , "http://schema.org/urlTemplate" : [ { "@value" : "http://{cname}/rdf-editor/#/editor(?uri,ioType,saveDocument,newDocument,view,newStatement,statement:subject,statement:predicate,statement:object)" } ] , "http://www.openlinksw.com/ontology/webservices#isWebServiceOf" : [ { "@id": "http://osde.openlinksw.com/#RDFEditingAction"} ] , "http://www.openlinksw.com/ontology/webservices#endPointURL" : [ { "@id": "http://linkeddata.uriburner.com/rdf-editor/#/editor"} ] , "http://www.openlinksw.com/ontology/webservices#urlTemplate" : [ { "@value" : "http://{cname}/rdf-editor/#/editor(?uri,ioType,saveDocument,newDocument,view,newStatement,statement:subject,statement:predicate,statement:object)" } ] , "http://www.openlinksw.com/ontology/webservices#uriParameterName" : [ { "@value" : "view" } ] , "http://www.openlinksw.com/ontology/webservices#uriParameterValue" : [ { "@value" : "statements" } ] , "http://schema.org/mainEntityOfPage" : [ { "@id": "http://osde.openlinksw.com/#this"} ] , "http://www.openlinksw.com/ontology/webservices#hasParameter" : [ { "@id": "http://osde.openlinksw.com/#viewSelection"} , { "@id": "http://osde.openlinksw.com/#defaultStatementSubject"} , { "@id": "http://osde.openlinksw.com/#newDocumentState"} ] , "http://www.openlinksw.com/ontology/webservices#usageExample" : [ { "@id": "http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:subject=https%3A%2F%2Fs3.amazonaws.com%2Fwebid-sandbox%2FProfile%2FBasic-Identity-Claims-And-Profile-Document.ttl%23i&view=statements"} ] } , { "@id": "http://osde.openlinksw.com/#viewSelection", "@type" : [ "http://www.openlinksw.com/ontology/webservices#Parameter" ] , "http://schema.org/name" : [ { "@value" : "viewSelection" , "@language" : "en" } ] , "http://schema.org/description" : [ { "@value" : "Parameter that determines default editor view." , "@language" : "en" } ] , "http://www.openlinksw.com/ontology/webservices#uriParameterName" : [ { "@value" : "&view" } ] , "http://www.openlinksw.com/ontology/webservices#uriParameterValue" : [ { "@value" : "One of \"statements\", \"entities\", \"attributes\", \r\n or \"values\", if using EAV terminology. For RDF \r\n terminology, it's one of \"triples\", \"subjects\", \r\n \"predicates\", or \"objects\".\r\n " , "@language" : "en" } ] , "http://schema.org/mainEntityOfPage" : [ { "@id": "http://osde.openlinksw.com/#this"} ] } , { "@id": "http://osde.openlinksw.com/#defaultStatementSubject", "@type" : [ "http://www.openlinksw.com/ontology/webservices#Parameter" ] , "http://schema.org/name" : [ { "@value" : "defaultStatementSubject" , "@language" : "en" } ] , "http://schema.org/description" : [ { "@value" : "Parameter that determines default subject of \r\n initial RDF Language statement presented to \r\n user by the statement editor." , "@language" : "en" } ] , "http://www.openlinksw.com/ontology/webservices#uriParameterName" : [ { "@value" : "&statement:subject" } ] , "http://www.openlinksw.com/ontology/webservices#uriParameterValue" : [ { "@value" : "URI that identifies the subject of the \r\n default RDF Language Statement.\r\n " , "@language" : "en" } ] , "http://schema.org/mainEntityOfPage" : [ { "@id": "http://osde.openlinksw.com/#this"} ] } , { "@id": "http://osde.openlinksw.com/#newDocumentState", "@type" : [ "http://www.openlinksw.com/ontology/webservices#Parameter" ] , "http://schema.org/name" : [ { "@value" : "newDocumentState" , "@language" : "en" } ] , "http://schema.org/description" : [ { "@value" : "Parameter that determines default document \r\n state in regards to editor content." , "@language" : "en" } ] , "http://www.openlinksw.com/ontology/webservices#uriParameterName" : [ { "@value" : "&newDocument" } ] , "http://www.openlinksw.com/ontology/webservices#uriParameterValue" : [ { "@value" : "Boolean Values: \"true\" or \"false\"." , "@language" : "en" } ] , "http://schema.org/mainEntityOfPage" : [ { "@id": "http://osde.openlinksw.com/#this"} ] } ] } </script> <!-- script below came from https://dev.twitter.com/web/javascript/loading 2017-12-21 --> <script>window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); t._e = []; t.ready = function(f) { t._e.push(f); }; return t; }(document, "script", "twitter-wjs")); </script> </head> <body> <div style="max-width:950px;margin:auto;" > <p> <a href="https://github.com/openlink/rdf-editor/"> <img style="z-index:2000; position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub" /> </a> </p> <p style="text-align:left;"> <a href="http://www.openlinksw.com/"> <img src="./images/oplogo_std_200x80.png" alt="OpenLink Software logo" /> </a> </p> <h1 class="P1" style="text-align:center;" > <p><img src="./images/osde-icon-64.png" alt="64px OSDE icon" /> <br /> OSDE <br /> The OpenLink Structured Data Editor </p> <a class="twitter-follow-button" href="https://twitter.com/RDF_Editor" data-show-count="false" data-size="large"> Follow @RDF_Editor </a> <a class="twitter-follow-button" href="https://twitter.com/OpenLink" data-show-count="false" data-size="large"> Follow @OpenLink </a> </h1> <div class="section" style="text-align:left; align: center" id="TOC" > <ul> <li> <a href="#What_is_the_OpenLink_Structured_Data_Editor">What is the OpenLink Structured Data Editor?</a> </li> <li> <a href="#Why_is_OSDE_Important">Why is OSDE Important?</a> </li> <li> <a href="#How_do_I_use_OSDE">How do I use OSDE?</a> <ul> <li> <a href="#UseOverview">Overview</a> </li> <li> <a href="#UseExisting">Using an existing OSDE Instance, Local or Hosted</a> <ul> <li> <a href="#BasicUsage">Basic Usage</a> </li> <li> <a href="#TurtleInput">Demonstration of Turtle Input</a> </li> <li> <a href="#UsageScreencasts">Usage Screencasts</a> </li> </ul> </li> <li> <a href="#UseDeployment">Deploying a new OSDE instance</a> <ul> <li> <a href="#UseDeploymentApache">Apache</a> </li> <li> <a href="#UseDeploymentIIS">IIS</a> </li> <li> <a href="#UseDeploymentNodeJS">Node.js</a> </li> <li> <a href="#UseDeploymentTomcat">Tomcat</a> </li> <li> <a href="#UseDeploymentVirtuoso">Virtuoso Enterprise Edition 7.2+</a> </li> <li> <a href="#UseDeploymentVOS">Virtuoso Enterprise Edition ≤7.1</a> </li> <li> <a href="#UseDeploymentVOS">Virtuoso Open Source Edition</a> </li> </ul> </li> <li> <a href="#CustomCraftURIs">Custom Crafting OSDE-Controlling URIs</a> <ul> <li> <a href="#URLParameters">URL Parameters</a> </li> <li> <a href="#CustomURIExamples">Custom URI Examples</a> </li> </ul> </li> <li> <a href="#Troubleshooting">Troubleshooting</a> <ul> <li> <a href="#CORSErrors">CORS Errors</a> </li> </ul> </li> </ul> </li> <li> <a href="#RelatedLinkx">Related Links</a> </li> </ul> </div> <div class="section" id="What_is_the_OpenLink_Structured_Data_Editor"> <h2 class="Heading2">What is OSDE?</h2> <p>OSDE, the OpenLink Structured Data Editor, is a tool for creating and editing structured data using <a href="http://dbpedia.org/resource/Resource_Description_Framework">RDF</a> Language statements/triples, through many web browsers.</p> <p>OSDE enables creation and editing of data using abstract <b><i>subject → predicate → object</i></b> or <b><i>entity → attribute → value</i></b> notation. </p> <p>OSDE currently ingests RDF from documents serialized as <a href="http://dbpedia.org/resource/Turtle_(syntax)">RDF-Turtle</a>, <a href="http://dbpedia.org/resource/JSON-LD">JSON-LD</a>, and <a href="http://dbpedia.org/resource/RDF/XML">RDF/XML</a>.</p> <p>Once constructed or edited, data can be saved to local or remote storage, or directly copied, as <a href="http://dbpedia.org/resource/Turtle_(syntax)">RDF-Turtle</a> documents.</p> <p>Full RDF-Turtle document access requires that <a href="http://dbpedia.org/resource/Hypertext_Transfer_Protocol">HTTP</a>-accessible host servers support at least one of the following open standards —</p> <ul> <li><a href="http://dbpedia.org/resource/Linked_Data_Platform">Linked Data Platform (LDP)</a></li> <li><a href="http://dbpedia.org/resource/WebDAV">WebDAV</a></li> <li><a href="https://www.w3.org/TR/sparql11-update/">SPARQL 1.1 Update</a></li> <li><a href="https://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph Protocol</a></li> </ul> <p>Data stored as RDF-Turtle documents can be further transformed to other formats (<a href="http://dbpedia.org/resource/JSON-LD">JSON-LD</a>, <a href="http://dbpedia.org/resource/Comma-separated_values">CSV</a>, <a href="http://dbpedia.org/resource/Open_Data_Protocol">OData</a>, <a href="http://dbpedia.org/page/Microdata_%28HTML%29">Microdata</a>, <a href="http://dbpedia.org/resource/RDF/XML">RDF/XML</a>, <a href="https://www.w3.org/TR/rdf-json/">RDF/JSON</a>, etc.) using a variety of transformation tools and services.</p> <p><i><b>Note:</b> Safari 9.1.2 and earlier have an issue with memory consumption; this is resolved by updating to <a href="https://developer.apple.com/safari/technology-preview/">Safari Technology Preview, Release 10, of 2016-08-03</a> (requires OS X 10.11.4 or later).</i> </p> </div> <div class="section" id="Why_is_OSDE_Important"> <h2 class="Heading2">Why is OSDE Important?</h2> <p>The <a href="http://dbpedia.org/resource/World_Wide_Web">World Wide Web (or simply, the Web)</a> was originally conceived as a <i>Read-<b>and-Write</b></i> medium, but even now, with user-created content filling many web surfers' screens, most usage remains <i>Read-Only.</i></p> <p>OSDE bolsters the growing <b>Write</b> dimension by letting users create <i>structured data</i> using the familiar File Create → Save → Share pattern, without forcing a document storage location, i.e., documents created with OSDE may be stored to the desktop or to virtually anywhere in the cloud.</p> <h3 class="Heading3">Features of OSDE</h3> <ul> <li>There is no assumption that Structured Data will be created in English; i.e., structured data can be annotated with language tags identifying the natural language of each annotation. (For example, if annotating in English, you would put “<b><code>en</code></b>” in the <code>lang</code> field, when prompted.)</li> <li>Shared Ontologies/Vocabularies may be imported to ease data entry.</li> <li>Sentence predicate types are intelligently suggested, driven by Ontology/Vocabulary lookups.</li> <li>Automatic profile lookup — if authenticated via WebID+TLS protocol — provides default document storage locations and (eventually) other preferences.</li> <li>A variety of <b><i>EDIT</i></b> views are scoped to Statements, Entities, Attribute Names, and Attribute Values. Users can switch between these views to suit their own editing modality preferences.</li> <li>Documents may be saved (or downloaded) to local or cloud storage.</li> <li>Cloud Storage supports multiple HTTP-based storage protocols (<a href="http://dbpedia.org/resource/WebDAV">WebDAV</a>, <a href="http://dbpedia.org/resource/Linked_Data_Platform">LDP</a>, <a href="https://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph Protocol</a>, <a href="https://www.w3.org/TR/sparql11-update/">SPARQL 1.1 Update</a>).</li> <li>Deployment may be through <a href="http://dbpedia.org/resource/Apache_HTTP_Server">Apache</a>, <a href="http://dbpedia.org/resource/Internet_Information_Services">IIS</a>, <a href="https://en.wikipedia.org/wiki/Node.js">Node.js</a>, <a href="http://dbpedia.org/resource/Apache_Tomcat">Tomcat</a>, <a href="http://dbpedia.org/resource/Virtuoso_Universal_Server">OpenLink Virtuoso</a>, or any other HTTP Server.</li> <li>OSDE is 100% Javascript.</li> <li>OSDE is made available as <a href="https://github.com/openlink/rdf-editor/">Open Source (via GitHub)</a>. <i><b>Note —</b> For a number of reasons, the GitHub branches may lag behind our internal branches, from which we produce the <a href="#UseDeployment">downloads linked below</a>, which are used to power our <a href="http://linkeddata.uriburner.com/rdf-editor/">Live demo instance</a>.</i> </li> </ul> </div> <div class="section" id="How_do_I_use_OSDE"> <h2 class="Heading2">How do I use OSDE?</h2> <div id="UseOverview"> <h3 class="Heading3" >Overview</h3> <p>Metaphorically, as in the real-word —</p> <ol> <li>You write sentences to a document (e.g., a page in a book).</li> <li>Sentences in a page are grouped by paragraphs. OSDE groups statements by attribute (predicate) to emulate this concept.</li> <li>A document may be part of a collection — like one of many pieces of paper in a folder, pages in a chapter, or chapters in a book. When writing to a SPARQL server, OSDE treats each document as a named graph.</li> </ol> <p>Somewhat more elaborately —</p> <ul> <li>You write "entity → attribute → value" statements or "subject → predicate → object" triples to a document, which is identified by an HTTP-scheme URL. </li> <li><i>Entity</i> and <i>Attribute</i> (or, if you prefer RDF parlance, <i>Subject</i> and <i>Predicate</i>) are each identified by an HTTP URI, which may be absolute or relative to the document. <i>Value</i> (a/k/a <i>Object)</i> may be either a literal string or a URI.</li> <li>Sentence/Statement collections are grouped by Attribute (Predicate), and this is the basis for optimistic concurrency hashes constructed for handling multi-user editing activity against the same document.</li> </ul> <p>You can get started by creating a brand new document or applying edits to an existing document.</p> </div> <div id="UseExisting"> <h3 class="Heading3">Using an existing OSDE Instance, Local or Hosted</h3> <div id="BasicUsage"> <h4 class="Heading4">Basic Usage</h4> <ol> <li>Set a location for your document. This could be a folder to contain a new document, or the target document itself.</li> <li>Open your document from its location.</li> <li>Add or edit RDF Language statements using any of the view options — defaults are <i>Statements</i>, <i>Entities</i>, <i>Attributes</i>, <i>Values</i>. Configuration options let you change these labels to <i>Triples</i>, <i>Subjects</i>, <i>Predicates</i>, <i>Objects</i>.</li> <li>Save your document to your desktop (via download link) or to a remote cloud location that supports one of: <ul> <li><a href="http://dbpedia.org/resource/Linked_Data_Platform">Linked Data Platform (LDP)</a></li> <li><a href="http://dbpedia.org/resource/WebDAV">WebDAV</a></li> <li><a href="https://www.w3.org/TR/sparql11-update/">SPARQL 1.1 Update</a></li> <li><a href="https://www.w3.org/TR/sparql11-http-rdf-update/">SPARQL Graph Protocol</a></li> </ul> </li> <li>Done.</li> </ol> </div> <div id="TurtleInput"> <h4 class="Heading4">Demonstration of Turtle Input</h4> <ol> <li><p>Start OSDE with a New Document.</p> <p style="text-align:center;" > <a target="_blank" href="./images/osde-usage-demo-screen-1-start-screen.png"> <img src="./images/osde-usage-demo-screen-1-start-screen.400.png" alt="PNG of OSDE demo starting point" width="400" /> </a> </p> </li> <li><p>From the <b>Action</b> menu, select <b>Input Turtle Directly</b>. Paste or type your Turtle, and click <b>Import</b>. </p> <p style="text-align:center;" > <a target="_blank" href="./images/osde-usage-demo-screen-2-turtle-source.png"> <img src="./images/osde-usage-demo-screen-2-turtle-source.400.png" alt="PNG of OSDE demo Turtle input" width="400" /> </a> </p> </li> <li><p>Inspect and/or edit the imported data in Statements view.</p> <p style="text-align:center;" > <a target="_blank" href="./images/osde-usage-demo-screen-3-statements.png"> <img src="./images/osde-usage-demo-screen-3-statements.400.png" alt="PNG of OSDE demo Statements view" width="400" /> </a> </p> </li> <li><p>Inspect and/or edit the imported data in Entities (Subjects) view.</p> <p style="text-align:center;" > <a target="_blank" href="./images/osde-usage-demo-screen-4-entities.png"> <img src="./images/osde-usage-demo-screen-4-entities.400.png" alt="PNG of OSDE demo Entities (Subjects) view" width="400" /> </a> </p> </li> <li><p>Inspect and/or edit the imported data in Attributes (Predicates) view.</p> <p style="text-align:center;" > <a target="_blank" href="./images/osde-usage-demo-screen-5-attributes.png"> <img src="./images/osde-usage-demo-screen-5-attributes.400.png" alt="PNG of OSDE demo Attributes (Predicates) view" width="400" /> </a> </p> </li> <li><p>Inspect and/or edit the imported data in Values (Objects) view.</p> <p style="text-align:center;" > <a target="_blank" href="./images/osde-usage-demo-screen-6-values.png"> <img src="./images/osde-usage-demo-screen-6-values.400.png" alt="PNG of OSDE demo Values (Objects) view" width="400" /> </a> </p> </li> </ol> </div> <div id="UsageScreencasts"> <h4 class="Heading4">Usage Screencasts</h4> <p>Here are a couple of silent screencasts showing OSDE in action, through loose coupling to the <a href="http://osds.openlinksw.com/">OpenLink Structured Data Sniffer (OSDS)</a>, which exposes OSDE as its <i>Annotation</i> feature.</p> <ul> <li><p>OpenLink RDF Editor Demo -- Open Data Flow</p> <p style="text-align:center;" > <iframe style="width: 560px; height: 315px ; border: 0" src="https://www.youtube.com/embed/umrrhFk4W7g" allowfullscreen> </iframe> </p> </li> <li><p>OSDS & OSDE Integration Demo — Beyond Bookmarking Annotation Feature</p> <p style="text-align:center;" > <!-- YouTube supplied iframe <p><iframe width="560" height="315" src="https://www.youtube.com/embed/4v0_qu32od8" frameborder="0" allowfullscreen></iframe></p> --> <!-- fixed for XHTML+RDFa --> <iframe style="width: 560px; height: 315px ; border: 0" src="https://www.youtube.com/embed/4v0_qu32od8" allowfullscreen> </iframe> </p> </li> </ul> </div> </div> <div id="UseDeployment"> <h3 class="Heading3">Deploying a new OSDE instance</h3> <p>If you don't have an existing OSDE instance, deployment takes just a few simple steps, which vary with your HTTP server. <ul> <li>For deployment on Virtuoso Enterprise Edition 7.2+, there are version-specific <a href="http://download3.openlinksw.com/index.html?prefix=uda/vad-packages/">VAD packages</a> (<code>rdf_editor_dav.vad</code>).</li> <li>For deployment on any other HTTP server, including Virtuoso Open Source Edition or Virtuoso Enterprise Edition ≤7.1, there is a <a href="http://download3.openlinksw.com/index.html?prefix=uda/vad-packages/7.2/rdf_editor_pkg.zip">ZIP archive</a> (<code>rdf_editor_pkg.zip</code>).</li> </ul> </p> <div id="UseDeploymentApache"> <h4 class="Heading4">Apache</h4> <ol> <li>Download and install Apache (v2.x).</li> <li>Extract RDF Editor: <p><code>unzip rdf_editor_pkg.zip -d [PATH]</code></p></li> <li>Add new drectory (<code>/rdf-edtor</code>) with RDF Editor to the server configuration.</li> <li>Start Apache Server. <p><code>[APACHE HOME]/bin/httpd</code></p></li> <li>Load this URI in your web browser: <p><code>http://localhost:[port]/rdf-editor/index.html</code></p></li> </ol> </div> <div id="UseDeploymentIIS"> <h4 class="Heading4">IIS</h4> <ol> <li>Start IIS.</li> <li>Extract RDF Editor: <p><code>unzip rdf_editor_pkg.zip -d [IIS Root Path]</code></p></li> <li>Load this URI in your web browser: <p><code>http://localhost:[port]/rdf-editor/index.html</code></p></li> </ol> </div> <div id="UseDeploymentNodeJS"> <h4 class="Heading4">Node.js</h4> <ol> <li>Download and install Node.js.</li> <li>Download and install NPM manager.</li> <li>Install the <code>node.js http-server</code> (a simple, zero-configuration command-line http server) globally, so that it may be run from the command line: <p><code>npm install http-server -g</code></p> </li> <li>Extract RDF Editor: <p><code>unzip rdf_editor_pkg.zip -d [RDF Editor Path]</code></p></li> <li>Start the HTTP Server: <p><code>http-server [RDF Editor Path]/rdf-editor [options]</code></p></li> <li>Load this URI in your web browser: <p><code>http://localhost:[port]/index.html</code></p></li> </ol> </div> <div id="UseDeploymentTomcat"> <h4 class="Heading4">Tomcat</h4> <ol> <li>Download and install Tomcat (v8.x).</li> <li>Start Tomcat. <p><code>[TOMCAT HOME]/bin/startup</code></p></li> <li>Extract RDF Editor: <p><code>unzip rdf_editor_pkg.zip -d [TOMCAT HOME]/webapps/Root</code></p></li> <li>Load this URI in your web browser: <p><code>http://localhost:[port]/rdf-editor/index.html</code></p></li> </ol> </div> <div id="UseDeploymentVirtuoso"> <h4 class="Heading4">Virtuoso Enterprise Edition 7.2+</h4> <ol> <li>In the Virtuoso Conductor, navigate to the <b>System Admin</b> → <b>Packages</b> tab, and use the <b>Install Packages</b> section to install the OSDE VAD package, called <code>rdf_editor_dav.vad</code>. <ul> <li>If not yet listed, download the <code>rdf_editor_dav.vad</code> package for your version of Virtuoso from <a href="http://download3.openlinksw.com/index.html?prefix=uda/vad-packages/">our repository</a>.</li> </ul></li> <li>OSDE will be available at a URL similar to that below, where <code>cname</code> is the <code>{hostname}:{port-number}</code> at which your Virtuoso instance is listening. <p><code>http://{cname}/rdf-editor/index.html</code></p></li> </ol> </div> <div id="UseDeploymentVOS"> <h4 class="Heading4">Virtuoso Open Source Edition or Enterprise Edition ≤7.1</h4> <ol> <li>Mount your Virtuoso DAV repository to your local filesystem.</li> <li>Unzip the RDF Editor ZIP archive to your preferred location in the DAV tree.</li> <li>If desired, use the Virtuoso Conductor to <a href="http://docs.openlinksw.com/virtuoso/virtdir/">configure a vdir</a> to listen at, for instance, <code>http://{cname}/rdf-editor/index.html</code>, and expose the physical location you chose for the extraction.</li> </ol> </div> </div> </div> <div class="section" id="CustomCraftURIs"> <h2 class="Heading2">Custom Crafting OSDE-Controlling URIs</h2> <p>You can use an XHR-oriented parameterized URL to load the Editor with a number of UI choices already made. Several examples follow the parameter details, all based on the <a href="https://tools.ietf.org/html/rfc6570">URI Template —</a></p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%">http://{cname}/rdf-editor/#/editor(?uri,ioType,saveDocument,newDocument,view,newStatement,statement:subject,<br />statement:predicate,statement:object)</tt> </p> <div id="URLParameters"> <h3 class="Heading3">URL Parameters</h3> <h4 class="Heading4"> Usable with READ-oriented GET and POST Methods</h4> <ul> <li><b><code>newDocument</code></b> — Drops current OSDE content before next action. Optional values: <b><code>true</code></b> or <b><code>false</code></b>. </li> <li><b><code>uri</code></b> — <a href="http://dbpedia.org/resource/Percent-encoding">URL encoded</a> URI of the resource to be opened by OSDE. </li> <!-- </ul> <h4 class="Heading4">UI controls</h4> <ul> --> <li><b><code>view</code></b> — The editor view is identified by one of the following values: <ul> <li><b><code>statements</code></b> or <b><code>triples</code></b> — The default view. Always valid. </li> <li><b><code>entities</code></b> or <b><code>subjects</code></b> — The default view when <code>statement:subject</code> is set. Invalid when <code>statement:predicate</code> or <code>statement:object</code> is set. </li> <li><b><code>attributes</code></b> or <b><code>predicates</code></b> — The default view when <code>statement:predicate</code> is set. Invalid when <code>statement:subject</code> or <code>statement:object</code> is set. </li> <li><b><code>values</code></b> or <b><code>objects</code></b>— The default view when <code>statement:object</code> is set. Invalid when <code>statement:subject</code> or <code>statement:predicate</code> is set. </li> </ul> </li> <li><b><code>newStatement</code></b> — The editor will be opened in 'new statement' state. </li> <li><b><code>statement:subject</code></b> — <a href="http://dbpedia.org/resource/Percent-encoding">URL encoded</a> URI value to be initially used as the subject of new statements. If the view parameter is omitted, the editor is opened in <b>Subjects</b> view. When this parameter is used, the enabled values for the view parameter are <b><code>statements</code></b> and <b><code>subjects</code></b>. </li> <li><b><code>statement:predicate</code></b> — <a href="http://dbpedia.org/resource/Percent-encoding">URL encoded</a> URI value to be initially used as the predicate of new statements. If the view parameter is omitted, the editor is opened in <b>Predicates</b> view. When this parameter is used, the enabled values for the view parameter are <b><code>statements</code></b> and <b><code>predicates</code></b>. </li> <li><b><code>statement:object</code></b> — <a href="http://dbpedia.org/resource/Percent-encoding">URL encoded</a> URI value to be initially used as the object of new statements. If the view parameter is omitted, the editor is opened in <b>Objects</b> view. When this parameter is used, the enabled values for the view parameter are <b><code>statements</code></b> and <b><code>objects</code></b>. </li> </ul> <h4 class="Heading4">Usable with WRITE-oriented POST Methods</h4> <ul> <li><b><code>uri</code></b> — <a href="http://dbpedia.org/resource/Percent-encoding">URL encoded</a> URI of the resource to be written by OSDE. </li> <li><b><code>ioType</code></b> — Protocol to use to access the target resource. Optional values: <ul> <li><b><code>webdav</code></b> — The document will be accessed using WebDAV protocol </li> <li><b><code>ldp</code></b> — The document will be accessed using LDP protocol </li> <li><b><code>sparql</code></b> — The document will be accessed using SPARQL protocol </li> <li><b><code>http</code></b> — The document will be accessed using HTTP protocol </li> </ul> </li> <li><b><code>sparqlEndpoint</code></b> — <a href="http://dbpedia.org/resource/Percent-encoding">URL encoded</a> URI that identifies SPARQL endpoint to be used when source document content is identified by a SPARQL <code>CONSTRUCT</code> or <code>DESCRIBE</code> query results URL </li> <li><b><code>saveDocument</code></b> — Save current content to document identified by the Document URI. Optional values: <b><code>true</code></b> or <b><code>false</code></b> </li> </ul> </div> <div id="CustomURIExamples"> <h3 class="Heading3">Custom URI Examples</h3> <div id="CustomURIEx1"> <h4 class="Heading4">[1] Open 'New Document' using 'Statements' view with specific 'Entity' for new Statement</h4> <p>Place Editor in 'New Document' state with current Entity identified by <code><http://dbpedia.org/resource/DBpedia></code> as the Entity of the initial EAV Statement, using 'Statements' view — </p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%"><a href="http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:entity=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia&view=statements">http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:entity=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia&view=statements</a> </tt> </p> </div> <div id="CustomURIEx2"> <h4 class="Heading4">[2] Open 'New Document' using 'Entities' view with specific 'Entity' for new Statement</h4> <p>Place Editor in 'New Document' state with current Entity identified by <code><http://dbpedia.org/resource/DBpedia></code> as the Entity of the initial EAV Statement, using 'Entities' view — </p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%"><a href="http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:entity=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia&view=entities">http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:entity=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia&view=entities</a> </tt> </p> </div> <div id="CustomURIEx3"> <h4 class="Heading4">[3] Open 'New Document' using 'Attributes' view with specific 'Attribute' for new Statement</h4> <p>Place Editor in 'New Document' state with current Entity identified by <code><http://www.w3.org/1999/02/22-rdf-syntax-ns#type></code> as the Attribute of the initial EAV Statement, using 'Attributes' view — </p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%"><a href="http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:attribute=http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23type&view=attributes">http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:attribute=http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23type&view=attributes</a> </tt> </p> </div> <div id="CustomURIEx4"> <h4 class="Heading4">[4] Open 'New Document' using 'Values' view with specific 'Value' for new Statement</h4> <p>Place Editor in 'New Document' state with current Value identified by <code>"Initial Value"</code> as the Value of the initial EAV Statement, using 'Values' view — </p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%"><a href="http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:value=%22Initial%20Value%22&view=values">http://linkeddata.uriburner.com/rdf-editor/#/editor?newDocument=true&statement:value=%22Initial%20Value%22&view=values</a> </tt> </p> </div> <div id="CustomURIEx5"> <h4 class="Heading4">[5] Open existing document using default (i.e., 'Statements') view</h4> <p>Opens up the Description of <code><https://dbpedia.org/resource/DBpedia></code> in the Editor, using the default EAV 'Statements' view — </p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%"><a href="http://linkeddata.uriburner.com/rdf-editor/#/editor?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia">http://linkeddata.uriburner.com/rdf-editor/#/editor?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia</a> </tt> </p> </div> <div id="CustomURIEx6"> <h4 class="Heading4">[6] Open existing document forcing 'Statements' (default) view</h4> <p>Opens up the Description of <code><https://dbpedia.org/resource/DBpedia></code> in the Editor, using the default EAV 'Statements' view — </p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%"><a href="http://linkeddata.uriburner.com/rdf-editor/#/editor?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia&view=statements">http://linkeddata.uriburner.com/rdf-editor/#/editor?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia&view=statements</a> </tt> </p> </div> <div id="CustomURIEx7"> <h4 class="Heading4">[7] Open existing document using default 'Statements' view</h4> <p>Opens up <code><https://dbpedia.org/ontology/Company></code> in the Editor, using the default Statements view — </p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%"><a href="http://linkeddata.uriburner.com/rdf-editor/#/editor?uri=http:%2F%2Fdbpedia.org%2Fontology%2FCompany">http://linkeddata.uriburner.com/rdf-editor/#/editor?uri=http:%2F%2Fdbpedia.org%2Fontology%2FCompany</a> </tt> </p> </div> <div id="CustomURIEx8"> <h4 class="Heading4">[8] Open existing document in 'Statements' view with specific 'Entity' for new Statement</h4> <p>Opens up <code><https://s3.amazonaws.com/webid-sandbox/Profile/Basic-Identity-Claims-And-Profile-Document.ttl></code> in the Editor, using Statements view, with <code><http://dbpedia.org/resource/DBpedia></code> set as the Entity of an additional Statement — </p> <p style="word-wrap: break-word; overflow-x: auto; word-break: break-all; width: 950px; padding: 0px 30px" > <tt style="font-size:125%"><a href="http://linkeddata.uriburner.com/rdf-editor/#/editor?uri=https:%2F%2Fs3.amazonaws.com%2Fwebid-sandbox%2FProfile%2FBasic-Identity-Claims-And-Profile-Document.ttl&statement:entity=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia&view=statements">http://linkeddata.uriburner.com/rdf-editor/#/editor?uri=https:%2F%2Fs3.amazonaws.com%2Fwebid-sandbox%2FProfile%2FBasic-Identity-Claims-And-Profile-Document.ttl&statement:entity=http%3A%2F%2Fdbpedia.org%2Fresource%2FDBpedia&view=statements</a> </tt> </p> </div> </div> </div> <div class="section" id="Troubleshooting"> <h2 class="Heading2">Troubleshooting</h2> <div id="CORSErrors"> <h3 class="Heading3" >CORS Error: {document} failed to load - this could be related to missing CORS settings on the server.</h3> <p>This somewhat cryptic error message results from a complex set of web browser and web server behaviors and design choices. If you encounter a message like this, please see <a href="cors-error.html">our detailed discussion of Cross-Origin Resource Sharing (CORS) Errors</a>.</p> <!-- <p> </p> <ol> <li></li> </ol> <p> </p> --> </div> </div> <div class="section" id="RelatedLinks"> <h2 class="Heading2">Related Links</h2> <ul> <li><a href="http://linkeddata.uriburner.com/rdf-editor/">Live demo instance</a></li> <li><a href="https://youtu.be/ftLDf9NHmU0">Silent screencast based usage demo</a></li> <li><a href="https://youtu.be/vmIqGKw3VeY">Screencast demonstrating loosely-coupled integration</a> with our <a href="http://osds.openlinksw.com/">Structured Data Sniffer extension (OSDS)</a></li> </ul> </div> <div class="footer"> <p style="text-align:center; font-size: 80%;"> <a href="#TOC">Table of Contents</a> </p> <p style="text-align:center; font-size: 80%;"> <a href="http://www.openlinksw.com/">OpenLink Software</a> <br /><br /> <a href="http://validator.w3.org/check?uri=referer"> <img src="http://www.w3.org/Icons/valid-xhtml-rdfa-blue" alt="Valid XHTML + RDFa" /> </a> </p> </div> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> var pageTracker = _gat._getTracker("UA-139779-16"); pageTracker._initData(); pageTracker._trackPageview(); </script> </div> </body> </html>