-
Notifications
You must be signed in to change notification settings - Fork 1
/
mud.ttl
210 lines (170 loc) · 8.01 KB
/
mud.ttl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix ldp: <http://www.w3.org/ns/ldp#> .
@prefix schema: <http://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix wd: <http://www.wikidata.org/entity/> .
@prefix mud: <https://raw.githubusercontent.com/Multi-User-Domain/vocab/main/mud.ttl#> .
mud: rdf:type owl:Ontology ;
# Description
dcterms:title "Multi-User Domain ontology" ;
dcterms:description """
Includes definitions for Things relating to Multi-User Domains
""" ;
# Ownership
dcterms:license <http://creativecommons.org/licenses/by/4.0/> ;
dcterms:creator <https://calum.inrupt.net/profile/card#me> ;
dcterms:contributor <https://matttennison.inrupt.net/profile/card#me> .
# Specifications
mud:Specification a rdfs:Class ;
rdfs:label "Specification"@en ;
rdfs:comment "Represents a specification, allowing the negotiation of content based on theme/game community"@en .
mud:ArtStyle a rdfs:Class ;
rdfs:subClassOf mud:Specification ;
rdfs:label "ArtStyle"@en ;
rdfs:comment "A type of specification which indicates the compatibility between games of different artistic styles in graphics. The objective is to allow the game to prioritise graphical representations more consistent with its themes."@en .
mud:implementsSpecification a rdf:Property ;
rdfs:label "Implements specification"@en ;
rdfs:comment "If an object has this property it is indicating that it respects the specification linked"@en ;
rdfs:range mud:Specification .
# Server configurations
mud:Configuration a rdfs:Class ;
rdfs:label "MUD Server Configuration"@en ;
rdfs:comment "A document containing the configuration of the MUD provider, e.g. a list of provided endpoints"@en .
mud:worldEndpoint a rdf:Property ;
rdfs:label "worldEndpoint"@en ;
rdfs:comment "The URL where a supported MUD world endpoint can be found"@en ;
rdfs:domain mud:Configuration ;
rdfs:range schema:URL .
mud:sceneGenerationEndpoint a rdf:Property ;
rdfs:label "sceneGenerationEndpoint"@en ;
rdfs:comment "The URL where a supported MUD Scene Generation endpoint can be found"@en ;
rdfs:domain mud:Configuration ;
rdfs:range schema:URL .
# Configurations for Creator Tooling
mud:Form a rdfs:Class ;
rdfs:label "Form"@en ;
rdfs:comment "Used by applications which allow the user to publish content. Links shapes and other instructions for rendering a form"@en .
mud:creationShapes a rdf:Property ;
rdfs:label "creationShapes"@en ;
rdfs:comment "The URLs for Shape graphs which compose a form"@en ;
rdfs:range ldp:Container .
# World concepts
mud:Organization a rdfs:Class ;
rdfs:subClassOf foaf:Organization ;
rdfs:label "Organization"@en ;
rdfs:label "Organisation"@fr .
mud:Locatable a rdfs:Class ;
rdfs:label "Locatable Place"@en ;
rdfs:comment "A parent class for all classes in which a Party can be"@en .
mud:Building a mud:Locatable ;
rdfs:subClassOf mud:Locatable ;
rdfs:label "Building"@en ;
rdfs:label "Bâtiment"@fr .
mud:BuildingType a rdfs:Class ;
rdfs:label "Building Type"@en ;
rdfs:label "Type de Bâtiment"@fr ;
rdfs:comment "The social categorisation of a building"@en ;
rdfs:comment "La categorisation sociale d'un bâtiment"@fr .
mud:buildingType a rdf:Property ;
rdfs:label "buildingType"@en ;
rdfs:range mud:BuildingType .
mud:Species a rdfs:Class ;
rdfs:label "Species"@en ;
rdfs:label "Espèce"@fr ;
rdfs:label "Especies"@es ;
rdfs:comment "A biological classification"@en .
mud:Human a rdfs:Class ;
rdfs:subClassOf mud:Species ;
rdfs:label "Human"@en ;
rdfs:label "Humain"@fr ;
rdfs:comment "A human being" .
mud:species a rdf:Property ;
rdfs:label "Species"@en ;
rdfs:label "Espèce"@fr ;
rdfs:label "Especies"@es ;
rdfs:comment "A property for Things with a mud:Species (e.g. mud:Human)"@en ;
rdfs:range mud:Species, wd:Q16521 . # Q16521 is WikiData's Taxon class
mud:primaryTextContent a rdf:Property ;
rdfs:label "Primary Text Content"@en ;
rdfs:comment "The default text description of an object"@en ;
rdfs:domain owl:Thing ;
rdfs:range xsd:string .
mud:primaryImageContent a foaf:depiction ;
rdfs:label "Primary Image Content"@en ;
rdfs:comment "The default depiction of a Thing"@en ;
rdfs:domain owl:Thing .
mud:ownedBy a rdf:Property ;
rdfs:label "owned by"@en ;
rdfs:label "appartenant de"@fr ;
rdfs:domain mud:Character, mud:Building ;
rdfs:range foaf:Agent .
# TODO: for Party/Character locations this is fine (because it can be vague), but for possessions it won't be
mud:locatedAt a rdf:Property ;
rdfs:label "locatedAt"@en ;
rdfs:comment "The location of a thing, in a mud:Locatable"@en ;
rdfs:domain mud:Locatable .
# Quests. Intended to be attached to a player and/or Character
mud:Quest a rdfs:Class ;
rdfs:label "Quest"@en ;
rdfs:label "Quête"@fr ;
rdfs:comment "A goal, expedition, adventure. Something to be achieved"@en .
mud:questImportance a rdf:Property ;
rdfs:label "Quest Importance"@en ;
rdfs:label "Importance du Quête"@fr ;
rdfs:comment "How important the quest is to its' holder. The higher the value the more important"@en ;
rdfs:range xsd:integer .
# TODO: write a guide on quest conclusions. This could be a string description, success or failure, or a link to something more complex
mud:questConclusion a rdf:Property ;
rdfs:label "Quest Conclusion"@en ;
rdfs:comment "When a quest was completed - what happened? This could be a string description, success or failure, or a link to something more complex"@en ;
rdfs:domain mud:Quest .
mud:questAcceptedAt a rdf:Property ;
rdfs:label "questAcceptedAt"@en ;
rdfs:comment "The date/time the holder accepted the quest"@en ;
rdfs:domain mud:Quest ;
rdfs:range xsd:datetime .
mud:questCompletedAt a rdf:Property ;
rdfs:label "questCompletedAt"@en ;
rdfs:comment "The date/time the holder completed the quest"@en ;
rdfs:domain mud:Quest ;
rdfs:range xsd:datetime .
mud:questDateTimeLimit a rdf:Property ;
rdfs:label "questDateTimeLimit"@en ;
rdfs:comment "The date/time the holder must have completed the quest by in order to succeed"@en ;
rdfs:domain mud:Quest ;
rdfs:range xsd:datetime .
mud:QuestObjective a rdfs:Class ;
rdfs:label "Quest Objective"@en ;
rdfs:label "Tâche Composant de Quête"@fr ;
rdfs:comment "A composant part of a Quest, a short-term goal"@en .
mud:objectiveCompletedConformShape a rdf:Property ;
rdfs:label "objectiveCompletedConformShape"@en ;
rdfs:comment "The objective is considered completed when the given conditions are met (a container of shconform:ShapeConformObj objects"@en ;
rdfs:domain mud:Quest ;
rdfs:range ldp:Container .
mud:hasObjectives a rdf:Property ;
rdfs:label "hasObjectives"@en ;
rdfs:comment "The subject (typically a Quest) has an ordered list of quest objectives"@en ;
rdfs:range ldp:Container .
mud:hasActiveQuests a rdf:Property ;
rdfs:label "hasActiveQuests"@en ;
rdfs:comment "A list of active quests - yet to be completed and in active pursuit"@en ;
rdfs:range ldp:Container .
mud:hasInactiveQuests a rdf:Property ;
rdfs:label "hasInactiveQuests"@en ;
rdfs:comment "A list of inactive quests - yet to be completed and in not currently being pursued"@en ;
rdfs:range ldp:Container .
mud:completedQuests a rdf:Property ;
rdfs:label "completedQuests"@en ;
rdfs:comment "A list of quests completed by the agent"@en ;
rdfs:range ldp:Container .
# TODO: guide and demonstration for the below
mud:questRewardURL a rdf:Property ;
rdfs:label "Quest Reward URL"@en ;
rdfs:comment "A URL where the consequences of quest completion can be found. It could accept and return a graph"@en ;
rdfs:range schema:URL .