Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'rdflib' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
const assert = require('chai').assert
const { getRequestingWebId, verifyDelegator } = require('../lib/handlers/allow')
const rdf = require('rdflib')
const ns = require('solid-namespace')(rdf)
const alice = 'https://alice.com' // principal
const agentWebId = 'https://agent.example.com' // secretary
const verifiedSecretaryGraph = rdf.graph()
verifiedSecretaryGraph.add(
rdf.namedNode(alice),
ns.acl('delegates'),
rdf.namedNode(agentWebId)
)
const notVerifiedSecretaryGraph = rdf.graph()
describe('handlers/allow.js', () => {
describe('getRequestingWebId()', () => {
const emptyFetchDocument = () => {}
it('should return null if no webId and no onBehalfOf present', () => {
let webId // no secretary
let onBehalfOf // no principal
return getRequestingWebId(webId, onBehalfOf, emptyFetchDocument)
.then(userId => {
assert.equal(userId, null,
uris.map(function (u) {
var target = $rdf.sym(u) // Attachment needs text label to disinguish I think not icon.
console.log('Dropped on attachemnt ' + u) // icon was: UI.icons.iconBase + 'noun_25830.svg'
ins.push($rdf.st(subject, predicate, target, doc))
})
kb.updater.update([], ins, function (uri, ok, errorBody, _xhr) {
data: `# ${new Date()} Blank initial Type index
`,
contentType: 'text/turtle'
})
return context
} catch (e) {
const msg = `Error creating new index ${e}`
widgets.complain(context, msg)
}
} // putIndex
context.index = context.index || {}
context.index[visibility] = context.index[visibility] || []
let newIndex
if (context.index[visibility].length === 0) {
newIndex = $rdf.sym(`${relevant.dir().uri + visibility}TypeIndex.ttl`)
console.log(`Linking to new fresh type index ${newIndex}`)
if (!confirm(`OK to create a new empty index file at ${newIndex}, overwriting anything that is now there?`)) {
throw new Error('cancelled by user')
}
console.log(`Linking to new fresh type index ${newIndex}`)
const addMe = [
$rdf.st(context.me, ns.solid(`${visibility}TypeIndex`), newIndex, relevant)
]
try {
await updatePromise(kb.updater, [], addMe)
} catch (err) {
const msg = `Error saving type index link saving back ${newIndex}: ${err}`
widgets.complain(context, msg)
return context
}
prev = here
next = kb.any(here, PAD('next'))
queue = next
queueProperty = 'newlinesBefore'
}
tr1 = ele.parentNode
} else {
prev = subject
next = subject
tr1 = undefined
}
var chunk = UI.widgets.newThing(padDoc)
var label = chunk.uri.slice(-4)
var del = [$rdf.st(prev, PAD('next'), next, padDoc)]
var ins = [
$rdf.st(prev, PAD('next'), chunk, padDoc),
$rdf.st(chunk, PAD('next'), next, padDoc),
$rdf.st(chunk, ns.dc('author'), me, padDoc),
$rdf.st(chunk, ns.sioc('content'), '', padDoc)
]
if (indent > 0) {
// Do not inherit
ins.push($rdf.st(chunk, PAD('indent'), indent, padDoc))
}
console.log(' Fresh chunk ' + label + ' proposed')
updater.update(del, ins, function (uri, ok, errorBody, _xhr) {
if (!ok) {
// alert("Error writing new line " + label + ": " + errorBody);
console.log(' ERROR writing new line ' + label + ': ' + errorBody)
widgets.complain(context, msg)
}
} // putIndex
context.index = context.index || {}
context.index[visibility] = context.index[visibility] || []
let newIndex
if (context.index[visibility].length === 0) {
newIndex = $rdf.sym(`${relevant.dir().uri + visibility}TypeIndex.ttl`)
console.log(`Linking to new fresh type index ${newIndex}`)
if (!confirm(`OK to create a new empty index file at ${newIndex}, overwriting anything that is now there?`)) {
throw new Error('cancelled by user')
}
console.log(`Linking to new fresh type index ${newIndex}`)
const addMe = [
$rdf.st(context.me, ns.solid(`${visibility}TypeIndex`), newIndex, relevant)
]
try {
await updatePromise(kb.updater, [], addMe)
} catch (err) {
const msg = `Error saving type index link saving back ${newIndex}: ${err}`
widgets.complain(context, msg)
return context
}
console.log(`Creating new fresh type index file${newIndex}`)
await putIndex(newIndex)
context.index[visibility].push(newIndex) // @@ wait
} else {
// officially exists
const ixs = context.index[visibility]
try {
//
var thisModule = {}
module.exports = thisModule
var $rdf = require('rdflib')
// This used to be a faw function (no ".expand" but that caused the module exports all to be dropped)
thisModule.expand = function (prefixed) {
var pair = prefixed.split(':')
if (pair.length === 0) throw new Error('Prefixed name has no colon: ' + prefixed)
if (!(pair[0] in thisModule)) throw new Error('Unregistered namespace prefix in: ' + prefixed)
return thisModule[pair[0]](pair[1])
}
thisModule.auth = $rdf.Namespace('http://www.w3.org/ns/auth/acl#') // @@ obsolete - use acl:
thisModule.acl = $rdf.Namespace('http://www.w3.org/ns/auth/acl#')
thisModule.arg = $rdf.Namespace('http://www.w3.org/ns/pim/arg#')
thisModule.cal = $rdf.Namespace('http://www.w3.org/2002/12/cal/ical#')
thisModule.contact = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/contact#')
thisModule.dc = $rdf.Namespace('http://purl.org/dc/elements/1.1/')
thisModule.dct = $rdf.Namespace('http://purl.org/dc/terms/')
thisModule.doap = $rdf.Namespace('http://usefulinc.com/ns/doap#')
thisModule.foaf = $rdf.Namespace('http://xmlns.com/foaf/0.1/')
thisModule.http = $rdf.Namespace('http://www.w3.org/2007/ont/http#')
thisModule.httph = $rdf.Namespace('http://www.w3.org/2007/ont/httph#')
thisModule.icalTZ = $rdf.Namespace('http://www.w3.org/2002/12/cal/icaltzd#') // Beware: not cal:
thisModule.ldp = $rdf.Namespace('http://www.w3.org/ns/ldp#')
thisModule.link = thisModule.tab = thisModule.tabont = $rdf.Namespace('http://www.w3.org/2007/ont/link#')
thisModule.log = $rdf.Namespace('http://www.w3.org/2000/10/swap/log#')
thisModule.meeting = $rdf.Namespace('http://www.w3.org/ns/pim/meeting#')
thisModule.mo = $rdf.Namespace('http://purl.org/ontology/mo/')
module.exports = thisModule
var $rdf = require('rdflib')
// This used to be a faw function (no ".expand" but that caused the module exports all to be dropped)
thisModule.expand = function (prefixed) {
var pair = prefixed.split(':')
if (pair.length === 0) throw new Error('Prefixed name has no colon: ' + prefixed)
if (!(pair[0] in thisModule)) throw new Error('Unregistered namespace prefix in: ' + prefixed)
return thisModule[pair[0]](pair[1])
}
thisModule.auth = $rdf.Namespace('http://www.w3.org/ns/auth/acl#') // @@ obsolete - use acl:
thisModule.acl = $rdf.Namespace('http://www.w3.org/ns/auth/acl#')
thisModule.arg = $rdf.Namespace('http://www.w3.org/ns/pim/arg#')
thisModule.cal = $rdf.Namespace('http://www.w3.org/2002/12/cal/ical#')
thisModule.contact = $rdf.Namespace('http://www.w3.org/2000/10/swap/pim/contact#')
thisModule.dc = $rdf.Namespace('http://purl.org/dc/elements/1.1/')
thisModule.dct = $rdf.Namespace('http://purl.org/dc/terms/')
thisModule.doap = $rdf.Namespace('http://usefulinc.com/ns/doap#')
thisModule.foaf = $rdf.Namespace('http://xmlns.com/foaf/0.1/')
thisModule.http = $rdf.Namespace('http://www.w3.org/2007/ont/http#')
thisModule.httph = $rdf.Namespace('http://www.w3.org/2007/ont/httph#')
thisModule.icalTZ = $rdf.Namespace('http://www.w3.org/2002/12/cal/icaltzd#') // Beware: not cal:
thisModule.ldp = $rdf.Namespace('http://www.w3.org/ns/ldp#')
thisModule.link = thisModule.tab = thisModule.tabont = $rdf.Namespace('http://www.w3.org/2007/ont/link#')
thisModule.log = $rdf.Namespace('http://www.w3.org/2000/10/swap/log#')
thisModule.meeting = $rdf.Namespace('http://www.w3.org/ns/pim/meeting#')
thisModule.mo = $rdf.Namespace('http://purl.org/ontology/mo/')
thisModule.owl = $rdf.Namespace('http://www.w3.org/2002/07/owl#')
thisModule.pad = $rdf.Namespace('http://www.w3.org/ns/pim/pad#')
thisModule.patch = $rdf.Namespace('http://www.w3.org/ns/pim/patch#')
assignURI(req.fullURL, req.get('Slug'), function(err, loc) {
if (err !== 201) {
console.log(err)
res.sendStatus(500)
return
}
// Parse the entity response body, the resource to add to the container
var newMember = new rdflib.IndexedFormula();
newMember.uri = loc;
rdflib.parse(req.rawBody, newMember, loc, serialize, function(err, document) {
// document and newMember are the same thing from here on...
if (err) {
// allow the URI to be used again if this is a bad request
console.log(`error parsing POST body for ${loc}, error: ${err}`);
db.releaseURI(loc)
res.sendStatus(400)
return
}
updateInteractionModel(newMember); // newMember is RDFResource, DirectContainer or BasicContainer
addHeaders(req, res, newMember)
// check if the client requested a specific interaction model through a Link header
// if so, override what we found from the RDF content
// TODO: look for Link type=container as well
if (hasResourceLink(req)) {
newMember.interactionModel = ldp.RDFSource
function serialize (graph, baseUri, contentType, callback) {
try {
// target, kb, base, contentType, callback
$rdf.serialize(null, graph, baseUri, contentType, function (err, result) {
if (err) {
console.log(err)
return callback(err)
}
if (result === undefined) {
return callback(new Error('Error serializing the graph to ' +
contentType))
}
return callback(null, result)
})
} catch (err) {
console.log(err)
callback(err)
}
}
var h = (res && res.hasOwnProperty('headers')) ? res.headers : null;
var b = (h && h.hasOwnProperty('location')) ? h['location'] : this.uri;
if (this.options.baseUrl === '') this.options.baseUrl = b;
if (err) return this.parseFile();
// console.log( res.headers, res.statusCode );
if (res.statusCode == 200) {
var xmlData = '';
this.options.contentType = this.getType(this.uri, res, this.options.contentType);
if (this.options.contentType === 'application/rdf+xml') {
xmlData = body;
} else {
var graph = new rdflib.IndexedFormula();
// TODO - base parameter
var rawData = rdflib.parse(body, graph, this.uri, this.options.contentType);
xmlData = rdflib.serialize(rawData, graph, this.uri, 'application/rdf+xml');
}
var json = this.parseOWL(xmlData, this.options);
return this.cb(null, json);
}
}