Giter Site home page Giter Site logo

esmero / esmero-ldp Goto Github PK

View Code? Open in Web Editor NEW
2.0 4.0 2.0 27 KB

Esmero's Base PHP7/Silex fedora API specs LDP Server

License: MIT License

PHP 62.70% HTML 4.63% ApacheConf 0.24% CSS 1.97% JavaScript 30.46%
php7 silex fedora-repository fcrepo ldp metro

esmero-ldp's People

Contributors

diegopino avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

diegopino whikloj

esmero-ldp's Issues

Set readonly mode for Repository

This would affect every Route. Need to defined if doing this at route controller level or per Persistent storage implementation

Resource Persistency

Persistent Storage will be handled by a special storage provider interface derived class/classes. The main idea is that an existing -> freshly created Resource Object will be serialized, its URL and hash (dual keys) used as a search index for the persistency storage index provider (allowing, if needed, the persistent storage service provider to handle Indexing (searching for) and Setting and Retrieving the payload as separate, maybe even under different technologies, but unified as interface access.

RDF Resources will be described by one Object and persisted as a Single payload representation (JSON-LD or at least provided as such by the Storage Provider)
Non RDF Resouces will be described by Two Objects, on equally as RDF Resources and one extra with the Binary Payload. Means 2x Objects.

Native RDF representation and Namespacing

All operations on RDF will be managed internally as JSON-LD documents
For portability and normalization needs all JSON-LD documents will be assumed and handled internally as expanded contextless. (FULL URL)
There won't be XSD guessing but JSON-LD native types will be preserved

No namespacing will be stored per Resource and @context will be swappable if needed.
Multiple @graphs will be used to keep server managed RDF/ User managed RDF in separate domains but same serialized Document.

LDP Resource description

Each resource will be characterized by an object derived from the same interface.
Persistent storage will be handled by another class/classes. The idea is that a Resource Definition itself and any Storage related tasks can be handled as completely different things. Moreover, storage can be implemented as a collection of different strategies and driven by rules.

Each of this objects will handle an unique hash as ID, an URL as seconday ID a native mime-type for its payload, a few timestamps, the payload itself and a LDP Resource Class description.

Add WebAC as a Request/Controller middleware

That. Need a lightweight way of getting inheritance. L-tree? Nah, maybe simpler, maybe persisting the computed authorization each time a resource is created/update instead of on the fly calculating

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.