小编Bri*_*len的帖子

定义JSON-LD @context以加入/拆分值?

我想使用jsonld.js库的expandcompact方法将来自各种源的数据转换为通用格式进行处理.如果我获取源JSON文档,添加一个,然后通过该方法传递它我能够获得我需要的通用格式.@contextexpand

我无法找到解决方案的用例是需要合并多个值时.例如,schema.org定义了PostalAddress一个单独的字段streetAddress,但许多系统将街道地址存储为单独的值(街道号,街道名称,街道方向......).要将传入的数据转换为schema.org格式,我需要一种方法来指示我的@context多个字段以streetAddress正确的顺序组成.

压缩文件

{
    "@context": {
        "displaName": "http://schema.org/name",
        "website": "http://schema.org/homepage",
        "icon": "http://schema.org/image",
        "streetNumber": "http://schema.org/streetAddress"
    },
    "displaName": "John Doe",
    "website": "http://example.com/",
    "icon": "http://example.com/images/test.png",
    "streetNumber": "123",
    "streetName": "Main St",
    "streetDirection": "South"
}
Run Code Online (Sandbox Code Playgroud)

扩展文件

{
   "http://schema.org/name":[
      {
         "@value":"John Doe"
      }
   ],
   "http://schema.org/image":[
      {
         "@value":"http://example.com/images/test.png"
      }
   ],
   "http://schema.org/streetAddress":[
      {
         "@value":"123"
      }
   ],
   "http://schema.org/homepage":[
      {
         "@value":"http://example.com/"
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我已经回顾了我能找到的所有JSON-LD规范,并且无法找到任何指示使用分割或连接值的方法@context.

是否有人知道一种方法,以正确的顺序将多个值映射到一个上下文属性,并可能在值之间添加空格.我还需要找到一个反向场景的解决方案,我需要按正确的顺序将一个字段拆分成多个值.

注意:即使我将所有三个属性都映射到streetAddress,数值都将包含在数组中,但不能保证它们的顺序正确.

javascript json schema.org linked-data json-ld

13
推荐指数
1
解决办法
561
查看次数

CALayer.contents无法在AVMutableComposition中正确呈现

我有一个非常简单的方法,可以生成一个视频,其中包含覆盖整个视频合成的静态背景图像,以及位于视频底部的较小的,部分透明的图像(水印样式).

背景图像正确渲染,看起来与图像查看器中的外观完全相同.但是,应该在视频底部呈现的图像是倾斜/失真的.

源代码可以在这里下载,在GitHub上.

我的代码的预期输出(所需视频输出的模型):

视频的预期输出

我的代码的实际输出(来自iOS模拟器的部分屏幕截图):

我视频输出的实际屏幕截图

如您所见,页脚图像以45度角和略微波浪形倾斜.

以下是我目前用于生成视频的代码.我已经尝试了每个可能的内容组合的重力为页脚图像,没有运气.所有其他的例子,我只是看到设置一个CGImageRef为图层的contents然后设置bounds,positionanchorPoint以相应的值.我没有看到任何其他设置任何其他属性的示例.我已经阅读了几乎所有AVFoundation的文档,看看是否有我失踪的设置,但我还没有看到任何明显的东西.

任何建议将不胜感激.谢谢!

接口声明:

CGSize _renderingSize;
float _displayDuration;

AVMutableComposition *mutableComposition;
AVMutableVideoComposition *videoComposition;
AVMutableCompositionTrack *mutableCompositionVideoTrack;
AVAssetExportSession *exporter;
Run Code Online (Sandbox Code Playgroud)

ViewDidLoad设置:

_renderingSize = CGSizeMake(640, 360);
_displayDuration = 2.0;
Run Code Online (Sandbox Code Playgroud)

渲染代码块:

    mutableComposition = [AVMutableComposition composition];
    mutableCompositionVideoTrack = [mutableComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];

    videoComposition = [AVMutableVideoComposition videoComposition];
    videoComposition.renderSize = _renderingSize;
    videoComposition.frameDuration = CMTimeMake(1, 30);

    CALayer *parentLayer = [CALayer layer];
    CALayer *videoLayer = [CALayer layer];
    parentLayer.frame = CGRectMake(0, 0, videoComposition.renderSize.width, videoComposition.renderSize.height);
    videoLayer.frame = CGRectMake(0, 0, videoComposition.renderSize.width, videoComposition.renderSize.height); …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c avfoundation calayer ios

10
推荐指数
1
解决办法
1553
查看次数

在Swagger中定义具有混合数据类型的属性

我已经有一个工作的swagger文档使用Swagger-UI项目生成文档,但我遇到了一个小问题.

Mongoose支持数据类型Mixed,它基本上是一个可以包含任何内容的非结构化对象.然而,根据扬鞭规范属性的唯一可能的值typestring,integer,number,booleanarray.我一直无法在文档,谷歌或GitHub上的Swagger-Spec项目的公开问题中找到任何可以允许混合数据类型的内容.

在Swagger-Spec文档中,它们定义了type选项,它们引用了JSON-Schema项目.根据JSON-Schema规范object应该是一个选项,但它没有被列为Swagger-Spec中的潜在值.

有没有人知道在Swagger文档中指明模型的属性可以包含任何值(单个原始值或对象)的方法?

例子

Mongoose架构定义:

var sampleSchema = new mongoose.Schema({
    lookupCodes : { type: [mongoose.Schema.Types.Mixed] },
    address: { type: mongoose.Schema.Types.Mixed }
});

mongoose.model('Sample', sampleSchema);
Run Code Online (Sandbox Code Playgroud)

猫鼬模型的用法:

var Sample = mongoose.model('Sample');
var doc = new Sample();
Run Code Online (Sandbox Code Playgroud)

这些都是两个已定义属性的有效值:

doc.lookupCodes = ['A', 'B', 3, 4, 5, 'F'];

doc.lookupCodes = ['A', { code: '123' }, 5];

doc.address = '123 Main St., San Jose, CA, 95125';

doc.address …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb swagger

6
推荐指数
1
解决办法
5423
查看次数