Vocabulary#

The ModelFed Vocabulary extends the Activity Streams 2.0 Vocabulary.

The typical @context for ModelFed objects is as follows:

"@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
]

1. Extended Types#

1.1 Objects#

The list of additional objects in the Modelverse Vocabulary are presented below.

Domain Model#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#DomainModel

Description:

Represents a domain model that defines the structure and relationships of entities within a specific domain.

Extends:

Object

Properties:

types | associations | packages | generalizations | grants

Other properties are inherited from Object.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "DomainModel",
    "id": "http://www.modeling-platform/domainmodel/a1b2c3",
    "name": "A simple Domain Model"
}

ModelElement#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#ModelElement

Description:

Represents a model element as part of a domain model. This class is abstract.

Extends:

Object

Properties:

timestamp

Other properties are inherited from Object.

Package#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Package

Description:

Represents a package that groups a set of model elements.

Extends:

ModelElement

Properties:

elements

Other properties are inherited from ModelElement.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Package",
    "id": "http://www.modeling-platform/package/p1d2e3",
    "name": "A simple Package",
    "elements": [
        "http://www.modeling-platform/classes/C1D2E3",
        "http://www.modeling-platform/classes/a3m4bs",
        "http://www.modeling-platform/packages/pckbs",
    ]
}

Type#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Type

Description:

Represents a type in the model. This class is abstract

Extends:

ModelElement

Properties:

Inherits all properties from ModelElement.

Class#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Class

Description:

Represents a class in the model.

Extends:

Type

Properties:

attributes | methods | isAbstract

Other properties are inherited from Type.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Class",
    "id": "http://www.modeling-platform/class/c1d2e3",
    "name": "A simple Class",
    "attributes": [
        "http://www.modeling-platform/attribute/a1b2c3",
        "http://www.modeling-platform/attribute/aasdf3",
    ],
    "methods": []
}

DataType#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Enumeration

Description:

This class is abstract and represents data types.

Extends:

Type

Properties:

Inherits all properties from Type.

Enumeration#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Enumeration

Description:

Represents an enumeration in the model.

Extends:

DataType

Properties:

literals

Other properties are inherited from DataType.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Enumeration",
    "id": "http://www.modeling-platform/enumerations/e1f2g3",
    "name": "A simple Enumeration",
    "literals": [
        "http://www.modeling-platform/enumerationliterals/l1m2n3",
        "http://www.other-platform/enumerationliterals/l3m5n7"
    ]
}

EnumerationLiteral#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#EnumerationLiteral

Description:

Represents a literal value of an enumeration.

Extends:

ModelElement

Properties:

owner | value

Other properties are inherited from ModelElement.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "EnumerationLiteral",
    "id": "http://www.modeling-platform/enumerationliterals/l1m2n3",
    "name": "A simple Enumeration Literal",
    "value": "LiteralValue",
    "owner": "http://www.modeling-platform/enumerations/e1f2g3"
}

PrimitiveDataType#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#PrimitiveDataType

Description:

Represents a primitive data type in the model.

Extends:

DataType

Properties:

Inherits all properties from DataType.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "PrimitiveDataType",
    "id": "http://www.modeling-platform/primitivedatatype/p1d2e3",
    "name": "type name",
    "timestamp": "2025-01-20T08:30:00Z"
}

TypedElement#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#TypedElement

Description:

Typed element is an abstract class that is used to represent elements that have a type.

Extends:

ModelElement

Properties:

elementType

Other properties are inherited from ModelElement.

Property#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Property

Description:

A property can represents an attribute of a class or an end of an association.

Extends:

TypedElement

Properties:

owner | multiplicity | isComposite | isNavigable | isId

Other properties are inherited from TypedElement.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Property",
    "id": "http://www.modeling-platform/property/p1d2e3",
    "name": "title",
    "elementType": "http://www.modeling-platform/primitivedatatype/t1d2e3",
    "isId": false,
    "multiplicity": "0..1"
}

Association#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Association

Description:

Represents a relationship between classes.

Extends:

ModelElement

Properties:

ends

Other properties are inherited from ModelElement.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Association",
    "id": "http://www.modeling-platform/associations/a1b2c3",
    "name": "has_books",
    "ends": [
        "http://www.modeling-platform/properties/p1r2y3",
        "http://www.modeling-platform/properties/p4r5y6",
        "http://www.other-platform/properties/p555y6"
    ]
}

BinaryAssociation#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#BinaryAssociation

Description:

Represents a binary association between two classes.

Extends:

Association

Properties:

Inherits all properties from Association.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "BinaryAssociation",
    "id": "http://www.modeling-platform/associations/b1c2d3",
    "name": "belongs_to",
    "ends": [
        "http://www.modeling-platform/properties/p1f2g3",
        "http://www.modeling-platform/properties/p4f5g6"
    ]
}

Generalization#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Generalization

Description:

Represents a generalization relationship between a general and a specific class.

Extends:

ModelElement

Properties:

general | specific

Other properties are inherited from ModelElement.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Generalization",
    "id": "http://www.modeling-platform/generalizations/g1h2i3",
    "general": "http://www.modeling-platform/class/c1d2e3",
    "specific": "http://www.modeling-platform/class/c4d5e6"
}

Parameter#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Parameter

Description:

Represents a parameter of a method.

Extends:

TypedElement

Properties:

defaultValue

Other properties are inherited from TypedElement.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Parameter",
    "id": "http://www.modeling-platform/parameter/p1q2r3",
    "name": "Age",
    "elementType": "int",
    "defaultValue": 20
}

Method#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Method

Description:

Represents a method of a class.

Extends:

TypedElement

Properties:

parameters | code | owner | isAbstract

Other properties are inherited from TypedElement.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Method",
    "id": "http://www.modeling-platform/methods/m1n2o3",
    "name": "Example Method",
    "timestamp": "2025-01-20T08:30:00Z",
    "owner": "http://www.modeling-platform/classes/c1d2e3",
    "elementType": "datetime",
    "isAbstract": false,
    "parameters": [
        "http://www.modeling-platform/parameters/p1q2r3"
    ],
    "code": "return 42"
}

1.2 Activities#

Modelverse define some additional activities that inherit from the Activity type.

Reclassify#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Reclassify

Description:

Represents an activity to reclassify an element to a different type.

Extends:

Activity

Properties:

Inherits all properties from Activity.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Reclassify",
    "id": "http://www.modeling-platform/activity/reclassify/a1b2c3",
    "object": "http://www.modeling-platform/modelelement/W3E3R4",
    "target": "http://www.modeling-platform/type/t1d2e3"
}

Clone#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Clone

Description:

Represents an activity to clone an object.

Extends:

Activity

Properties:

All properties inherited from Activity.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Clone",
    "id": "http://www.modeling-platform/activity/clone/a1b2c3",
    "object": "http://www.modeling-platform/class/CLAS3"
}

1.3 Actors#

The ActivityPub Vocabulary alredy defines a list of actors. The Modelverse Vocabulary only defines one additional actor (Agent), which is a specialized type inherited from Application.

Agent#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Agent

Description:

Represents an agent that acts on behalf of a user or system.

Extends:

Application

Properties:

interfaces | underlyingModel | adaptability | mediaTypes

Other properties are inherited from Application.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Agent",
    "id": "http://www.modeling-platform/agents/a1b2c3",
    "name": "AI Agent",
    "summary": "An agent acting on behalf of a user"
}

1.4 Access Control#

The Modelverse Vocabulary defines a set of access control types used to manage access to domain models.

Grant#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#Grant

Description:

Represents an activity to grant access to a resource.

Extends:

Activity

Properties:

Role

Other properties are inherited from Activity.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Grant",
    "id": "http://www.modeling-platform/domainmodel/grants/a1b2c3",
    "actor": "https://modeling-platform/maintainer-user",
    "to": "https://other-platform/modeler-user",,
    "target": "http://www.modeling-platform/domainmodels/m1o2d3",
    "role": "editor"
}

2. Properties#

The following properties are used in the Modelverse Vocabulary. In the tables below, Domain indicates the type object the property applies to, Range indicates the type of the value of the property, and Allow multiple is marked as True if the property can have multiple values.

timestamp#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#timestamp

Description:

Represents the object creation datetime. The timestamp value should be auto-generated for all kind of activities and objects.

Domain:

Object

Range:

xsd:dateTime

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Class",
    "id": "http://www.modeling-platform/class/c1d2e3",
    "name": "A simple Class",
    "timestamp": "2025-01-20T08:30:00Z"
}

visibility#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#visibility

Description:

Represents the visibility of a model element (e.g., public, private).

Domain:

Object

Range:

xsd:string

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Class",
    "id": "http://www.modeling-platform/classes/c1d2e3",
    "name": "A simple Class",
    "visibility": "public"
}

owner#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#owner

Description:

Represents the owner of an attribute, property, method, etc.

Domain:

Property | Method | EnumerationLiteral

Range:

Class | Enumeration | Link

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Method",
    "id": "http://www.modeling-platform/methods/m1e2t3",
    "name": "average",
    "owner": "http://www.modeling-platform/classes/c1l2a3"
}

attributes#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#attributes

Description:

Represents the attributes of a class.

Domain:

Class

Range:

Property | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Class",
    "id": "http://www.modeling-platform/classes/c1d2e3",
    "name": "Library",
    "attributes": [
        "http://www.modeling-platform/attributes/a1b2c3",
        {
            "type": "Property",
            "id": "http://www.modeling-platform/properties/p1d2e3",
            "name": "location",
            "elementType": "str",
        }
    ]
}

literals#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#literals

Description:

Represents the literals of an enumeration.

Domain:

Enumeration

Range:

EnumerationLiteral | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Enumeration",
    "id": "http://www.modeling-platform/enumeration/e1f2g3",
    "name": "Metric",
    "timestamp": "2025-01-20T08:30:00Z",
    "literals": [
        "http://www.modeling-platform/enumerationliterals/l1m2n3",
        {
            "type": "EnumerationLiteral",
            "id": "http://www.modeling-platform/enumerationliterals/l3m5n7",
            "name": "temperature",
            "timestamp": "2025-01-20T08:30:00Z",
            "owner": "http://www.modeling-platform/enumerations/e1f2g3"
        }
    ]
}

multiplicity#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#multiplicity

Description:

Represents the multiplicity of a property.

Domain:

Property

Range:

xsd:string

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Property",
    "id": "http://www.modeling-platform/properties/p1r2op3",
    "name": "scores"
    "elementType": "int",
    "multiplicity": "0..*"
}

isComposite#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#isComposite

Description:

Indicates whether the property is composite.

Domain:

Property

Range:

xsd:boolean

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Property",
    "id": "http://www.modeling-platform/properties/p1d2e3",
    "name": "has_books",
    "timestamp": "2025-01-20T08:30:00Z",
    "elementType": "http://www.modeling-platform/classes/t1d2e3",
    "isComposite": true
}

isNavigable#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#isNavigable

Description:

Indicates whether the property is navigable.

Domain:

Property

Range:

xsd:boolean

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Property",
    "id": "http://www.modeling-platform/properties/p1d2e3",
    "name": "has_books",
    "timestamp": "2025-01-20T08:30:00Z",
    "elementType": "http://www.modeling-platform/classes/t1d2e3",
    "isComposite": true,
    "isNavigable": true
}

elementType#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#elementType

Description:

Represents the type of an element.

Domain:

TypedElement

Range:

Class | Enumeration | PrimitiveDataType | Link

Allow multiple:

False

Note

In Modelverse, the following default primitive data types can be defined as strings, for simplicity: “str”, “int”, “float”, “boolean”, “date”, “time”, “datetime”, and “timedelta”.

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Method",
    "id": "http://www.modeling-platform/methods/m1d2e3",
    "name": "get_alias",
    "timestamp": "2025-01-20T08:30:00Z",
    "elementType": "str"
}

defaultValue#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#defaultValue

Description:

Represents the default value of a parameter.

Domain:

Parameter

Range:

xsd:any

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Parameter",
    "id": "http://www.modeling-platform/parameters/p1q2r3",
    "name": "age",
    "timestamp": "2025-01-20T08:30:00Z",
    "defaultValue": 20
    "elementType": "int"
}

parameters#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#parameters

Description:

Represents the parameters of a method.

Domain:

Method

Range:

Parameter | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Method",
    "id": "http://www.modeling-platform/methods/m1n2o3",
    "name": "calculateSum",
    "timestamp": "2025-01-20T08:30:00Z",
    "parameters": [
        {
            "type": "Parameter",
            "id": "http://www.modeling-platform/parameters/p1q2r3",
            "name": "a",
            "elementType": "float",
            "defaultValue": 0
        },
        {
            "type": "Parameter",
            "id": "http://www.modeling-platform/parameters/p4q5r6",
            "name": "b",
            "elementType": "int",
            "defaultValue": 0
        }
    ]
}

code#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#code

Description:

Represents the code of a method.

Domain:

Method

Range:

xsd:string

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Method",
    "id": "http://www.modeling-platform/method/m1n2o3",
    "name": "calculateSum",
    "timestamp": "2025-01-20T08:30:00Z",
    "code": "return a + b;",
    "parameters": [
        "http://www.modeling-platform/parameter/p1q2r3",
        "http://www.modeling-platform/parameter/p4q5r6"
    ]
}

methods#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#methods

Description:

Represents the methods of a class.

Domain:

Class

Range:

Method | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Class",
    "id": "http://www.modeling-platform/classes/c1d2e3",
    "name": "Library",
    "timestamp": "2025-01-20T08:30:00Z",
    "methods": [
        "http://www.modeling-platform/methods/m1n2o3",
        {
            "type": "Method",
            "id": "http://www.modeling-platform/methods/m4n5o6",
            "name": "getBook",
            "timestamp": "2025-01-20T08:30:00Z",
            "code": "return book;",
            "elementType": "http://www.modeling-platform/classes/book1234"
            "parameters": []
        }
    ]
}

isAbstract#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#isAbstract

Description:

Indicates whether the method or class is abstract.

Domain:

Method | Class

Range:

xsd:boolean

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Class",
    "id": "http://www.modeling-platform/classes/c1d2e3",
    "name": "AbstractClass",
    "timestamp": "2025-01-20T08:30:00Z",
    "isAbstract": true
}

isId#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#isId

Description:

Indicates whether the property is an identifier.

Domain:

Property

Range:

xsd:boolean

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Property",
    "id": "http://www.modeling-platform/properties/p1d2e3",
    "name": "identifier",
    "timestamp": "2025-01-20T08:30:00Z",
    "elementType": "str",
    "isId": true
}

ends#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#ends

Description:

Represents the ends of an association.

Domain:

Association

Range:

Property | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Association",
    "id": "http://www.modeling-platform/associations/a1b2c3",
    "name": "has_books",
    "timestamp": "2025-01-20T08:30:00Z",
    "ends": [
        "http://www.modeling-platform/properties/p1r2y3",
        "http://www.modeling-platform/properties/p4r5y6"
    ]
}

general#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#general

Description:

Represents the general element in a generalization relationship.

Domain:

Generalization

Range:

Class | Link

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Generalization",
    "id": "http://www.modeling-platform/generalization/g1h2i3",
    "timestamp": "2025-01-20T08:30:00Z",
    "general": "http://www.modeling-platform/classes/c1d2e3",
    "specific": "http://www.modeling-platform/classes/c4d5e6"
}

specific#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#specific

Description:

Represents the specific element in a generalization relationship.

Domain:

Generalization

Range:

Class | Link

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Generalization",
    "id": "http://www.modeling-platform/generalizations/g1h2i3",
    "name": "Generalization Example",
    "timestamp": "2025-01-20T08:30:00Z",
    "general": "http://www.modeling-platform/classes/c1d2e3",
    "specific": "http://www.modeling-platform/classes/c4d5e6"
}

value#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#value

Description:

Represents the value of an enumeration literal.

Domain:

EnumerationLiteral

Range:

xsd:string

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "EnumerationLiteral",
    "id": "http://www.modeling-platform/enumerationliterals/l1m2n3",
    "name": "Public",
    "value": "1",
    "owner": "http://www.modeling-platform/enumerations/e1f2g3"
}

generalizations#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#generalizations

Description:

Represents the generalization relationships of a domain model.

Domain:

Domain Model

Range:

Generalization | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "DomainModel",
    "id": "http://www.modeling-platform/domainmodel/m1d2e3",
    "name": "Domain Model Example",
    "generalizations": [
        "http://www.modeling-platform/generalizations/g1h2i3",
        {
            "type": "Generalization",
            "id": "http://www.modeling-platform/generalizations/g4h5i6",
            "general": "http://www.modeling-platform/classes/c7d8e9",
            "specific": "http://www.modeling-platform/classes/c1d2e3"
        }
    ]
}

elements#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#classes

Description:

Represents the model elements contained in a package

Domain:

Package

Range:

Class | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Package",
    "id": "http://www.modeling-platform/package/p1d2e3",
    "name": "LibraryPackage",
    "elements": [
        "http://www.modeling-platform/class/c1d2e3",
        "http://www.modeling-platform/class/c1l3k4",
        "http://www.modeling-platform/class/c1b5n6"
    ]
}

types#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#types

Description:

Represents the types contained in a domain model including classes, enumerations, etc.

Domain:

Domain Model

Range:

Class | Enumeration | PrimitiveDataType Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "DomainModel",
    "id": "http://www.modeling-platform/domainmodel/a1b2c3",
    "name": "A simple Domain Model",
    "types": [
        "http://www.modeling-platform/classes/t1d2e3",
        "http://www.modeling-platform/enumerations/e1n2m3"
    ]
}

associations#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#associations

Description:

Represents the associations contained in a domain model.

Domain:

Domain Model

Range:

Association | BinaryAssociation Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "DomainModel",
    "id": "http://www.modeling-platform/domainmodels/a1b2c3",
    "name": "A simple Domain Model",
    "associations": [
        "http://www.modeling-platform/associations/a1b2c3",
        {
            "type": "BynaryAssociation",
            "id": "http://www.modeling-platform/associations/a4b5c6",
            "name": "Another Association",
            "timestamp": "2025-01-20T08:30:00Z",
            "ends": [
                "http://www.modeling-platform/properties/p1r2y3",
                "http://www.modeling-platform/properties/p4r5y6"
            ]
        }
    ]
}

packages#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#packages

Description:

Represents the packages contained in a domain model.

Domain:

Domain Model

Range:

Package | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "DomainModel",
    "id": "http://www.modeling-platform/domainmodels/a1b2c3",
    "name": "A simple Domain Model",
    "packages": [
        "http://www.modeling-platform/packages/p1d2e3",
        "http://www.modeling-platform/packages/p5d6e7",
    ]
}

interfaces#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#interfaces

Description:

Represents the interfaces implemented by an agent.

Domain:

Agent

Range:

xsd:string

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Agent",
    "id": "http://www.modeling-platform/agent/a1b2c3",
    "name": "AI Agent",
    "summary": "An agent acting on behalf of a user",
    "interfaces": [
        "API",
        "CLI"
    ]
}

underlyingModel#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#underlyingModel

Description:

Represents the underlying model used by an agent.

Domain:

Agent

Range:

Domain Model

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Agent",
    "id": "http://www.modeling-platform/agent/a1b2c3",
    "name": "AI Agent",
    "summary": "An agent acting on behalf of a user",
    "underlyingModel": "http://www.modeling-platform/domainmodel/d1e2f3"
}

adaptability#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#adaptability

Description:

Represents the adaptability of an agent.

Domain:

Agent

Range:

xsd:boolean

Allow multiple:

False

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Agent",
    "id": "http://www.modeling-platform/agent/a1b2c3",
    "name": "AI Agent",
    "summary": "An agent acting on behalf of a user",
    "adaptability": true
}

mediaTypes#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#mediaTypes

Description:

Represents the media types supported by an agent.

Domain:

Agent

Range:

xsd:string

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "Agent",
    "id": "http://www.modeling-platform/agent/a1b2c3",
    "name": "AI Agent",
    "summary": "An agent acting on behalf of a user",
    "mediaTypes": [
        "application/json",
        "text/html"
    ]
}

grants#

URI:

https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld#grants

Description:

Represents the grants associated with a domain model.

Domain:

Domain Model

Range:

Grant | Link

Allow multiple:

True

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        "https://besser-pearl.github.io/ModelFed/ns/modelfed.jsonld"
    ],
    "type": "DomainModel",
    "id": "http://www.modeling-platform/domainmodels/a1b2c3",
    "name": "A simple Domain Model",
    "grants": [
        {
            "type": "Grant",
            "id": "http://www.modeling-platform/grants/g4h5i6",
            "actor": "https://modeling-platform/maintainer-user",
            "to": "https://other-platform/modeler-user",
            "target": "http://www.modeling-platform/domainmodels/m1o2d3",
            "role": "editor"
        }
    ]
}

3. Values#

Values are predefined options that can be assigned to certain properties.

Role#

Value

Description

Administrator

Full control over the associated object. Can edit, delete, and create new grants for it.

Editor

Read and write access to the object. Can create and modify content but cannot delete it.

Reader

Read-only access. Can view the object but cannot modify or delete it.

Primitive data types#

Although the ModelFed vocabulary allows you to define new data types, the primitive data types you can use are predefined and cover the most common data representations.

Common primitive data types include:

str

int

bool

float

date

time

datetime

You can also extend this set by defining custom data types if needed, but these primitives form the foundation for most property values needs.