# baseURI: http://tests.evn-plugins.topbraid.org/evn-plugins # imports: http://evn.topbraidlive.org/ui # imports: http://topbraid.org/teamworkrules # imports: http://www.w3.org/2003/01/geo/wgs84_pos @prefix afn: . @prefix arg: . @prefix cfg: . @prefix charts: . @prefix composite: . @prefix config: . @prefix css: . @prefix daml: . @prefix dc: . @prefix dcam: . @prefix dct: . @prefix dcterms: . @prefix default: . @prefix email: . @prefix evn: . @prefix evn-plugins: . @prefix evnimport: . @prefix evnprojects: . @prefix evnui: . @prefix extjs: . @prefix fn: . @prefix foaf: . @prefix geo: . @prefix html: . @prefix imported: . @prefix json: . @prefix let: . @prefix letrs: . @prefix list: . @prefix owl: . @prefix pg: . @prefix rdf: . @prefix rdfs: . @prefix sd: . @prefix search: . @prefix search.spin: . @prefix sharepoint: . @prefix sharepoint.spin: . @prefix sioc: . @prefix skos: . @prefix skosapp: . @prefix skostemplate: . @prefix sm: . @prefix smf: . @prefix sml: . @prefix solr: . @prefix sp: . @prefix sparqlmotionlib-swp: . @prefix sparqlmotionlib-tbc: . @prefix spell: . @prefix spif: . @prefix spin: . @prefix spl: . @prefix spl-dynamic-ranges: . @prefix spr: . @prefix spra: . @prefix style: . @prefix swa: . @prefix swaeditor: . @prefix swon: . @prefix sxml: . @prefix tables: . @prefix tagger: . @prefix tbl: . @prefix tbladmin: . @prefix teamwork: . @prefix teamworkconfig: . @prefix teamworkrules: . @prefix tops: . @prefix ui: . @prefix uix: . @prefix vs: . @prefix wot: . @prefix xsd: . arg:related rdf:type rdf:Property ; rdfs:subPropertyOf sp:arg ; . rdf:type owl:Ontology ; rdfs:comment "Test examples of the various plugin types officially supported to be used by customers. There are other plugins possible via SWA etc but these are neither recommended nor supported by TopQuadrant."^^xsd:string ; owl:imports ; owl:imports ; owl:imports ; owl:versionInfo "0.7.0"^^xsd:string ; . evn-plugins:ExampleCreateConceptPlugins rdf:type ui:NodeClass ; ui:prototype """ """^^ui:Literal ; rdfs:comment "Demonstrates how to automatically initialize a newly created Concept with additional values such as unique identifiers. The system will automatically execute the ui:prototypes of all declared subclasses of evnui:CreateConceptPlugin."^^xsd:string ; rdfs:label "Example create concept plugins"^^xsd:string ; rdfs:subClassOf evnui:CreateConceptPlugins ; . evn-plugins:ExampleCreateProjectPlugin rdf:type ui:NodeClass ; ui:prototype """ """^^ui:Literal ; rdfs:comment "This example plugin will make all known users managers of the new vocabulary."^^xsd:string ; rdfs:label "Example create project plugin"^^xsd:string ; rdfs:subClassOf teamwork:CreateProjectPlugins ; . evn-plugins:ExampleEditRule rdf:type teamwork:EditRule ; teamwork:ruleMayUpdate "true"^^xsd:boolean ; ui:prototype """ """^^ui:Literal ; rdfs:comment "Executed after each change: inserts a dummy comment whenever a new owl:DatatypeProperty has been created. This rule will not be executed after undo - because it is marked as teamwork:ruleMayUpdate."^^xsd:string ; rdfs:label "Example edit rule"^^xsd:string ; rdfs:subClassOf teamwork:EditRules ; . evn-plugins:ExampleGlobalAction rdf:type evnui:Action ; arg:condition "true"^^xsd:boolean ; arg:onSelect """$.get(swa.servlet, { _viewClass : 'evn-plugins:GetCountJSON', _base : swa.queryGraphURI }, function(data) { alert('This model has ' + data.count + ' concepts.'); });"""^^xsd:string ; rdfs:comment "An example of an action that shows up in the global drop-down menu in the head of EVN. This can be used to invoke JavaScript or perform global edit operations such as refactorings. This example action calculates the number of concepts in the current model and displays it in an alert box. The count is computed via an\"Ajax\" callback to the server, and you should navigate to evn-plugins:GetCountJSON to see how that's implemented."^^xsd:string ; rdfs:label "Example global action"^^xsd:string ; . evn-plugins:ExampleMapObjectViewer rdf:type swa:ObjectViewerClass ; swa:objectWidgetWeight [ rdf:type swa:WeightedExpression ; swa:expression [ rdf:type sp:eq ; sp:arg1 [ sp:varName "predicate"^^xsd:string ; ] ; sp:arg2 geo:lat ; ] ; swa:weight 7 ; ] ; ui:prototype """ """^^ui:Literal ; rdfs:comment "An example of a custom widget that is used on all forms in view mode and for resources that have a geo:lat value. The widget declares that it wants to be responsible for all appearances of geo:lat using the swa:objectWidgetWeight. The ui:prototype of the widget collects lat and long values of the current subject and constructs a simple tag with a Google Maps URL from it. Note that the geo:long still shows up on the form, so this should be suppressed in the form layout."^^xsd:string ; rdfs:label "Example map object viewer"^^xsd:string ; rdfs:subClassOf swa:ObjectViewer ; . evn-plugins:ExampleResourceAction rdf:type swa:ResourceAction ; rdf:type ui:NodeClass ; arg:appName "EVN"^^xsd:string ; arg:condition [ rdf:type sp:if ; sp:arg1 [ rdf:type spl:instanceOf ; sp:arg1 [ sp:varName "resource"^^xsd:string ; ] ; sp:arg2 skos:Concept ; ] ; sp:arg2 "true"^^xsd:boolean ; sp:arg3 [ sp:varName "none"^^xsd:string ; ] ; ] ; spin:constraint [ rdf:type spl:Argument ; spl:predicate arg:date ; spl:valueType xsd:date ; rdfs:comment "A date that needs to be entered by the user."^^xsd:string ; ] ; spin:constraint [ rdf:type spl:Argument ; spl:predicate arg:related ; spl:valueType skos:Concept ; rdfs:comment "A concept that shall be added to the related concepts of the selected resource."^^xsd:string ; ] ; ui:instanceView """
"""^^ui:Literal ; ui:prototype """ """^^ui:Literal ; rdfs:comment """A resource action based on a swa:ResourceEditHandler. The action takes three arguments: the selected resource (which is bound automatically by the framework) and an xsd:date value as well as another skos:Concept. When executed, a modal dialog will be displayed where the user can enter the date value and pick the concept using auto-complete. On OK the dialog will apply a change to the model, adding the given values to the selected property. Note that this class is an instance of swa:ResourceAction and also a subclass of swa:ResourceEditHandlers. If it were only an instance of swa:ResourceAction, then we would need to supply a line of JavaScript code under arg:onSelect, which can access the variable 'evn.resourceURI' to get the currently selected resource. The action also defines its own ui:instanceView with ui:id=\"form\". This has two purposes: First it allows developers to take full control of the layout of widgets on the dialog. Second, and more importantly, it suppresses the widget for the resource argument that would otherwise show up. Instead of having an input field, the action framework will automatically pass the selected resource into the execution call. Note that the arg:appName must be \"EVN\". Also make sure that arg:condition is a SPARQL expression that delivers true if the action shall show up and selectable. False means it will show up greyed out, and returning nothing means it will not even show up in the menu. See also the other instances of swa:ResourceAction for more examples."""^^xsd:string ; rdfs:label "Example resource action"^^xsd:string ; rdfs:subClassOf swa:ResourceEditHandlers ; . evn-plugins:GetCountJSON rdf:type ui:NodeClass ; ui:prototype """ """^^ui:Literal ; ui:responseType ui:JSON ; rdfs:comment """Can be used as a JSON callback that delivers the count of all instances of skos:Concept and its subclasses. Result is of the form { \"count\" : \"42\" }"""^^xsd:string ; rdfs:label "Get count JSON"^^xsd:string ; rdfs:subClassOf ui:Element ; . evn-plugins:SendEmailsOnTagStatusChangeRule rdf:type teamwork:StatusChangeRule ; ui:prototype """ """^^ui:Literal ; rdfs:comment "An example rule that sends out emails to all members of a working copy whenever the status of the working copy has changed. Note that in this case sml:SendEMails uses the globally configured SMTP parameters of TBL."^^xsd:string ; rdfs:label "Send emails on tag status change rule"^^xsd:string ; rdfs:subClassOf teamwork:StatusChangeRules ; . evn-plugins:UUIDCreateResourceDialogPlugin rdf:type swa:CreateResourceDialogPlugin ; swa:createResourceDialogPluginWeight [ rdf:type swa:WeightedExpression ; swa:expression [ rdf:type sp:and ; sp:arg1 [ rdf:type swa:hasAppName ; sp:arg1 [ sp:varName "appName"^^xsd:string ; ] ; sp:arg2 "EVN" ; ] ; sp:arg2 [ rdf:type sp:eq ; sp:arg1 [ sp:varName "resourceType"^^xsd:string ; ] ; sp:arg2 owl:DatatypeProperty ; ] ; ] ; swa:weight 1 ; ] ; ui:prototype """
Generated URI: {= ?uri }
See evn-plugins:UUIDCreateResourceDialogPlugin how to implement this.
"""^^ui:Literal ; rdfs:comment "An example plugin for the create resource dialog that automatically creates URIs based on UUIDs - there is no input field to enter them. The plugin is declared to be the default for the EVN Vocabulary editor based on the SWA appName, and there only for the Create Attribute dialog (owl:DatatypeProperty)."^^xsd:string ; rdfs:label "UUID create resource dialog plugin"^^xsd:string ; rdfs:subClassOf swa:CreateResourceDialogPlugins ; . skos:Concept swa:fullTextSearchProperty skos:altLabel ; swa:fullTextSearchProperty skos:definition ; swa:fullTextSearchProperty skos:prefLabel ; .