Peb added a comment.

  made a starting code to download as NTriples by converting from 
SPARQL-Result-JSON. 
  The JSON-LD might be quite straightforward using jsonld.js 
<https://github.com/digitalbazaar/jsonld.js> `fromRdf` function given NT input
  
    diff --git a/wikibase/queryService/api/Sparql.js 
b/wikibase/queryService/api/Sparql.js
    index 9a4e5e1..7003587 100644
    --- a/wikibase/queryService/api/Sparql.js
    +++ b/wikibase/queryService/api/Sparql.js
    @@ -422,6 +422,60 @@ wikibase.queryService.api.Sparql = ( function( $ ) {
        };
     
        /**
    +    * Get the result of the submitted query as N-Triples
    +    *
    +    * @return {string}
    +    */
    +   SELF.prototype.getResultAsNTriples = function() {
    +           var output = '',
    +                   data = this._rawData;
    +
    +           output = this._processData( data, function( row, out ) {
    +                   var rowOut = '';
    +                   var rowVar = 'subject';
    +                   if ( ( row[rowVar] || {} ).type === 'uri' ) {
    +                           rowOut += '<';
    +                           rowOut += ( row[rowVar] || {} ).value;
    +                           rowOut += '> ';
    +                   } else if ( ( row[rowVar] || {} ).type === 'bnode' ) {
    +                           rowOut += '_:';
    +                           rowOut += ( row[rowVar] || {} ).value;
    +                           rowOut += ' ';
    +                   }
    +                   //predicate MUST be of type uri
    +                   rowVar = 'predicate';
    +                   rowOut += '<';
    +                   rowOut += ( row[rowVar] || {} ).value;
    +                   rowOut += '> ';
    +                   //object
    +                   rowVar = 'object';
    +                   if ( ( row[rowVar] || {} ).type === 'uri' ) {
    +                           rowOut += '<';
    +                           rowOut += ( row[rowVar] || {} ).value;
    +                           rowOut += '> ';
    +                   } else if ( ( row[rowVar] || {} ).type === 'literal' ) {
    +                           var obj = ( row[rowVar] || {} );
    +                           var escapedObj = JSON.stringify( String( 
obj.value ) );
    +                           escapedObj = escapedObj.substring( 1, 
escapedObj.length - 1 );
    +                           rowOut += '"';
    +                           rowOut += escapedObj;
    +                           rowOut += '"';
    +                           if ( 'datatype' in obj ) {
    +                                   rowOut += '^^<';
    +                                   rowOut += obj.datatype;
    +                                   rowOut += '>';
    +                           } else if ( 'xml:lang' in obj ) {
    +                                   rowOut += '@';
    +                                   rowOut += obj['xml:lang'];
    +                           }
    +                   }
    +                   rowOut += ' .\n';
    +                   return out + rowOut;
    +           }, output );
    +           return output;
    +   };
    +
    +   /**
         * Render value as per 
http://www.w3.org/TR/sparql11-results-csv-tsv/#tsv
         *
         * @param {Object} binding

TASK DETAIL
  https://phabricator.wikimedia.org/T211177

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Peb
Cc: Lucas_Werkmeister_WMDE, Peb, Smalyshev, Aklapper, VladimirAlexiev, 
darthmon_wmde, alaa_wmde, Ferenczy, sarhan.alaa, Samuditha24, IM3847, 
Dinadineke, Nandana, kostajh, tabish.shaikh91, Lahi, Gq86, GoranSMilovanovic, 
Soteriaspace, Jayprakash12345, Chicocvenancio, JakeTheDeveloper, QZanden, 
EBjune, merbst, LawExplorer, Salgo60, Jogi_don, _jensen, rosalieper, D3r1ck01, 
Jonas, Xmlizer, Samwilson, jkroll, Wikidata-bugs, Jdouglas, Jdlrobson, aude, 
Tobias1984, Manybubbles, Lydia_Pintscher, TheDJ, Mbch331, Rxy
_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to