如果您使用例如lanthaler/JsonLD要使用schema.org
上下文压缩JSON-LD数据,您会注意到@type
关键字在输出中被替换为别名type
,这是有意义的
Schema.org最近在@type中添加了一个关键字别名,只是输入了
问题是Google的Structured Data Testing Tool无法识别此别名。这是一个简单的示例来演示这一点(尝试用type
替换@type
,它将通过验证)
{
"@context": "http://schema.org",
"type": "Product",
"name": "SomeName"
}
提出了几个问题:
lanthaler/JsonLD
避免在压缩过程中用@type
替换type
(理想情况下没有任何其他副作用)?答案 0 :(得分:1)
回答你的第二个问题:是的,使用不同的背景。例如以下内容:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>
int main( void ) {
pid_t childpid;
int ends[ 2 ];
pipe( ends );
if ( ( childpid = fork() ) == -1 ) {
perror( "fork failed" );
exit( 0 );
}
if( childpid == 0 ) {
pid_t cpid;
if ( ( cpid = fork() ) == -1 ) {
perror( "fork failed" );
exit( 0 );
}
if ( cpid == 0 ){
while(1);
}
else{
printf("cpid is : %d\n",cpid);
char msg[32];
sprintf( msg, "%d", cpid );
printf("cpid con is : %s\n", msg);
if( write( ends[ 1 ], msg, 32 ) == -1 ) {
perror( "Write failed" );
exit( 0 );
}
char *s = NULL;
*s = 15;
while(1);
}
}
else{
printf("childpid is : %d\n",childpid);
char msg[ 32 ];
int cpid;
if( read( ends[0], msg,32 ) == -1 ) {
perror("read failed");
exit( 0 );
}
cpid = atoi( msg );
int status;
while(1) {
if ( waitpid( childpid, &status, WNOHANG ) == -1 ) {
//printf( "%d\n", WIFEXITED(status) );
if ( kill( cpid, 9 ) == -1 ) {
perror( "Killing child process failed" );
exit( 0 );
}
/*if ( kill( cpid, 9 ) == -1 ) {
perror( "Killing child process failed" );
exit( 0 );
}*/
}
}
}
return 0;
}
这Express 4 + pm2 watch not working但是没问题,因为SDTT能够处理这个问题。