Skip to content

Commit

Permalink
build(deps): use @hydrofoil/vocabularies
Browse files Browse the repository at this point in the history
  • Loading branch information
tpluscode committed Jun 11, 2021
1 parent 014ad6c commit 001fbd0
Show file tree
Hide file tree
Showing 30 changed files with 99 additions and 91 deletions.
3 changes: 2 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
"project": "./tsconfig.json"
},
"rules": {
"no-undef": "off"
"no-undef": "off",
"camelcase": ["error", {"allow": ["hyper_"]}]
},
"overrides": [{
"files": ["*.ts"],
Expand Down
5 changes: 0 additions & 5 deletions apps/conduit/resources/api/events/index.ttl

This file was deleted.

9 changes: 0 additions & 9 deletions apps/conduit/resources/api/knossos.ttl

This file was deleted.

6 changes: 3 additions & 3 deletions packages/express-events/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ import { fromPointer } from '@rdfine/as/lib/Activity'
import clownface, { GraphPointer } from 'clownface'
import $rdf from 'rdf-ext'
import { nanoid } from 'nanoid'
import namespace from '@rdfjs/namespace'
import { hyper_events } from '@hydrofoil/vocabularies/builders/strict'
import { attach } from 'rdf-express-node-factory'
import { isNamedNode } from './lib'
import { loadHandlers } from './lib/loadHandlers'
import { runHandler } from './lib/runHandler'

export const ns = namespace('https://hypermedia.app/events#')
export { hyper_events as ns } from '@hydrofoil/vocabularies/builders/strict'

interface HandlerParams {
event: Activity
Expand Down Expand Up @@ -72,7 +72,7 @@ export const knossosEvents = ({ path = '_activity' }: KnossosEvents = {}): expre
return item.handlers
.then(handlers => {
const immediatePromises = handlers.map((entry) => {
if (!entry.handler.has(ns.immediate, true).terms.length) {
if (!entry.handler.has(hyper_events.immediate, true).terms.length) {
req.knossos.log('Not immediate handler %s', entry.handler.value)
return
}
Expand Down
9 changes: 5 additions & 4 deletions packages/express-events/lib/loadHandlers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ import { Activity } from '@rdfine/as'
import { DESCRIBE } from '@tpluscode/sparql-builder'
import { as, rdf, rdfs } from '@tpluscode/rdf-ns-builders'
import { sparql } from '@tpluscode/rdf-string'
import { hyper_events } from '@hydrofoil/vocabularies/builders/strict'
import { code } from '@hydrofoil/namespaces'
import type * as express from 'express'
import $rdf from 'rdf-ext'
import { Handler, ns } from '../index'
import { Handler } from '../index'

export interface RuntimeHandler {
handler: GraphPointer
Expand All @@ -26,12 +27,12 @@ function handlerQuery(event: Activity) {
${event.object ? sparql`${event.object.id} a ?type .` : sparql`VALUES ?type { ${rdfs.Resource} }`}
?handler a ${ns.EventHandler} ;
${ns.eventSpec} [
?handler a ${hyper_events.EventHandler} ;
${hyper_events.eventSpec} [
${rdf.predicate} ${rdf.type} ;
${rdf.object} ?activity ;
] ;
${ns.objectSpec} [
${hyper_events.objectSpec} [
${rdf.predicate} ${rdf.type} ;
${rdf.object} ?type ;
] ;
Expand Down
1 change: 1 addition & 0 deletions packages/express-events/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
],
"dependencies": {
"@hydrofoil/namespaces": "^0.0.0",
"@hydrofoil/vocabularies": "^0.1.0",
"@rdfjs/namespace": "^1.1.0",
"@rdfine/as": "^0.1.0",
"@tpluscode/rdf-ns-builders": "^0.4.2",
Expand Down
4 changes: 0 additions & 4 deletions packages/express-events/resources/api/events/index.ttl

This file was deleted.

9 changes: 5 additions & 4 deletions packages/express-events/test/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import sinon from 'sinon'
import { as } from '@tpluscode/rdf-ns-builders'
import { knossosMock } from '@labyrinth/testing/knossos'
import { blankNode } from '@labyrinth/testing/nodeFactory'
import { knossosEvents, ns } from '../index'
import { hyper_events } from '@hydrofoil/vocabularies/builders'
import { knossosEvents } from '../index'
import * as lib from '../lib/loadHandlers'

describe('@hydrofoil/express-events', () => {
Expand Down Expand Up @@ -87,7 +88,7 @@ describe('@hydrofoil/express-events', () => {
const otherHandler = sinon.spy()
const loadHandlers = sinon.stub(lib, 'loadHandlers')
loadHandlers.resolves([{
handler: blankNode().addOut(ns.immediate, true),
handler: blankNode().addOut(hyper_events.immediate, true),
impl: immediateHandler,
}, {
handler: blankNode(),
Expand Down Expand Up @@ -127,7 +128,7 @@ describe('@hydrofoil/express-events', () => {
const immediateHandler = sinon.spy()
const loadHandlers = sinon.stub(lib, 'loadHandlers')
loadHandlers.resolves([{
handler: blankNode().addOut(ns.immediate, true),
handler: blankNode().addOut(hyper_events.immediate, true),
impl: immediateHandler,
}])

Expand Down Expand Up @@ -163,7 +164,7 @@ describe('@hydrofoil/express-events', () => {
const otherHandler = sinon.spy()
const loadHandlers = sinon.stub(lib, 'loadHandlers')
loadHandlers.resolves([{
handler: blankNode().addOut(ns.immediate, true),
handler: blankNode().addOut(hyper_events.immediate, true),
impl: sinon.spy(),
}, {
handler: blankNode(),
Expand Down
2 changes: 1 addition & 1 deletion packages/knossos/collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import { fromPointer } from '@rdfine/hydra/lib/IriTemplate'
import { IriTemplateBundle } from '@rdfine/hydra/bundles'
import RdfResource, { ResourceIdentifier } from '@tpluscode/rdfine'
import clownface, { AnyPointer, GraphPointer } from 'clownface'
import { knossos } from '@hydrofoil/vocabularies/builders/strict'
import { shaclValidate } from './shacl'
import { knossos } from './lib/namespace'
import { save } from './lib/resource'

RdfResource.factory.addMixin(...IriTemplateBundle)
Expand Down
2 changes: 1 addition & 1 deletion packages/knossos/lib/middleware/systemAuth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import error from 'http-errors'
import clownface from 'clownface'
import $rdf from 'rdf-ext'
import { rdf } from '@tpluscode/rdf-ns-builders'
import { knossos } from '../namespace'
import { knossos } from '@hydrofoil/vocabularies/builders/strict'

interface SystemAuth {
log: Debugger
Expand Down
5 changes: 0 additions & 5 deletions packages/knossos/lib/namespace.ts

This file was deleted.

2 changes: 1 addition & 1 deletion packages/knossos/lib/resource.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import clownface, { AnyPointer, GraphPointer } from 'clownface'
import express from 'express'
import { Debugger } from 'debug'
import TermSet from '@rdfjs/term-set'
import { knossos } from '@hydrofoil/vocabularies/builders/strict'
import { Knossos } from '../server'
import { knossos } from './namespace'

export interface BeforeSaveParams {
/**
Expand Down
1 change: 1 addition & 0 deletions packages/knossos/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"@fcostarodrigo/walk": "^5.0.1",
"@hydrofoil/knossos-events": "0.0.0",
"@hydrofoil/labyrinth": "^0.4.1",
"@hydrofoil/vocabularies": "^0.1.1",
"@rdfine/hydra": "^0.6.4",
"@graphy/content.trig.read": "^4.3.3",
"@rdfjs/namespace": "^1.1.0",
Expand Down
11 changes: 0 additions & 11 deletions packages/knossos/resources/api/knossos.ttl

This file was deleted.

2 changes: 1 addition & 1 deletion packages/knossos/test/collection.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import { namedNode } from '@labyrinth/testing/nodeFactory'
import { expect } from 'chai'
import sinon from 'sinon'
import httpStatus from 'http-status'
import * as ns from '@hydrofoil/vocabularies/builders'
import { CreateMember } from '../collection'
import * as ns from '../lib/namespace'

describe('@hydrofoil/knossos/collection', () => {
let app: express.Express
Expand Down
2 changes: 1 addition & 1 deletion packages/knossos/test/lib/middleware/systemAuth.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import request from 'supertest'
import httpStatus from 'http-status'
import RdfResource from '@tpluscode/rdfine'
import { expect } from 'chai'
import { knossos } from '@hydrofoil/vocabularies/builders/strict'
import { systemAuth } from '../../../lib/middleware/systemAuth'
import { knossos } from '../../../lib/namespace'

describe('@hydrofoil/knossos/lib/middleware/systemAuth', () => {
const log: any = sinon.spy()
Expand Down
2 changes: 1 addition & 1 deletion packages/knossos/test/resource.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import clownface from 'clownface'
import { expect } from 'chai'
import { namedNode } from '@labyrinth/testing/nodeFactory'
import httpError from 'http-errors'
import * as ns from '@hydrofoil/vocabularies/builders/strict'
import * as resource from '../resource'
import * as ns from '../lib/namespace'
import * as shacl from '../shacl'

const setBeforeHooks: express.RequestHandler = (req, res, next) => {
Expand Down
8 changes: 4 additions & 4 deletions packages/labyrinth/lib/collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import StreamClient from 'sparql-http-client/StreamClient'
import { ResourceIdentifier } from '@tpluscode/rdfine'
import { HydraBox } from 'hydra-box'
import DatasetExt from 'rdf-ext/lib/Dataset'
import * as ns from '@hydrofoil/namespaces'
import { hyper_query } from '@hydrofoil/vocabularies/builders'
import { DESCRIBE } from '@tpluscode/sparql-builder'
import { getSparqlQuery } from './query/collection'
import { loadLinkedResources } from './query/eagerLinks'
Expand Down Expand Up @@ -60,7 +60,7 @@ function addCollectionViews({ collection, total, template, query = emptyDataset,
}

function addTemplateMappings(collection: GraphPointer, template: IriTemplate, request: AnyPointer = emptyDataset): void {
collection.addOut(ns.query.templateMappings, currMappings => {
collection.addOut(hyper_query.templateMappings, currMappings => {
template.mapping.forEach(mapping => {
if (mapping.property) {
const property = mapping.property.id
Expand Down Expand Up @@ -153,8 +153,8 @@ export async function collection({ hydraBox, pageSize, sparqlClient, query, ...r

collection.namedNode(collection.term).addOut(hydra.member, members)

const eagerLoadByCollection = api.node([hydraBox.operation.term, ...hydraBox.resource.types]).out(ns.query.include)
const eagerLoadByMembers = api.node(collection.out(hydra.member).out(rdf.type).terms).out(ns.query.include)
const eagerLoadByCollection = api.node([hydraBox.operation.term, ...hydraBox.resource.types]).out(hyper_query.include)
const eagerLoadByMembers = api.node(collection.out(hydra.member).out(rdf.type).terms).out(hyper_query.include)
const includeLinked = [...eagerLoadByCollection.toArray(), ...eagerLoadByMembers.toArray()]
collection.dataset.addAll(await loadLinkedResources(collection.out(hydra.member), includeLinked, sparqlClient))

Expand Down
4 changes: 2 additions & 2 deletions packages/labyrinth/lib/middleware/preprocessResource.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Request, RequestHandler } from 'express'
import clownface, { GraphPointer } from 'clownface'
import asyncMiddleware from 'middleware-async'
import { rdf } from '@tpluscode/rdf-ns-builders'
import { query } from '@hydrofoil/namespaces'
import { hyper_query } from '@hydrofoil/vocabularies/builders/strict'

export interface Enrichment {
(req: Request, pointer: GraphPointer<NamedNode>): Promise<void>
Expand All @@ -16,7 +16,7 @@ export function preprocessResource(): RequestHandler {

const enrichmentPromises = clownface(req.hydra.api)
.node(resourcePointer.out(rdf.type).terms)
.out(query.preprocess)
.out(hyper_query.preprocess)
.map(pointer => req.loadCode<Enrichment>(pointer))

const enrichment = await Promise.all(enrichmentPromises)
Expand Down
10 changes: 5 additions & 5 deletions packages/labyrinth/lib/query/collection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import cf, { AnyPointer, GraphPointer } from 'clownface'
import { sparql, SparqlTemplateResult } from '@tpluscode/rdf-string'
import { IriTemplate, IriTemplateMapping } from '@rdfine/hydra'
import { Api } from 'hydra-box/Api'
import { query } from '@hydrofoil/namespaces'
import { hyper_query } from '@hydrofoil/vocabularies/builders/strict'
import type { StreamClient } from 'sparql-http-client/StreamClient'
import once from 'once'
import toArray from 'stream-to-array'
Expand All @@ -32,7 +32,7 @@ function createTemplateVariablePatterns(subject: Variable, queryPointer: AnyPoin
return ''
}

const queryFilters = mapping.pointer.out(query.filter)
const queryFilters = mapping.pointer.out(hyper_query.filter)
if (!queryFilters.value) {
log('Implementation not found for %s', property.id.value)
return ''
Expand Down Expand Up @@ -79,7 +79,7 @@ function onlyValidManagesBlocks(manages: GraphPointer) {
type SelectBuilder = ReturnType<typeof SELECT>

function createOrdering(api: AnyPointer, collection: GraphPointer, subject: Variable): { patterns: SparqlTemplateResult; addClauses(q: SelectBuilder): SelectBuilder } {
const orders = api.node(collection.out(rdf.type) as any).out(query.order).toArray()
const orders = api.node(collection.out(rdf.type) as any).out(hyper_query.order).toArray()
if (!orders.length) {
return {
patterns: sparql``,
Expand All @@ -92,7 +92,7 @@ function createOrdering(api: AnyPointer, collection: GraphPointer, subject: Vari
const clauses: Array<{ variable: Variable; descending: boolean }> = []

for (const order of orders[0].list()!) {
const propertyPath = order.out(query.path).list()
const propertyPath = order.out(hyper_query.path).list()
if (!propertyPath) continue

const path = [...propertyPath].reduce((current, prop, index) => {
Expand All @@ -107,7 +107,7 @@ function createOrdering(api: AnyPointer, collection: GraphPointer, subject: Vari

clauses.push({
variable,
descending: ldp.Descending.equals(order.out(query.direction).term),
descending: ldp.Descending.equals(order.out(hyper_query.direction).term),
})
}

Expand Down
1 change: 1 addition & 0 deletions packages/labyrinth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
},
"dependencies": {
"@hydrofoil/namespaces": "^0.0.0",
"@hydrofoil/vocabularies": "^0.1.0",
"@rdfine/hydra": "^0.6",
"@rdfjs/data-model": "^1.2",
"@rdfjs/term-map": "^1.0.0",
Expand Down
6 changes: 3 additions & 3 deletions packages/labyrinth/resource.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import asyncMiddleware from 'middleware-async'
import clownface from 'clownface'
import $rdf from 'rdf-ext'
import TermSet from '@rdfjs/term-set'
import { query } from '@hydrofoil/namespaces'
import { hyper_query } from '@hydrofoil/vocabularies/builders'
import { DESCRIBE } from '@tpluscode/sparql-builder'
import parsePreferHeader from 'parse-prefer-header'
import express from 'express'
Expand All @@ -34,10 +34,10 @@ export const get = asyncMiddleware(async (req, res) => {

let dataset = await $rdf.dataset().import(await DESCRIBE`${req.hydra.resource.term}`.execute(req.labyrinth.sparql.query))
if (!req.agent) {
const restrictedProperties = new TermSet([...types.out(query.restrict).terms])
const restrictedProperties = new TermSet([...types.out(hyper_query.restrict).terms])
dataset = dataset.filter(quad => !restrictedProperties.has(quad.predicate))
}

const pointer = clownface({ dataset, term: req.hydra.resource.term })
return res.dataset(dataset.merge(await loadLinkedResources(pointer, types.out(query.include).toArray(), req.labyrinth.sparql)))
return res.dataset(dataset.merge(await loadLinkedResources(pointer, types.out(hyper_query.include).toArray(), req.labyrinth.sparql)))
})
4 changes: 2 additions & 2 deletions packages/labyrinth/test/collection.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import toStream from 'into-stream'
import { hydraBox } from '@labyrinth/testing/hydra-box'
import * as ns from '@hydrofoil/namespaces'
import { ex } from '@labyrinth/testing/namespace'
import { query } from '@hydrofoil/namespaces'
import { hyper_query } from '@hydrofoil/vocabularies/builders/strict'
import { get } from '../collection'
import * as collectionQuery from '../lib/query/collection'

Expand Down Expand Up @@ -119,7 +119,7 @@ describe('@hydrofoil/labyrinth/collection', () => {
// then
const dataset = await $rdf.dataset().import(parsers.import('application/ld+json', toStream(res.text))!)
const title = cf({ dataset })
.out(query.templateMappings)
.out(hyper_query.templateMappings)
.out(schema.title)
.value

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { literal } from '@rdfjs/data-model'
import request from 'supertest'
import { hydraBox } from '@labyrinth/testing/hydra-box'
import { ex } from '@labyrinth/testing/namespace'
import { query } from '@hydrofoil/namespaces'
import { hyper_query } from '@hydrofoil/vocabularies/builders/strict'
import { preprocessResource } from '../../../lib/middleware/preprocessResource'

describe('labyrinth/lib/middleware/preprocessResource', () => {
Expand All @@ -27,7 +27,7 @@ describe('labyrinth/lib/middleware/preprocessResource', () => {
.addOut(ns.rdf.type, [ex.Person])
cf(hydra.api)
.addOut(ns.hydra.supportedClass, ex.Person, clas => {
clas.addOut(query.preprocess, literal('loads and call enrichment function', ex.TestEnrichment))
clas.addOut(hyper_query.preprocess, literal('loads and call enrichment function', ex.TestEnrichment))
})
},
}))
Expand Down
4 changes: 2 additions & 2 deletions packages/labyrinth/test/lib/query/collections.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { sparql, SparqlTemplateResult } from '@tpluscode/rdf-string'
import { SELECT } from '@tpluscode/sparql-builder'
import * as Hydra from '@rdfine/hydra'
import RdfResource from '@tpluscode/rdfine'
import * as ns from '@hydrofoil/namespaces'
import { hyper_query } from '@hydrofoil/vocabularies/builders/strict'
import { fromPointer } from '@rdfine/hydra/lib/IriTemplate'
import { ex } from '@labyrinth/testing/namespace'
import '@labyrinth/testing/sparql'
Expand Down Expand Up @@ -220,7 +220,7 @@ describe('@hydrofoil/labyrinth/lib/query/collection', () => {
types: [hydra.IriTemplateMapping],
property: schema.title,
variable: 'title',
[ns.query.filter.value]: {},
[hyper_query.filter.value]: {},
}],
}),
query: cf({ dataset: $rdf.dataset() })
Expand Down
1 change: 0 additions & 1 deletion packages/namespaces/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import namespace from '@rdfjs/namespace'

export const hydraBox = namespace('http://hydra-box.org/schema/')
export const query = namespace('https://hypermedia.app/query#')
export const code = namespace('https://code.described.at/')
Loading

0 comments on commit 001fbd0

Please sign in to comment.