Pattern stOTTR 🛈 stOTTR serialisation of the template without annotation instances.
plmtpl:RDLObjectProperty[
! owl:ObjectProperty ?RDLOP,
? List<owl:ObjectProperty> ?superprop,
!? xsd:string ?label,
!? xsd:string ?description,
? List<rdfs:Resource> ?seeAlso,
? ottr:IRI ?definedBy,
? owl:Class ?domain,
? owl:Class ?range,
? NEList<ottr:IRI> ?propertyType,
? owl:ObjectProperty ?inverse
] :: {
ottr:Triple(?RDLOP, owl:inverseOf, ?inverse),
ottr:Triple(?RDLOP, rdfs:domain, ?domain),
ottr:Triple(?RDLOP, rdfs:range, ?range),
cross | o-owl-ax:SubPropertyOf(?RDLOP, ++?superprop),
o-owl-dec:ObjectProperty(?RDLOP, ?label, ?description, ?seeAlso, ?definedBy),
cross | o-rdf:Type(?RDLOP, ++?propertyType)
} . 🛈 The pattern of the template is illustrated by expanding a generated instance. Below the generated instance is shown in different serialisations, and its expansion is presented in different formats.
Generated instance stOTTR plmtpl:RDLObjectProperty(x:argument1, (x:argument2-1, x:argument2-2), _:argument3, _:argument4, (_:argument5-1, _:argument5-2), x:argument6, x:argument7, x:argument8, (x:argument9-1, x:argument9-2), x:argument10) RDF/wOTTR Visualisation of expanded RDF graph 🛈 Each resource node is linked to its IRI. Type relationships are not visualised, rather each node contains its type.
Hierarchical horizontal layout (dot)
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>
x:argument9-2
, owl:ObjectProperty,
x:argument9-1
x:argument1
argument3 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument3 : LUB<rdfs:Resource>
rdfs:label
argument4 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument4 : LUB<rdfs:Resource>
rdfs:comment
argument5-2 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-2 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
x:argument8
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
rdfs:range
http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
x:argument10
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
owl:inverseOf
argument5-1 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-1 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
x:argument6
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
rdfs:isDefinedBy
http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
x:argument2-1
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
x:argument2-2
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
x:argument7
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
rdfs:domain
Hierarchical vertical layout (dot)
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>
x:argument9-2
, owl:ObjectProperty,
x:argument9-1
x:argument1
argument3 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument3 : LUB<rdfs:Resource>
rdfs:label
argument4 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument4 : LUB<rdfs:Resource>
rdfs:comment
argument5-2 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-2 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
x:argument8
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
rdfs:range
http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
x:argument10
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
owl:inverseOf
argument5-1 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-1 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
x:argument6
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
rdfs:isDefinedBy
http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
x:argument2-1
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
x:argument2-2
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
x:argument7
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
rdfs:domain
Spring model layout (neato)
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>
x:argument9-2
, owl:ObjectProperty,
x:argument9-1
x:argument1
argument3 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument3 : LUB<rdfs:Resource>
rdfs:label
argument4 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument4 : LUB<rdfs:Resource>
rdfs:comment
argument5-2 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-2 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
x:argument8
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
rdfs:range
http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
x:argument10
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
owl:inverseOf
argument5-1 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-1 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
x:argument6
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
rdfs:isDefinedBy
http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
x:argument2-1
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
x:argument2-2
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
x:argument7
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
rdfs:domain
Spring model layout (fdp)
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>
x:argument9-2
, owl:ObjectProperty,
x:argument9-1
x:argument1
argument3 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument3 : LUB<rdfs:Resource>
rdfs:label
argument4 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument4 : LUB<rdfs:Resource>
rdfs:comment
argument5-2 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-2 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
x:argument8
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
rdfs:range
http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
x:argument10
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
owl:inverseOf
argument5-1 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-1 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
x:argument6
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
rdfs:isDefinedBy
http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
x:argument2-1
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
x:argument2-2
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
x:argument7
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
rdfs:domain
Radial layout (twopi)
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>
x:argument9-2
, owl:ObjectProperty,
x:argument9-1
x:argument1
argument3 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument3 : LUB<rdfs:Resource>
rdfs:label
argument4 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument4 : LUB<rdfs:Resource>
rdfs:comment
argument5-2 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-2 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
x:argument8
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
rdfs:range
http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
x:argument10
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
owl:inverseOf
argument5-1 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-1 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
x:argument6
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
rdfs:isDefinedBy
http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
x:argument2-1
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
x:argument2-2
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
x:argument7
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
rdfs:domain
Circular layout (circo)
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>
x:argument9-2
, owl:ObjectProperty,
x:argument9-1
x:argument1
argument3 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument3 : LUB<rdfs:Resource>
rdfs:label
argument4 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument4 : LUB<rdfs:Resource>
rdfs:comment
argument5-2 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-2 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
x:argument8
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument8 : LUB<ottr:IRI>
rdfs:range
http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
x:argument10
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument10 : LUB<ottr:IRI>
owl:inverseOf
argument5-1 : LUB<rdfs:Resource>
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->argument5-1 : LUB<rdfs:Resource>
rdfs:seeAlso
http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
x:argument6
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument6 : LUB<ottr:IRI>
rdfs:isDefinedBy
http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
x:argument2-1
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-1 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
x:argument2-2
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument2-2 : LUB<ottr:IRI>
rdfs:subPropertyOf
http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
x:argument7
http://example.ottr.xyz/argument/argument1 : LUB<ottr:IRI>->http://example.ottr.xyz/argument/argument7 : LUB<ottr:IRI>
rdfs:domain
Expanded RDF graph Interactive expansion 🛈 Click the list to expand/contract one list element. Click 'expand/contact all' to expand/contract all elements. Note that the interactive expansion is not correct for instances that are marked by list expanders.
plmtpl:RDLObjectProperty(x:argument1, (x:argument2-1, x:argument2-2), _:argument3, _:argument4, (_:argument5-1, _:argument5-2), x:argument6, x:argument7, x:argument8, (x:argument9-1, x:argument9-2), x:argument10)
ottr:Triple(x:argument1, rdfs:range, x:argument8)
ottr:Triple(x:argument1, owl:inverseOf, x:argument10)
ottr:Triple(x:argument1, rdfs:domain, x:argument7)
cross | o-owl-ax:SubPropertyOf(x:argument1, ++(x:argument2-1, x:argument2-2))
ottr:Triple(x:argument1, rdfs:subPropertyOf, (x:argument2-1, x:argument2-2))
o-owl-dec:ObjectProperty(x:argument1, _:argument3, _:argument4, (_:argument5-1, _:argument5-2), x:argument6)
<http://tpl.ottr.xyz/rdfs/0.2/TypedResourceDescription>(x:argument1, owl:ObjectProperty, _:argument3, _:argument4, (_:argument5-1, _:argument5-2), x:argument6)
o-rdf:Type(x:argument1, owl:ObjectProperty)
ottr:Triple(x:argument1, rdf:type, owl:ObjectProperty)
<http://tpl.ottr.xyz/rdfs/0.2/ResourceDescription>(x:argument1, _:argument3, _:argument4, (_:argument5-1, _:argument5-2), x:argument6)
cross | ottr:Triple(x:argument1, rdfs:seeAlso, ++(_:argument5-1, _:argument5-2))
ottr:Triple(x:argument1, rdfs:isDefinedBy, x:argument6)
ottr:Triple(x:argument1, rdfs:comment, _:argument4)
<http://tpl.ottr.xyz/rdfs/0.2/Label>(x:argument1, _:argument3)
ottr:Triple(x:argument1, rdfs:label, _:argument3)
cross | o-rdf:Type(x:argument1, ++(x:argument9-1, x:argument9-2))
ottr:Triple(x:argument1, rdf:type, (x:argument9-1, x:argument9-2))
Serialisations stOTTR plmtpl:RDLObjectProperty[
! owl:ObjectProperty ?RDLOP,
? List<owl:ObjectProperty> ?superprop,
!? xsd:string ?label,
!? xsd:string ?description,
? List<rdfs:Resource> ?seeAlso,
? ottr:IRI ?definedBy,
? owl:Class ?domain,
? owl:Class ?range,
? NEList<ottr:IRI> ?propertyType,
? owl:ObjectProperty ?inverse
]
@@o-docttr:Provenance(
plmtpl:RDLObjectProperty,
"2021-09-03T19:50:58Z"^^xsd:dateTime,
none,
(<https://orcid.org/0000-0002-7167-732>),
none),
@@o-docttr:Signature(
plmtpl:RDLObjectProperty,
"RDL Object Property",
"Declare an RDL object property, extending o-owl-dec:ObjectProperty. This template aims to cover the most frequently used devices: superproperties, domain/range, property types like 'functional' and 'transitive', and an inverse relation.",
none,
("The OWL types applicable to object properties are owl:FunctionalProperty , owl:InverseFunctionalProperty , owl:SymmetricProperty , owl:AsymmetricProperty , owl:TransitiveProperty , owl:ReflexiveProperty , and owl:IrreflexiveProperty ."),
none,
none),
@@o-docttr:Version(
plmtpl:RDLObjectProperty,
ottr:draft,
"0.1.1",
none,
none)
:: {
ottr:Triple(?RDLOP, owl:inverseOf, ?inverse),
ottr:Triple(?RDLOP, rdfs:domain, ?domain),
ottr:Triple(?RDLOP, rdfs:range, ?range),
cross | o-owl-ax:SubPropertyOf(?RDLOP, ++?superprop),
o-owl-dec:ObjectProperty(?RDLOP, ?label, ?description, ?seeAlso, ?definedBy),
cross | o-rdf:Type(?RDLOP, ++?propertyType)
} . RDF/wOTTR