Skip to content

Latest commit

 

History

History
64 lines (36 loc) · 1.52 KB

DEVNOTES.md

File metadata and controls

64 lines (36 loc) · 1.52 KB

TODOS

  • Make the FacetConceptSupplier Configurable, so it is possible to switch between e.g declared and used properties
  • Currently this is hard coded in facete/FacetServiceUtil.createFacetConceptSupplier(facetConfig)
  • But it should go to the FacetServiceBuilder

Extending Object Templates

A sponate.MappedConcept is a template for creating objects based on a (SPARQL) service. (-> Actually we could generalize it to any service).

We could exploit the $ref feature to work with lookup services:

{ id: '?s', labelInfo: { $ref: { target: lookupService , on: '?s' } }, }

Issue: Can we also do concept based lookups with listServices?

{ id: '?s', labelInfo: { $ref: { target: listService , on: '?o' } }, } from: '?s directorOf ?o'

listService.fetchItems(({?s directorOf ?o}, ?o))

If we use a mappedConcept, we could even join it in (the Sponate Engine will take care of that):

{ id: '?s', labelInfo: { $ref: { target: mappedConcept, on: '?foo', join: true } } // For mappedConcepts we could implement this kind of join support }

So, actually all that is missing is having some meaningful API on AggObject.

We could subclass AggObject to e.g. AggObjectCustom

.add('attr', object) -> object can be:

  • sponate template
  • var
  • expr
  • mappedConcept
  • lookupService
  • listService

//So what gives me a headache is, that the add method needs to be bound to a sponate-context, //so the AggObjectCustom must have the reference as well.

Hm, actually... the reference to the parser should be sufficient...