trellis-ldp/static-ldp

静态资产的LDP服务器

安装: 20

依赖: 0

建议者: 0

安全: 0

星星: 12

关注者: 7

分支: 3

开放问题: 2

类型:项目


README

将静态资产作为只读LDP服务器公开的简单方法。

Minimum PHP Version Build Status

需求

安装

要安装static-ldp,请按照以下步骤操作

  1. 运行composer create-project trellis-ldp/static-ldp
  2. 创建一个类似于这样的./.env.local文件
TRELLIS_SOURCE_DIR='/path/to/resources'

基础知识

通过安装static-ldp并将TRELLIS_SOURCE_DIR配置为指向您的静态资源位置,您就可以拥有一个简单、只读的链接数据服务器。

网页内容将从./public目录提供。

LDP资源

单个文件作为ldp:NonRDFSource资源提供服务,目录作为ldp:BasicContainer资源提供服务。如果静态文件是RDF文件,则它将作为ldp:RDFSource提供服务。

描述LDP非RDF资源

还可以通过Link: <IRI>; rel="describedby"头部描述一个ldp:NonRDFSource。例如,如果JPEG文件名为rosid_rosaceae.jpg,那么通过添加一个名为rosid_rosaceae.jpg.ttl(或任何有效的RDF格式,如rosid_rosaceae.jpg.jsonld)的RDF文件,则对rosid_rosaceae.jpg的请求将包含指向ldp:RDFSource的链接头部。同样,ldp:RDFSource将包含指向ldp:NonRDFSource的链接头部(rel="describes")。

实例摘要支持

所有资源都支持根据RFC 3230定义的实例摘要。这意味着响应可以包含一个Digest头部,以便可以确保端到端数据完整性。包含头部:Want-Digest: md5Want-Digest: sha1的请求将包含包含与磁盘资源对应的摘要的响应。

只支持md5sha1算法;其他算法将被忽略。需要注意的是,对于大文件,包含Want-Digest的请求可能执行速度会慢得多,因为摘要需要在发送响应之前计算。

配置

有许多配置选项可用。只有sourceDirectory 必须定义。其他选项包括

template: default.twig

如果您希望用您自己的设计覆盖HTML模板,可以更改此值以指向不同的位置。或者,您也可以编辑位于templates目录中的default.twig文件。尽管如果您计划自定义模板,建议您使用一个单独的文件。

defaultRdfFormat: turtle

对于没有Accept头部的请求,这是响应中使用的RDF格式(用于ldp:RDFSourceldp:BasicContainer资源)。

contentDisposition: false

对于ldp:NonRDFSource资源,这控制是否在响应中包含Content-Disposition头部。

extraPropertiesFilename: properties

对于每个成为ldp:BasicContainer资源的目录,该目录中具有此名称的RDF文件的内容将添加到作为响应提供的RDF中(而不是成为其自身的子资源)。这提供了一种向ldp:BasicContainer添加用户控制的属性的方法。

validRdfFormats:
    turtle:
        mimeType: text/turtle
        extension: ttl
    jsonld:
        mimeType: application/ld+json
        extension: jsonld
    ntriples:
        mimeType: application/n-triples
        extension: nt

一般来说,除非需要支持此处未包含的序列化格式,否则不应更改RDF格式。RDF格式(例如turtlejsonld)必须是EasyRdf支持的RDF序列化格式。[EasyRdf](http://www.easyrdf.org/)。

prefixes:
    dc: "http://purl.org/dc/terms/"
    rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    ...

默认的HTML显示模板将在注册了这些前缀的情况下以简短(带前缀)的形式展示IRI。默认情况下包括了一些常见前缀,但任何前缀都可以在此注册。