Skip to content
architolk edited this page Nov 2, 2016 · 1 revision

Any representation can contain parts. You use a part the specify the appearance and the sparql query. You can simply use the properties of a part with the representation, or use one or more elmo:contains statements:

stage:rep a elmo:Representation;
	elmo:contains stage:part;
.
stage:part a elmo:Part;
	elmo:query "select distinct ?t where {?x rdf:type ?t}"
.

These statements above are identical to the statements below:

stage:rep a elmo:Representation;
	elmo:query "select distinct ?t where {?x rdf:type ?t}"
.

You use parts, because you can reuse parts among representations or because you need to have multiple representations on the same page (for example: a header, a menu and some content).

The following properties are possible for a part (or a representation):

  • elmo:fragment: the configuration of a fragment of a part (the meaning depends on the appearance you use);
  • elmo:query: the SPARQL query that should be performed;
  • elmo:data: some data that should be returned (the data should be stated as blank nodes).

You typically use elmo:query or elmo:data. The object of an elmo:query statement should be the whole sparql statement, like the examples above. The object of an elmo:data statement should be a blank node, like the example below (using a elmo:NavbarAppearance):

stage:menu a elmo:Part;
	elmo:appearance elmo:NavbarAppearance;
	elmo:data [
		rdfs:label "Menu";
		elmo:data [rdfs:label "item 1"; html:link "/query/item1"];
		elmo:data [rdfs:label "item 2"; html:link "/query/item2"];
	]
.
Clone this wiki locally