@twin.org/standards-foaf 0.0.3-next.6 → 0.0.3-next.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/es/dataTypes/foafDataTypes.js +41 -44
- package/dist/es/dataTypes/foafDataTypes.js.map +1 -1
- package/dist/es/index.js +7 -7
- package/dist/es/index.js.map +1 -1
- package/dist/es/models/IFoafAgent.js +2 -0
- package/dist/es/models/IFoafAgent.js.map +1 -0
- package/dist/es/models/IFoafBaseObject.js +2 -0
- package/dist/es/models/IFoafBaseObject.js.map +1 -0
- package/dist/es/models/IFoafDocument.js +2 -0
- package/dist/es/models/IFoafDocument.js.map +1 -0
- package/dist/es/models/IFoafGroup.js +2 -0
- package/dist/es/models/IFoafGroup.js.map +1 -0
- package/dist/es/models/IFoafImage.js +2 -0
- package/dist/es/models/IFoafImage.js.map +1 -0
- package/dist/es/models/IFoafOrganization.js +2 -0
- package/dist/es/models/IFoafOrganization.js.map +1 -0
- package/dist/es/models/IFoafPerson.js +2 -0
- package/dist/es/models/IFoafPerson.js.map +1 -0
- package/dist/es/models/foafContextType.js.map +1 -1
- package/dist/es/models/foafContexts.js +12 -6
- package/dist/es/models/foafContexts.js.map +1 -1
- package/dist/es/schemas/FoafAgent.json +75 -0
- package/dist/es/schemas/FoafContextType.json +30 -0
- package/dist/es/schemas/FoafDocument.json +54 -0
- package/dist/es/schemas/FoafGroup.json +39 -0
- package/dist/es/schemas/FoafImage.json +33 -0
- package/dist/es/schemas/FoafOrganization.json +25 -0
- package/dist/es/schemas/FoafPerson.json +55 -0
- package/dist/types/index.d.ts +7 -7
- package/dist/types/models/{IAgent.d.ts → IFoafAgent.d.ts} +12 -7
- package/dist/types/models/{IBaseObject.d.ts → IFoafBaseObject.d.ts} +7 -4
- package/dist/types/models/{IDocument.d.ts → IFoafDocument.d.ts} +8 -3
- package/dist/types/models/IFoafGroup.d.ts +29 -0
- package/dist/types/models/{IImage.d.ts → IFoafImage.d.ts} +9 -4
- package/dist/types/models/IFoafOrganization.d.ts +23 -0
- package/dist/types/models/{IPerson.d.ts → IFoafPerson.d.ts} +11 -5
- package/dist/types/models/foafContextType.d.ts +2 -1
- package/dist/types/models/foafContexts.d.ts +12 -6
- package/docs/changelog.md +386 -0
- package/docs/examples.md +21 -1
- package/docs/reference/classes/FoafDataTypes.md +2 -2
- package/docs/reference/index.md +13 -7
- package/docs/reference/interfaces/IFoafAgent.md +201 -0
- package/docs/reference/interfaces/IFoafBaseObject.md +88 -0
- package/docs/reference/interfaces/IFoafDocument.md +163 -0
- package/docs/reference/interfaces/IFoafGroup.md +235 -0
- package/docs/reference/interfaces/IFoafImage.md +199 -0
- package/docs/reference/interfaces/IFoafOrganization.md +223 -0
- package/docs/reference/interfaces/IFoafPerson.md +283 -0
- package/docs/reference/type-aliases/FoafContextType.md +1 -1
- package/docs/reference/type-aliases/IFoafAgentWithAliases.md +12 -0
- package/docs/reference/type-aliases/IFoafDocumentWithAliases.md +12 -0
- package/docs/reference/type-aliases/IFoafGroupWithAliases.md +12 -0
- package/docs/reference/type-aliases/IFoafImageWithAliases.md +12 -0
- package/docs/reference/type-aliases/IFoafOrganizationWithAliases.md +12 -0
- package/docs/reference/type-aliases/IFoafPersonWithAliases.md +12 -0
- package/docs/reference/variables/FoafContexts.md +17 -9
- package/docs/reference/variables/FoafTypes.md +6 -6
- package/package.json +2 -2
- package/dist/es/models/IAgent.js +0 -2
- package/dist/es/models/IAgent.js.map +0 -1
- package/dist/es/models/IBaseObject.js +0 -2
- package/dist/es/models/IBaseObject.js.map +0 -1
- package/dist/es/models/IDocument.js +0 -2
- package/dist/es/models/IDocument.js.map +0 -1
- package/dist/es/models/IGroup.js +0 -2
- package/dist/es/models/IGroup.js.map +0 -1
- package/dist/es/models/IImage.js +0 -2
- package/dist/es/models/IImage.js.map +0 -1
- package/dist/es/models/IOrganization.js +0 -2
- package/dist/es/models/IOrganization.js.map +0 -1
- package/dist/es/models/IPerson.js +0 -2
- package/dist/es/models/IPerson.js.map +0 -1
- package/dist/es/schemas/Agent.json +0 -176
- package/dist/es/schemas/Document.json +0 -168
- package/dist/es/schemas/Group.json +0 -191
- package/dist/es/schemas/Image.json +0 -173
- package/dist/es/schemas/Organization.json +0 -177
- package/dist/es/schemas/Person.json +0 -207
- package/dist/types/models/IGroup.d.ts +0 -23
- package/dist/types/models/IOrganization.d.ts +0 -17
- package/docs/reference/interfaces/IAgent.md +0 -197
- package/docs/reference/interfaces/IBaseObject.md +0 -92
- package/docs/reference/interfaces/IDocument.md +0 -159
- package/docs/reference/interfaces/IGroup.md +0 -227
- package/docs/reference/interfaces/IImage.md +0 -191
- package/docs/reference/interfaces/IOrganization.md +0 -215
- package/docs/reference/interfaces/IPerson.md +0 -275
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# TWIN Standards FOAF
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This package provides data models for the [FOAF vocabulary](https://xmlns.com/foaf/spec/), supporting interoperable descriptions of people, organisations, and social relationships.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
// Copyright 2025 IOTA Stiftung.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0.
|
|
3
|
-
import {
|
|
3
|
+
import { DataTypeHelper } from "@twin.org/data-core";
|
|
4
4
|
import { JsonLdProcessor } from "@twin.org/data-json-ld";
|
|
5
5
|
import { FoafContexts } from "../models/foafContexts.js";
|
|
6
6
|
import { FoafTypes } from "../models/foafTypes.js";
|
|
7
|
-
import AgentSchema from "../schemas/
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
7
|
+
import AgentSchema from "../schemas/FoafAgent.json" with { type: "json" };
|
|
8
|
+
import ContextTypeSchema from "../schemas/FoafContextType.json" with { type: "json" };
|
|
9
|
+
import DocumentSchema from "../schemas/FoafDocument.json" with { type: "json" };
|
|
10
|
+
import GroupSchema from "../schemas/FoafGroup.json" with { type: "json" };
|
|
11
|
+
import ImageSchema from "../schemas/FoafImage.json" with { type: "json" };
|
|
12
|
+
import OrganizationSchema from "../schemas/FoafOrganization.json" with { type: "json" };
|
|
13
|
+
import PersonSchema from "../schemas/FoafPerson.json" with { type: "json" };
|
|
13
14
|
/**
|
|
14
15
|
* Data Type registration for FOAF
|
|
15
16
|
*/
|
|
@@ -18,48 +19,44 @@ export class FoafDataTypes {
|
|
|
18
19
|
* Register redirects for FOAF namespace to enable offline JSON-LD processing.
|
|
19
20
|
*/
|
|
20
21
|
static registerRedirects() {
|
|
21
|
-
JsonLdProcessor.addRedirect(/https?:\/\/xmlns.com\/foaf\/0.1\//, FoafContexts.
|
|
22
|
+
JsonLdProcessor.addRedirect(/https?:\/\/xmlns.com\/foaf\/0.1\//, FoafContexts.JsonLdContext);
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
25
|
* Register all the data types.
|
|
25
26
|
*/
|
|
26
27
|
static registerTypes() {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
type: FoafTypes.Person,
|
|
60
|
-
defaultValue: {},
|
|
61
|
-
jsonSchema: async () => PersonSchema
|
|
62
|
-
}));
|
|
28
|
+
const types = [
|
|
29
|
+
{
|
|
30
|
+
type: FoafTypes.Agent,
|
|
31
|
+
schema: AgentSchema
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
type: FoafTypes.Document,
|
|
35
|
+
schema: DocumentSchema
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
type: FoafTypes.Group,
|
|
39
|
+
schema: GroupSchema
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
type: FoafTypes.Image,
|
|
43
|
+
schema: ImageSchema
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
type: FoafTypes.Organization,
|
|
47
|
+
schema: OrganizationSchema
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
type: FoafTypes.Person,
|
|
51
|
+
schema: PersonSchema
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
type: "ContextType",
|
|
55
|
+
schema: ContextTypeSchema
|
|
56
|
+
}
|
|
57
|
+
];
|
|
58
|
+
DataTypeHelper.registerTypes(FoafContexts.Namespace, FoafContexts.JsonLdContext, types);
|
|
59
|
+
DataTypeHelper.registerTypes(FoafContexts.JsonSchemaNamespace, FoafContexts.JsonLdContext, types.map(t => ({ type: `Foaf${t.type}`, schema: t.schema })));
|
|
63
60
|
}
|
|
64
61
|
}
|
|
65
62
|
//# sourceMappingURL=foafDataTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foafDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/foafDataTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"foafDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/foafDataTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,WAAW,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1E,OAAO,iBAAiB,MAAM,iCAAiC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACtF,OAAO,cAAc,MAAM,8BAA8B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChF,OAAO,WAAW,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1E,OAAO,WAAW,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1E,OAAO,kBAAkB,MAAM,kCAAkC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxF,OAAO,YAAY,MAAM,4BAA4B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE5E;;GAEG;AACH,MAAM,OAAgB,aAAa;IAClC;;OAEG;IACI,MAAM,CAAC,iBAAiB;QAC9B,eAAe,CAAC,WAAW,CAAC,mCAAmC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAC9F,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa;QAC1B,MAAM,KAAK,GAAG;YACb;gBACC,IAAI,EAAE,SAAS,CAAC,KAAK;gBACrB,MAAM,EAAE,WAAW;aACnB;YACD;gBACC,IAAI,EAAE,SAAS,CAAC,QAAQ;gBACxB,MAAM,EAAE,cAAc;aACtB;YACD;gBACC,IAAI,EAAE,SAAS,CAAC,KAAK;gBACrB,MAAM,EAAE,WAAW;aACnB;YACD;gBACC,IAAI,EAAE,SAAS,CAAC,KAAK;gBACrB,MAAM,EAAE,WAAW;aACnB;YACD;gBACC,IAAI,EAAE,SAAS,CAAC,YAAY;gBAC5B,MAAM,EAAE,kBAAkB;aAC1B;YACD;gBACC,IAAI,EAAE,SAAS,CAAC,MAAM;gBACtB,MAAM,EAAE,YAAY;aACpB;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,iBAAiB;aACzB;SACD,CAAC;QAEF,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACxF,cAAc,CAAC,aAAa,CAC3B,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,aAAa,EAC1B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAC7D,CAAC;IACH,CAAC;CACD","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { DataTypeHelper } from \"@twin.org/data-core\";\nimport { JsonLdProcessor } from \"@twin.org/data-json-ld\";\nimport { FoafContexts } from \"../models/foafContexts.js\";\nimport { FoafTypes } from \"../models/foafTypes.js\";\nimport AgentSchema from \"../schemas/FoafAgent.json\" with { type: \"json\" };\nimport ContextTypeSchema from \"../schemas/FoafContextType.json\" with { type: \"json\" };\nimport DocumentSchema from \"../schemas/FoafDocument.json\" with { type: \"json\" };\nimport GroupSchema from \"../schemas/FoafGroup.json\" with { type: \"json\" };\nimport ImageSchema from \"../schemas/FoafImage.json\" with { type: \"json\" };\nimport OrganizationSchema from \"../schemas/FoafOrganization.json\" with { type: \"json\" };\nimport PersonSchema from \"../schemas/FoafPerson.json\" with { type: \"json\" };\n\n/**\n * Data Type registration for FOAF\n */\nexport abstract class FoafDataTypes {\n\t/**\n\t * Register redirects for FOAF namespace to enable offline JSON-LD processing.\n\t */\n\tpublic static registerRedirects(): void {\n\t\tJsonLdProcessor.addRedirect(/https?:\\/\\/xmlns.com\\/foaf\\/0.1\\//, FoafContexts.JsonLdContext);\n\t}\n\n\t/**\n\t * Register all the data types.\n\t */\n\tpublic static registerTypes(): void {\n\t\tconst types = [\n\t\t\t{\n\t\t\t\ttype: FoafTypes.Agent,\n\t\t\t\tschema: AgentSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: FoafTypes.Document,\n\t\t\t\tschema: DocumentSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: FoafTypes.Group,\n\t\t\t\tschema: GroupSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: FoafTypes.Image,\n\t\t\t\tschema: ImageSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: FoafTypes.Organization,\n\t\t\t\tschema: OrganizationSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: FoafTypes.Person,\n\t\t\t\tschema: PersonSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: \"ContextType\",\n\t\t\t\tschema: ContextTypeSchema\n\t\t\t}\n\t\t];\n\n\t\tDataTypeHelper.registerTypes(FoafContexts.Namespace, FoafContexts.JsonLdContext, types);\n\t\tDataTypeHelper.registerTypes(\n\t\t\tFoafContexts.JsonSchemaNamespace,\n\t\t\tFoafContexts.JsonLdContext,\n\t\t\ttypes.map(t => ({ type: `Foaf${t.type}`, schema: t.schema }))\n\t\t);\n\t}\n}\n"]}
|
package/dist/es/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// Copyright 2025 IOTA Stiftung.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0.
|
|
3
3
|
export * from "./dataTypes/foafDataTypes.js";
|
|
4
|
-
export * from "./models/
|
|
5
|
-
export * from "./models/
|
|
6
|
-
export * from "./models/
|
|
7
|
-
export * from "./models/
|
|
8
|
-
export * from "./models/
|
|
9
|
-
export * from "./models/
|
|
10
|
-
export * from "./models/
|
|
4
|
+
export * from "./models/IFoafAgent.js";
|
|
5
|
+
export * from "./models/IFoafBaseObject.js";
|
|
6
|
+
export * from "./models/IFoafDocument.js";
|
|
7
|
+
export * from "./models/IFoafGroup.js";
|
|
8
|
+
export * from "./models/IFoafImage.js";
|
|
9
|
+
export * from "./models/IFoafOrganization.js";
|
|
10
|
+
export * from "./models/IFoafPerson.js";
|
|
11
11
|
export * from "./models/foafContexts.js";
|
|
12
12
|
export * from "./models/foafContextType.js";
|
|
13
13
|
export * from "./models/foafTypes.js";
|
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./dataTypes/foafDataTypes.js\";\nexport * from \"./models/IFoafAgent.js\";\nexport * from \"./models/IFoafBaseObject.js\";\nexport * from \"./models/IFoafDocument.js\";\nexport * from \"./models/IFoafGroup.js\";\nexport * from \"./models/IFoafImage.js\";\nexport * from \"./models/IFoafOrganization.js\";\nexport * from \"./models/IFoafPerson.js\";\nexport * from \"./models/foafContexts.js\";\nexport * from \"./models/foafContextType.js\";\nexport * from \"./models/foafTypes.js\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFoafAgent.js","sourceRoot":"","sources":["../../../src/models/IFoafAgent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject, JsonLdObjectWithAliases } from \"@twin.org/data-json-ld\";\nimport type { FoafContextType } from \"./foafContextType.js\";\nimport type { FoafTypes } from \"./foafTypes.js\";\nimport type { IFoafBaseObject } from \"./IFoafBaseObject.js\";\nimport type { IFoafDocument } from \"./IFoafDocument.js\";\n\n/**\n * A FOAF Agent.\n * @see http://xmlns.com/foaf/0.1/\n */\nexport interface IFoafAgent extends IFoafBaseObject {\n\t/**\n\t * The LD Context.\n\t */\n\t\"@context\"?: FoafContextType;\n\n\t/**\n\t * Type.\n\t */\n\t\"@type\":\n\t\t| typeof FoafTypes.Agent\n\t\t| typeof FoafTypes.Person\n\t\t| typeof FoafTypes.Organization\n\t\t| typeof FoafTypes.Group\n\t\t| string;\n\n\t/**\n\t * The age in years of some agent.\n\t * @see http://xmlns.com/foaf/spec/#term_age\n\t */\n\tage?: number;\n\n\t/**\n\t * Something that was made by this agent.\n\t * @see http://xmlns.com/foaf/spec/#term_made\n\t */\n\tmade?: ObjectOrArray<IJsonLdNodeObject>;\n\n\t/**\n\t * A weblog of some thing (whether person, group, company etc.).\n\t * @see http://xmlns.com/foaf/spec/#term_weblog\n\t */\n\tweblog?: IFoafDocument;\n\n\t/**\n\t * An OpenID for an agent.\n\t * @see http://xmlns.com/foaf/spec/#term_openid\n\t */\n\topenid?: IFoafDocument;\n\n\t/**\n\t * A page about a topic of interest to this person.\n\t * @see http://xmlns.com/foaf/spec/#term_interest\n\t */\n\tinterest?: IFoafDocument;\n\n\t/**\n\t * A thing of interest to this person.\n\t * @see http://xmlns.com/foaf/spec/#term_topic_interest\n\t */\n\ttopic_interest?: IJsonLdNodeObject;\n}\n\n/**\n * A FOAF Agent with FOAF-prefixed aliases for non-JSON-LD keys.\n * This allows using either prefixed aliases (e.g., \"foaf:name\") when defining a FOAF Agent.\n */\nexport type IFoafAgentWithAliases<T extends string = \"foaf\"> = JsonLdObjectWithAliases<\n\tIFoafAgent,\n\tT\n>;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFoafBaseObject.js","sourceRoot":"","sources":["../../../src/models/IFoafBaseObject.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { FoafContextType } from \"./foafContextType.js\";\nimport type { IFoafImage } from \"./IFoafImage.js\";\n\n/**\n * Core FOAF Properties\n * @see http://xmlns.com/foaf/0.1/\n */\nexport interface IFoafBaseObject {\n\t/**\n\t * The LD Context.\n\t */\n\t\"@context\"?: FoafContextType;\n\n\t/**\n\t * The unique identifier for the FOAF object.\n\t */\n\t\"@id\"?: string;\n\n\t/**\n\t * A name for some thing.\n\t * @see http://xmlns.com/foaf/spec/#term_name\n\t */\n\tname?: string;\n\n\t/**\n\t * Title (Mr, Mrs, Ms, Dr. etc)\n\t * @see http://xmlns.com/foaf/spec/#term_title\n\t */\n\ttitle?: string;\n\n\t/**\n\t * A personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox\n\t * @see http://xmlns.com/foaf/spec/#term_mbox\n\t */\n\tmbox?: string;\n\n\t/**\n\t * A homepage for some thing.\n\t * @see http://xmlns.com/foaf/spec/#term_homepage\n\t */\n\thomepage?: string;\n\n\t/**\n\t * A depiction of some thing.\n\t * @see http://xmlns.com/foaf/spec/#term_depiction\n\t */\n\tdepiction?: IFoafImage;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFoafDocument.js","sourceRoot":"","sources":["../../../src/models/IFoafDocument.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject, JsonLdObjectWithAliases } from \"@twin.org/data-json-ld\";\nimport type { FoafContextType } from \"./foafContextType.js\";\nimport type { FoafTypes } from \"./foafTypes.js\";\nimport type { IFoafBaseObject } from \"./IFoafBaseObject.js\";\n\n/**\n * A FOAF Document\n * @see http://xmlns.com/foaf/0.1/\n */\nexport interface IFoafDocument extends IFoafBaseObject {\n\t/**\n\t * The LD Context.\n\t */\n\t\"@context\"?: FoafContextType;\n\n\t/**\n\t * Type.\n\t */\n\t\"@type\": typeof FoafTypes.Document | typeof FoafTypes.Image;\n\n\t/**\n\t * A topic of some page or document.\n\t * @see http://xmlns.com/foaf/spec/#term_topic\n\t */\n\ttopic?: string;\n\n\t/**\n\t * The primary topic of some page or document.\n\t * @see http://xmlns.com/foaf/spec/#term_primaryTopic\n\t */\n\tprimaryTopic?: ObjectOrArray<IJsonLdNodeObject>;\n\n\t/**\n\t * A sha1sum hash, in hex.\n\t * @see http://xmlns.com/foaf/spec/#term_sha1sum\n\t */\n\tsha1?: string;\n}\n\n/**\n * A FOAF Document with FOAF-prefixed aliases for non-JSON-LD keys.\n * This allows using either prefixed aliases (e.g., \"foaf:name\") when defining a FOAF Document.\n */\nexport type IFoafDocumentWithAliases<T extends string = \"foaf\"> = JsonLdObjectWithAliases<\n\tIFoafDocument,\n\tT\n>;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFoafGroup.js","sourceRoot":"","sources":["../../../src/models/IFoafGroup.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { JsonLdObjectWithAliases } from \"@twin.org/data-json-ld\";\nimport type { FoafContextType } from \"./foafContextType.js\";\nimport type { FoafTypes } from \"./foafTypes.js\";\nimport type { IFoafAgent } from \"./IFoafAgent.js\";\n\n/**\n * A FOAF Group.\n * @see http://xmlns.com/foaf/0.1/\n */\nexport interface IFoafGroup extends IFoafAgent {\n\t/**\n\t * The LD Context.\n\t */\n\t\"@context\"?: FoafContextType;\n\n\t/**\n\t * Type.\n\t */\n\t\"@type\": typeof FoafTypes.Group;\n\n\t/**\n\t * Indicates a member of a Group\n\t * @see http://xmlns.com/foaf/spec/#term_member\n\t */\n\tmember?: ObjectOrArray<IFoafAgent>;\n}\n\n/**\n * A FOAF Group with FOAF-prefixed aliases for non-JSON-LD keys.\n * This allows using either prefixed aliases (e.g., \"foaf:name\") when defining a FOAF Group.\n */\nexport type IFoafGroupWithAliases<T extends string = \"foaf\"> = JsonLdObjectWithAliases<\n\tIFoafGroup,\n\tT\n>;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFoafImage.js","sourceRoot":"","sources":["../../../src/models/IFoafImage.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject, JsonLdObjectWithAliases } from \"@twin.org/data-json-ld\";\nimport type { FoafContextType } from \"./foafContextType.js\";\nimport type { FoafTypes } from \"./foafTypes.js\";\nimport type { IFoafDocument } from \"./IFoafDocument.js\";\n\n/**\n * A FOAF image.\n * @see http://xmlns.com/foaf/0.1/\n */\nexport interface IFoafImage extends IFoafDocument {\n\t/**\n\t * The LD Context.\n\t *\n\t */\n\t\"@context\"?: FoafContextType;\n\n\t/**\n\t * Type.\n\t */\n\t\"@type\": typeof FoafTypes.Image;\n\n\t/**\n\t * A thing depicted in this representation.\n\t * @see http://xmlns.com/foaf/spec/#term_depicts\n\t */\n\tdepicts?: IJsonLdNodeObject;\n\n\t/**\n\t * A derived thumbnail image.\n\t * @see http://xmlns.com/foaf/spec/#term_thumbnail\n\t */\n\tthumbnail?: IFoafImage;\n}\n\n/**\n * A FOAF Image with FOAF-prefixed aliases for non-JSON-LD keys.\n * This allows using either prefixed aliases (e.g., \"foaf:name\") when defining a FOAF Image.\n */\nexport type IFoafImageWithAliases<T extends string = \"foaf\"> = JsonLdObjectWithAliases<\n\tIFoafImage,\n\tT\n>;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFoafOrganization.js","sourceRoot":"","sources":["../../../src/models/IFoafOrganization.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { JsonLdObjectWithAliases } from \"@twin.org/data-json-ld\";\nimport type { FoafContextType } from \"./foafContextType.js\";\nimport type { FoafTypes } from \"./foafTypes.js\";\nimport type { IFoafAgent } from \"./IFoafAgent.js\";\n\n/**\n * A FOAF Organization.\n * @see http://xmlns.com/foaf/0.1/\n */\nexport interface IFoafOrganization extends IFoafAgent {\n\t/**\n\t * The LD Context.\n\t */\n\t\"@context\"?: FoafContextType;\n\n\t/**\n\t * Type.\n\t */\n\t\"@type\": typeof FoafTypes.Organization;\n}\n\n/**\n * A FOAF Organization with FOAF-prefixed aliases for non-JSON-LD keys.\n * This allows using either prefixed aliases (e.g., \"foaf:name\") when defining a FOAF Organization.\n */\nexport type IFoafOrganizationWithAliases<T extends string = \"foaf\"> = JsonLdObjectWithAliases<\n\tIFoafOrganization,\n\tT\n>;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFoafPerson.js","sourceRoot":"","sources":["../../../src/models/IFoafPerson.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { JsonLdObjectWithAliases } from \"@twin.org/data-json-ld\";\nimport type { FoafContextType } from \"./foafContextType.js\";\nimport type { FoafTypes } from \"./foafTypes.js\";\nimport type { IFoafAgent } from \"./IFoafAgent.js\";\nimport type { IFoafImage } from \"./IFoafImage.js\";\n\n/**\n * A FOAF Person.\n * @see http://xmlns.com/foaf/0.1/\n */\nexport interface IFoafPerson extends IFoafAgent {\n\t/**\n\t * The LD Context.\n\t */\n\t\"@context\"?: FoafContextType;\n\n\t/**\n\t * Type.\n\t */\n\t\"@type\": typeof FoafTypes.Person;\n\n\t/**\n\t * The family name of some person.\n\t * @see http://xmlns.com/foaf/spec/#term_familyName\n\t */\n\tfamilyName?: string;\n\n\t/**\n\t * The given name of some person.\n\t * @see http://xmlns.com/foaf/spec/#term_givenName\n\t */\n\tgivenName?: string;\n\n\t/**\n\t * A person known by this person (indicating some level of reciprocated interaction between the parties).\n\t * @see http://xmlns.com/foaf/spec/#term_knows\n\t */\n\tknows?: ObjectOrArray<IFoafAgent>;\n\n\t/**\n\t * An image that can be used to represent some thing.\n\t * @see http://xmlns.com/foaf/spec/#term_img\n\t */\n\timg?: IFoafImage;\n\n\t/**\n\t * A short informal nickname characterizing an agent (includes login identifiers, IRC and other chat nicknames).\n\t * @see http://xmlns.com/foaf/spec/#term_nick\n\t */\n\tnick?: string;\n}\n\n/**\n * A FOAF Person with FOAF-prefixed aliases for non-JSON-LD keys.\n * This allows using either prefixed aliases (e.g., \"foaf:name\") when defining a FOAF Person.\n */\nexport type IFoafPersonWithAliases<T extends string = \"foaf\"> = JsonLdObjectWithAliases<\n\tIFoafPerson,\n\tT\n>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foafContextType.js","sourceRoot":"","sources":["../../../src/models/foafContextType.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { FoafContexts } from \"./foafContexts.js\";\n\n/**\n * The FOAF JSON-LD context type.\n */\nexport type FoafContextType =\n\t| typeof FoafContexts.
|
|
1
|
+
{"version":3,"file":"foafContextType.js","sourceRoot":"","sources":["../../../src/models/foafContextType.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { FoafContexts } from \"./foafContexts.js\";\n\n/**\n * The FOAF JSON-LD context type.\n */\nexport type FoafContextType =\n\t| typeof FoafContexts.Context\n\t| SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof FoafContexts.Context>;\n"]}
|
|
@@ -6,16 +6,22 @@
|
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
7
7
|
export const FoafContexts = {
|
|
8
8
|
/**
|
|
9
|
-
* The
|
|
9
|
+
* The canonical RDF namespace URI.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
Namespace: "https://xmlns.com/foaf/0.1/",
|
|
12
12
|
/**
|
|
13
|
-
* The
|
|
13
|
+
* The value to use in @context.
|
|
14
|
+
* Note: Context matches Namespace (both include trailing slash) as per FOAF specification.
|
|
15
|
+
* The FOAF JSON-LD context URL format includes a trailing slash.
|
|
14
16
|
*/
|
|
15
|
-
|
|
17
|
+
Context: "https://xmlns.com/foaf/0.1/",
|
|
16
18
|
/**
|
|
17
|
-
* The
|
|
19
|
+
* The JSON-LD Context URL.
|
|
18
20
|
*/
|
|
19
|
-
|
|
21
|
+
JsonLdContext: "https://schema.twindev.org/foaf/types.jsonld",
|
|
22
|
+
/**
|
|
23
|
+
* The namespace location of the hosted version of the JSON Schema.
|
|
24
|
+
*/
|
|
25
|
+
JsonSchemaNamespace: "https://schema.twindev.org/foaf/"
|
|
20
26
|
};
|
|
21
27
|
//# sourceMappingURL=foafContexts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foafContexts.js","sourceRoot":"","sources":["../../../src/models/foafContexts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"foafContexts.js","sourceRoot":"","sources":["../../../src/models/foafContexts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B;;OAEG;IACH,SAAS,EAAE,6BAA6B;IAExC;;;;OAIG;IACH,OAAO,EAAE,6BAA6B;IAEtC;;OAEG;IACH,aAAa,EAAE,8CAA8C;IAE7D;;OAEG;IACH,mBAAmB,EAAE,kCAAkC;CAC9C,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The LD Contexts concerning FOAF.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const FoafContexts = {\n\t/**\n\t * The canonical RDF namespace URI.\n\t */\n\tNamespace: \"https://xmlns.com/foaf/0.1/\",\n\n\t/**\n\t * The value to use in @context.\n\t * Note: Context matches Namespace (both include trailing slash) as per FOAF specification.\n\t * The FOAF JSON-LD context URL format includes a trailing slash.\n\t */\n\tContext: \"https://xmlns.com/foaf/0.1/\",\n\n\t/**\n\t * The JSON-LD Context URL.\n\t */\n\tJsonLdContext: \"https://schema.twindev.org/foaf/types.jsonld\",\n\n\t/**\n\t * The namespace location of the hosted version of the JSON Schema.\n\t */\n\tJsonSchemaNamespace: \"https://schema.twindev.org/foaf/\"\n} as const;\n\n/**\n * The LD Contexts concerning FOAF.\n */\nexport type FoafContexts = (typeof FoafContexts)[keyof typeof FoafContexts];\n"]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/foaf/FoafAgent",
|
|
4
|
+
"title": "FoafAgent",
|
|
5
|
+
"description": "A FOAF Agent.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"@context": {
|
|
9
|
+
"$ref": "https://schema.twindev.org/foaf/FoafContextType",
|
|
10
|
+
"description": "The LD Context."
|
|
11
|
+
},
|
|
12
|
+
"@type": {
|
|
13
|
+
"anyOf": [
|
|
14
|
+
{
|
|
15
|
+
"const": "Agent"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"const": "Person"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"const": "Organization"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"const": "Group"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"type": "string"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"description": "Type."
|
|
31
|
+
},
|
|
32
|
+
"age": {
|
|
33
|
+
"type": "number",
|
|
34
|
+
"description": "The age in years of some agent."
|
|
35
|
+
},
|
|
36
|
+
"made": {
|
|
37
|
+
"anyOf": [
|
|
38
|
+
{
|
|
39
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "array",
|
|
43
|
+
"items": {
|
|
44
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"description": "Something that was made by this agent."
|
|
49
|
+
},
|
|
50
|
+
"weblog": {
|
|
51
|
+
"$ref": "https://schema.twindev.org/foaf/FoafDocument",
|
|
52
|
+
"description": "A weblog of some thing (whether person, group, company etc.)."
|
|
53
|
+
},
|
|
54
|
+
"openid": {
|
|
55
|
+
"$ref": "https://schema.twindev.org/foaf/FoafDocument",
|
|
56
|
+
"description": "An OpenID for an agent."
|
|
57
|
+
},
|
|
58
|
+
"interest": {
|
|
59
|
+
"$ref": "https://schema.twindev.org/foaf/FoafDocument",
|
|
60
|
+
"description": "A page about a topic of interest to this person."
|
|
61
|
+
},
|
|
62
|
+
"topic_interest": {
|
|
63
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
|
|
64
|
+
"description": "A thing of interest to this person."
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"required": [
|
|
68
|
+
"@type"
|
|
69
|
+
],
|
|
70
|
+
"allOf": [
|
|
71
|
+
{
|
|
72
|
+
"$ref": "https://schema.twindev.org/foaf/FoafBaseObject"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/foaf/FoafContextType",
|
|
4
|
+
"title": "FoafContextType",
|
|
5
|
+
"description": "The FOAF JSON-LD context type.",
|
|
6
|
+
"anyOf": [
|
|
7
|
+
{
|
|
8
|
+
"const": "https://xmlns.com/foaf/0.1/"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": {
|
|
13
|
+
"anyOf": [
|
|
14
|
+
{
|
|
15
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"const": "https://xmlns.com/foaf/0.1/"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"contains": {
|
|
23
|
+
"const": "https://xmlns.com/foaf/0.1/"
|
|
24
|
+
},
|
|
25
|
+
"minContains": 1,
|
|
26
|
+
"maxContains": 1,
|
|
27
|
+
"minItems": 1
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/foaf/FoafDocument",
|
|
4
|
+
"title": "FoafDocument",
|
|
5
|
+
"description": "A FOAF Document",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"@context": {
|
|
9
|
+
"$ref": "https://schema.twindev.org/foaf/FoafContextType",
|
|
10
|
+
"description": "The LD Context."
|
|
11
|
+
},
|
|
12
|
+
"@type": {
|
|
13
|
+
"anyOf": [
|
|
14
|
+
{
|
|
15
|
+
"const": "Document"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"const": "Image"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"description": "Type."
|
|
22
|
+
},
|
|
23
|
+
"topic": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"description": "A topic of some page or document."
|
|
26
|
+
},
|
|
27
|
+
"primaryTopic": {
|
|
28
|
+
"anyOf": [
|
|
29
|
+
{
|
|
30
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "array",
|
|
34
|
+
"items": {
|
|
35
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"description": "The primary topic of some page or document."
|
|
40
|
+
},
|
|
41
|
+
"sha1": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"description": "A sha1sum hash, in hex."
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"required": [
|
|
47
|
+
"@type"
|
|
48
|
+
],
|
|
49
|
+
"allOf": [
|
|
50
|
+
{
|
|
51
|
+
"$ref": "https://schema.twindev.org/foaf/FoafBaseObject"
|
|
52
|
+
}
|
|
53
|
+
]
|
|
54
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/foaf/FoafGroup",
|
|
4
|
+
"title": "FoafGroup",
|
|
5
|
+
"description": "A FOAF Group.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"@context": {
|
|
9
|
+
"$ref": "https://schema.twindev.org/foaf/FoafContextType",
|
|
10
|
+
"description": "The LD Context."
|
|
11
|
+
},
|
|
12
|
+
"@type": {
|
|
13
|
+
"const": "Group",
|
|
14
|
+
"description": "Type."
|
|
15
|
+
},
|
|
16
|
+
"member": {
|
|
17
|
+
"anyOf": [
|
|
18
|
+
{
|
|
19
|
+
"$ref": "https://schema.twindev.org/foaf/FoafAgent"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "array",
|
|
23
|
+
"items": {
|
|
24
|
+
"$ref": "https://schema.twindev.org/foaf/FoafAgent"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"description": "Indicates a member of a Group"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"required": [
|
|
32
|
+
"@type"
|
|
33
|
+
],
|
|
34
|
+
"allOf": [
|
|
35
|
+
{
|
|
36
|
+
"$ref": "https://schema.twindev.org/foaf/FoafAgent"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/foaf/FoafImage",
|
|
4
|
+
"title": "FoafImage",
|
|
5
|
+
"description": "A FOAF image.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"@context": {
|
|
9
|
+
"$ref": "https://schema.twindev.org/foaf/FoafContextType",
|
|
10
|
+
"description": "The LD Context."
|
|
11
|
+
},
|
|
12
|
+
"@type": {
|
|
13
|
+
"const": "Image",
|
|
14
|
+
"description": "Type."
|
|
15
|
+
},
|
|
16
|
+
"depicts": {
|
|
17
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
|
|
18
|
+
"description": "A thing depicted in this representation."
|
|
19
|
+
},
|
|
20
|
+
"thumbnail": {
|
|
21
|
+
"$ref": "https://schema.twindev.org/foaf/FoafImage",
|
|
22
|
+
"description": "A derived thumbnail image."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [
|
|
26
|
+
"@type"
|
|
27
|
+
],
|
|
28
|
+
"allOf": [
|
|
29
|
+
{
|
|
30
|
+
"$ref": "https://schema.twindev.org/foaf/FoafDocument"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/foaf/FoafOrganization",
|
|
4
|
+
"title": "FoafOrganization",
|
|
5
|
+
"description": "A FOAF Organization.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"@context": {
|
|
9
|
+
"$ref": "https://schema.twindev.org/foaf/FoafContextType",
|
|
10
|
+
"description": "The LD Context."
|
|
11
|
+
},
|
|
12
|
+
"@type": {
|
|
13
|
+
"const": "Organization",
|
|
14
|
+
"description": "Type."
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"required": [
|
|
18
|
+
"@type"
|
|
19
|
+
],
|
|
20
|
+
"allOf": [
|
|
21
|
+
{
|
|
22
|
+
"$ref": "https://schema.twindev.org/foaf/FoafAgent"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/foaf/FoafPerson",
|
|
4
|
+
"title": "FoafPerson",
|
|
5
|
+
"description": "A FOAF Person.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"@context": {
|
|
9
|
+
"$ref": "https://schema.twindev.org/foaf/FoafContextType",
|
|
10
|
+
"description": "The LD Context."
|
|
11
|
+
},
|
|
12
|
+
"@type": {
|
|
13
|
+
"const": "Person",
|
|
14
|
+
"description": "Type."
|
|
15
|
+
},
|
|
16
|
+
"familyName": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "The family name of some person."
|
|
19
|
+
},
|
|
20
|
+
"givenName": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "The given name of some person."
|
|
23
|
+
},
|
|
24
|
+
"knows": {
|
|
25
|
+
"anyOf": [
|
|
26
|
+
{
|
|
27
|
+
"$ref": "https://schema.twindev.org/foaf/FoafAgent"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": {
|
|
32
|
+
"$ref": "https://schema.twindev.org/foaf/FoafAgent"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"description": "A person known by this person (indicating some level of reciprocated interaction between the parties)."
|
|
37
|
+
},
|
|
38
|
+
"img": {
|
|
39
|
+
"$ref": "https://schema.twindev.org/foaf/FoafImage",
|
|
40
|
+
"description": "An image that can be used to represent some thing."
|
|
41
|
+
},
|
|
42
|
+
"nick": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"description": "A short informal nickname characterizing an agent (includes login identifiers, IRC and other chat nicknames)."
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"@type"
|
|
49
|
+
],
|
|
50
|
+
"allOf": [
|
|
51
|
+
{
|
|
52
|
+
"$ref": "https://schema.twindev.org/foaf/FoafAgent"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|