The standard library of SPARQLMotion modules. This library may be split into multiple physical files in the future, but the URIs of the module types and properties will be stable. 2.1.2 Serialization The various serialization formats of RDF/OWL files, including RDF/XML and N3. Database type The class of database configurations used by Jena SDB (and possibly other databases). Jena inferencing mode OWL_MEM OWL_MEM_MICRO_RULE_INF OWL_MEM_MINI_RULE_INF OWL_MEM_RDFS_INF OWL_MEM_RULE_INF OWL_MEM_TRANS_INF OWL_DL_MEM OWL_DL_MEM_RDFS_INF OWL_DL_MEM_RULE_INF OWL_DL_MEM_TRANS_INF RDFS_MEM_RDFS_INF RDFS_MEM_TRANS_INF The inferencing types supported by Jena. sql className instancePattern askQuery xpath An XPath expression. separator class useUnderscore predicate xml text smtpServer iteration variable The name of a variable that shall contain the iteration index in a loop, starting at zero. single pass datatype graph name Links a filter module with a predecessor module to mark the predecessor module graph to be used for filtering in the filter module. filterGraph value hidden url addedPrefix rowQuery selectInstanceClass Prompts the user to select an instance by class, and binds the selected resource into the specified output variable. If not selectInstanceClass is specified, then the selection dialog would start at the root class. This module is currently not supported by TopBraid Ensemble. Select instance true Import from Various Modules that import information from some data source. Examples include modules to load files, to get XML from web sources and to take user input. true Import 0 true The (optional) class that shall be used as root of a class/instance selection box. The name of the variable that shall contain the selected resource. the label of the button to continue true the title of the selection window true schemaNamespace selected resource The suggested default property to use in conjunction with sml:SelectedResourceArgument. calendarProperty The properties that shall be shown in the calendar. true Export to Various 2 Export true Modules that create some output, such as files or UI components. Create calendar Creates a calendar view showing resources from one or more SPARQL select queries. The property that hold the relevant xsd:date and xsd:dateTime values. 1 A SPARQL Select query that returns the subjects that shall be displayed in the calendar. In a typical use case, this query would bind a single result variable that iterates over all "events", where each event has an xsd:date/time value attached to it using sml:calendarProperty. old graph result database type new graph columnQuery propertyPrefix Specifies whether a module shall overwrite all triples from its predecessors. If set to true (default is false), then the triples from the predecessors shall not be passed through. replace title template constructQuery targetFilePath inferencingMode update query A SPARQL UPDATE query (can be used to insert or delete triples from a graph). password serialization emailAccount useVerbatim input variable Can be used to represent path expressions such as /INBOX/TBC-MailingList path encoding userName loadBodies modelName cellQuery deletedPrefix sourceFilePath The path to a file relative in the execution context (workspace). Values can be relative to the currently executing script (e.g., subFolder/file.txt) or absolute to the workspace root (starting with /). on commit uri cached button label mimeType (Reserved for future use.) ignore imports select query xmlType XHTML ruleBaseName baseURI The base URI of an RDF model. true Import from Remote xml The name of the variable that will contain the XHTML as an XML document. Default: xml. Opens an HTML document from a URI, using Tidy to convert it to XHTML (XML). The url must point to the URL of the file. The URL may contain variables from the input modules. The resulting XML will be assigned to the specified output variable. Import XHTML The URL of the HTML page. May contain variables such as {?varName}. The (optional) mime type of the result stream. text/xml true The XML document that shall be returned. true Export to Remote Return XML Represents the exit point of a function that returns XML. The function can be referenced from the outside (e.g., as a web service) by its URI or local name. The text that shall be returned. true Return text Represents the exit point of a function that returns text (mimetype: text). The function can be referenced from the outside (e.g., as a web service) by its URI or local name. The (optional) mime type of the result stream. text true Return SPARQL results Runs a SPARQL Select query and returns its result in the standard SPARQL output format. The SELECT query to execute. 1 1 the serialization format such as XML or JSON true Import RDF from URL Gets RDF data from a given URL. The URL may just point to an RDF/OWL file on the web, or call a web service with REST-style parameters to receive RDF/XML back. The URL of the RDF source. May contain variable bindings such as {?varName}. true Processing 1 Modules that process data, e.g. to transform, filter and map it. Control Flow true Runs a SPARQL select query and binds all result variables of the first matching result set. The input RDF is simply passed through to the next module. For example, if you run SELECT ?name ?age WHERE { my:Person my:name ?name ; my:age ?age } then the variables name and age will be bound as output variables. Bind by select A SPARQL Select query that is executed over the input triples. The result variables of the first result row will be bound in the succeeding modules. 1 1 true Text Processing Serialize SPARQLResults Executes a SPARQL SELECT query and serializes its result to either XML or JSON format. The query to execute. text The name of the output variable that will contain the result. The serialization format. true Oracle This module type can be used to merge the variables and RDF triples from multiple input modules. So while this module basically does not do anything at all, it can be useful to create a clean structure in your script. Merge xml The output variable that will hold the loaded XML. Default: xml. Gets XML from a given URL and binds the resulting XML document to a specified output variable. Note that this could either be used to load static XML files from the web, or to call web services that return XML. Import XML from URL The URL to the XML file. May contain variables such as {?varName}. Convert text to RDFList list the name of the output variable that will contain the rdf:List the comma-separated list of URIs Takes a comma-separated list of URIs as input and creates an rdf:List from it which is then visible to all modules downstream. The rdf:List will be a blank node (or rdf:nil) and the provided output variable will point to it. Note that the RDF output of this module consists of the rdf:List triples only, i.e. the input triples are not passed through. Among others, this module can be used by web services that take lists as input. The text to parse. Convert text to RDF Converts a text in one of the RDF serializations into an RDF graph. In a typical scenario, the text would be passed into the script as external (web service) input. The result of this module are the input RDF triples plus the parsed triples. true N3 The (optional) serialization format, e.g. N3, XML, Turtle or NTriple. Default: N3. Prompts the user to select one resource out of a list of resources delivered from a SPARQL query. The selected resource will be bound to the specified variable. Any RDF triples that come in as input are forwarded as output. This module is currently not supported by TopBraid Ensemble. Select resource A SPARQL Select query that delivers the resources that shall be selectable in the UI box. 1 1 The name of the variable that shall hold the selected resource. the label of the button to continue true the title of the selection window true The target datatype, e.g. xsd:string or xsd:int. Default: xsd:string. Binds the output variable with a constant of a given datatype, or with a value derived from one or more other input variable values. The template could be as simple as {?varName} to insert the variable's value or more complex such as {?firstName} {?lastName}. This module can also be used to convert the datatype, e.g. to convert a xsd:string into a xsd:float. Bind literal variable the template string The name of the output variable. The name of the output variable that will be created. The name of the input variable that shall be cloned. Clone variable Clones a given variable value and assigns it to a new output variable. The input variable will keep its value. The user name to log in with. true The URL of the database. The database type, e.g. Oracle. The (optional) path to a .sdb file that can later be opened from within TopBraid. true Writes the input triples to a specified Jena SDB database. true Indicates whether all existing content of the SDB shall be overwritten. Export to SDB The base URI of the target SDB database. This will serve as a unique identifier of the triple store in TopBraid, and is typically also represented by an owl:Ontology. The password to log in with. true Runs a SPARQL Ask query and, depending on the resulting boolean, either continues with the sm:if or the sm:else branch. Both branch modules will get the same RDF triples and variable bindings as input as this module itself. The result of the execution will be the RDF target module of the selected branch. All variable bindings of the result module will also be passed on as output to the next module(s). Both branches must have exactly one target module. If a branch is empty then the module's input will be passed on unchanged. Branch by ask The SPARQL Ask query that delivers true (sm:if) or false (sm:else) to determine the branching condition. 1 1 0 1 The start of the child script that shall be executed if the ask query evaluates to false. 0 The start of the child script that shall be executed if the ask query evaluates to true. 1 true Indicates whether owl:imports shall be ignored. If false, then the union of the base graph plus its (transitive) imports will be returned. false Modules that import data from a data source on the user's local machine. Import from Local true true An (optional) file path pointing to the file that shall be opened. The system will look up the base URI of that file and then open that base URI. This means that if the workspace contains multiple copies of that base URI then it may actually load a different file than the one specified here (it will always use the primary file). Import RDF from workspace Loads an RDF file from the workspace, based on its base URI (or a path to the file). If the file is already open, it will reuse the currently open model (including any changes that it has compared to the persistent version). The system will use which ever physical file has been registered for the given base URI, i.e. it may actually open a database, or an N3 file or whatever. true The (optional) base URI of the model to open. Either this baseURI must be specified or the sourceFilePath. If both are present then the baseURI has priority. Import system triples The RDF Schema and OWL system triples, including the definitions of owl:Class and rdfs:label etc. Runs all SPIN constraints defined in the current input graph. The output of this module will be a new RDF graph that only contains the spin:ConstraintViolation instances. Check constraints RDF Processing true A system argument representing the "selected" resource. This can be used to implement services that operate on the currently selected resource in TopBraid Composer or Ensemble. The value of this argument will be set automatically by the engine in TBC. In TBE the selected resource's URI needs to be passed in. Note: this replaces sml:BindWithSelectedResource from older TBC versions. Selected Resource {?predicate} Selected resource argument Indicates whether this is a "hidden" argument. Hidden arguments will not be presented to the user in input dialogs but instead always have their defaultValue. true The path of the TBD files. Import TDB Opens a Jena TDB database stored in the workspace at a given path. Applies one of the Jena inference engines on the input triples. Apply Jena inferencing Specifies the Jena inferencing mode that shall be applied. The permitted values must be instances of sml:JenaInferencingSpec. Default spec is RDFS_MEM_TRANS_INF. sml:RDFS_MEM_TRANS_INF Can be used to implement services that shall be executed as a side effect of a change to an RDF model. In TopBraid, any script containing an instance of this class will be executed as part of each change. The output of this module is using the http://topbraid.org/change ontology, with triples describing the changes that have happened. Track changes Can be used (in TopBraid Live only) to specify that a script shall be executed after commits, and not after edits. In TBC this is ignored, and script will always be executed after edits. true Apply OWLIM Runs the OWLIM inferencer over the input triples, adding the inferred triples. Filter by filter graph Filters input graphs with filter graphs. This module is linked to filter graph modules by sml:filterGraph property. The module that contains the triples that shall be filtered out. Must be one of the predecessors of this module, to make sure that it has been executed before. Export to Local true Connects to a native Sesame repository in the workspace and writes triples into it. Export to Sesame native repository The base URI under which this database can later be accessed with a config script. If true, all triples in this repository will be overwritten. true true the graph name URI The path to the actual data. The path can be relative to the current script's folder (e.g., myFolder/test.s2n) or absolute to the workspace root /myProject/myFolder/test.s2n. true An (optional) path to those folders the headers of which shall be loaded. For example /INBOX/TBC-MailingList will load the emails from the TBC-MailingList folder inside of the INBOX folder. true Indicates whether the bodies of the email should also be downloaded. Note that the value of true will be significantly slower than the (default value) false. Import emails The address to load the emails from. The address must have valid values for email:userName, email:protocol, email:password, email:server. Imports email messages from an account. This feature is based on the TopBraid email ontology (http://topbraid.org/email). The property sml:emailAccount must point to one email:Address instance. The system will connect to the account and import its emails into OWL instances of the email ontology. The base URI of the RDF objects created from the emails. Creates an RDF graph from a tab-separated spreadsheet which is specified from a given string variable. In a typical use case, this will be used after sml:ImportTextFile, which binds the variable text which is also the default input variable of this module. For very large files that cannot be loaded into memory, the module provides the option to specify a file directly using sml:sourceFilePath. true The prefix that shall be used for the generated property names. Only used if no qname is specified for a column property and if a new graph is created from the spreadsheet, i.e. importToInputGraph value is false. true If true, it replaces special characters, i.e. characters that cannot be imported by default to create a resource URI, with an underscore. If false, these characters are ignored during import. true If true, it imports special characters, i.e. characters that cannot be imported by default to create a resource URI. If false, these characters are ignored during import. true The canonical name of the text encoding of the spreadsheet file. If no value for this property is given, then the default JRE encoding is used. If an encoding value is given for this property, then the spreadsheet file will be evaluated using this value. The supported encodings can be found at the website: <http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html> The name of the target class. true The naming pattern for the generated instances. This can contain static characters or placeholders for columns. For example Person-%1 will create names that consist of the static string "Person-" and then the value of the first column. true An optional file path to the spreadsheet. If this is specified then the module will directly do streaming loading from the given file. This should make it possible to handle files of arbitrary size. true The spreadsheet's text that shall be converted. If sml:sourceFilePath is set then this value is ignored. Convert spreadsheet to RDF The base namespace of the target schema. Connects to a native Sesame 2 database stored as part of the workspace. Import Sesame native repository true the named graph URI Path to the base file. The actual data will be stored in a subfolder of the file's folder. The path can be relative to the current script's folder (e.g., myFolder/test.s2n) or absolute to the workspace root /myProject/myFolder/test.s2n. Repeats a given sub-script for each matching result set of a given SPARQL Select query. The start of the sub-script is specified by the body property, and the input RDF is the same as the input of the iteration module itself. The result variables of the Select query will be bound in each iteration of the loop. The result of this module are the accumulated triples from the end nodes of the body scripts. No internal variable bindings of the body will be used outside of the body. Iterate over select A SPARQL Select query that determines the variable bindings for the body in each iteration. 1 1 The body of the iteration loop. 1 1 true The name of a variable which will contain the iteration index in each loop, starting with 0. 1 The SPARQL UPDATE query to perform. The supported syntax is explained here: http://jena.hpl.hp.com/~afs/SPARQL-Update.html 1 Perform update Performs a SPARQL UPDATE call to insert or delete triples. This module differs from sml:ApplyConstruct (and other module types) by making persistent changes when the script runs. Therefore this module should be used carefully. The default graph of the WHERE clause is the input graph of the module, i.e. the result of its predecessors. However, these cannot be modified using INSERT or DELETE. Instead, a named graph needs to be provided there, e.g. using INSERT INTO. In order to manipulate the currently open model in TopBraid, there is a special named graph with the URI http://tb-session. Writes the input triples into a Sesame remote repository. Export to Sesame remote repository true An (optional) path to a connection metadata file that will be created so that tools can connect to the repository later. This path is relative to the workspace root, e.g. "/myProject/myFolder/myFile.s2r". The URL of the Sesame server. true the graph name URI true The id of the model on the server, if necessary. true The password if required to log into the repository. true The user name if required to log into the repository. The base URI of the target repository. true true clears the repository before writing into it. Create spreadsheet Creates a (tab-separated) spreadsheet text from all bindings of a SPARQL SELECT query. The resulting text will be bound to a variable and can then be saved to a file or further processed. The SPARQL Select query that delivers the rows of the spreadsheet. The columns will be the result variables of the query. 1 1 text The name of the variable that will hold the resulting spreadsheet string. Default: text. Saves text to a file. The text must be the value of the specified input variable. The path to the file that shall be created. The path can be relative to the current script's folder (e.g., myFolder/test.txt) or absolute to the workspace root /myProject/myFolder/test.txt. The text that shall be written into the file. Export to text file true Specifies whether this will overwrite a file with the same name (true) or whether it will append to an existing file (false). Create text from JSP Runs a JSP (with embedded SPARQL) template over the input triples and binds the resulting text as a new string variable. The name of the variable that will hold the output of the JSP as an xsd:string. Default: text. text The Semantic JSP template, typically the content of a JSP file that was loaded in a previous step. PostgreSQL Uses SPARQL CONSTRUCT queries to enumerate triples that shall be dropped from the input triple stream. The output triples of this module contain all input triples except those enumerated by the construct query. For example, if you want to drop all rdfs:comment triples from the input graph, then use a query such as CONSTRUCT {?s rdfs:comment ?o} WHERE {?s rdfs:comment ?o}. Filter by construct 1 A SPARQL Construct query delivering the triples that shall be dropped. true XML Processing Evaluates an XPath on a given XML node (or document) and binds the first result to a given variable. The XPath to process. true The datatype of the result variable (xsd:string if left blank). The name of the variable to bind. value The XML document or node to operate on. Bind by XPath Creates a new RDF file at the specified path inside the workspace and with the specified base URI. The serialization is derived from the file name according to TopBraid's conventions, e.g. files ending with .n3 will be written in N3 format. Export to RDF file The path of the file to create. The path can be relative to the current script's folder (e.g., myFolder/test.rdf) or absolute to the workspace root /myProject/myFolder/test.rdf. The base URI under which the resulting file will be registered in the workspace. Repeats a sub-script (specified as body) as long as a SPARQL ASK query returns true. The output of each iteration is the input to the next. The output of the whole module is the result of the last iteration. No variable bindings are passed into or out of the body. Iterate while An ASK query that is executed prior to each iteration. If the query returns false, the iteration stops and the most recent result graph will be returned. 1 1 The start of the script that shall be executed as body in each iteration. The body must end with a single target module. 1 1 Converts a SPARQL query (in textual form) to a SPIN RDF syntax resource. The resulting output graph will contain exactly the triples of the SPIN query. These triples can then be used, for example, to analyze the structure of a SPARQL query dynamically. the SPARQL query in textual form; with or without namespace prefixes true the URI of the query to create (either xsd:string or resource) Convert string to SPIN RDF The datatype (e.g. xsd:string) of the new triples. If the datatype is rdfs:Resource and the lexical form of the old value is a valid URI, then the resulting triple will point to a resource with that URI. The predicate of the triples that shall be replaced. Convert datatype Replaces all triples that have a given property as predicate (specified by sml:predicate) by converting its object literals into a different RDF datatype (specified as sml:datatype). Can be used to add or delete namespace prefix declarations from the input RDF stream so that these new prefixes are visible down stream of this module. Modify prefixes 0 Namespaces to add, in the format "prefix namespace", i.e. the prefix must be followed by a space. Example: "my http://my.com#". The prefix(es) to delete, e.g. "my". 0 Turtle Imports a text file into the xsd:string variable sm:outputVariable. The name of the variable that will contain the text of the file as an xsd:string literal. Default: text. text Import text file The path to a text file. The path can be relative to the current script's folder (e.g., myFolder/test.txt) or absolute to the workspace root /myProject/myFolder/test.txt. The internal Oracle database name. true The (optional) password to log into the database. Import Oracle RDF database The (optional) user name to log into the database. Indicates whether the Oracle database shall be wrapped with a local cache for optimized performance. true The URL of the database. Connects to an Oracle 11g RDF database. The name(s) of rule bases that shall be used for server-side inferencing. The standard inferences are RDFS, RDFS++, OWLSIF and OWLPRIME. RDF/XML-ABBREV the serialization format Represents the exit point of a function that returns RDF. The function can be referenced from the outside (e.g., as a web service) by its URI or local name. The RDF triples will be serialized into either RDF/XML or JSON. Return RDF true The user name if required to log into the repository. Import Sesame remote repository The password if required to log into the repository. true Connects to a remote Sesame 2 repository. The id of the model on the server, if necessary. true true the named graph URI The URL of the Sesame server. The name of the variable that will be bound in each iteration. xml Evaluates an XPath on a given XML document (or node) and executes a given body for each binding. The outputVariable will be bound in each iteration of the loop, bound to the XML node. The main use case of this module is in combination with sml:BindByXPath: IterateOverXPath walks through a list of top-level nodes and sml:BindByXPath is then used to extract individual values in each iteration. The XPath to evaluate. Iterate over XPath The XML node (document or element) to operate on. 1 The body to execute in each iteration. 1 Imports the RDF triples from a given RDFa page with a given URL. Import RDFa The URL of the RDFa file (typically HTML). The name of the variable that will contain the entered literal. Enter literal true The type of the value to enter (e.g. xsd:int). Default: xsd:string. Prompts the user to enter a literal. The resulting value will be bound as literal to the variable specified as sm:outputVariable. the text that will appear at the prompt true MySQL Apply Construct Runs one or more SPARQL Construct queries on the input triples. The output RDF will consist of the constructed triples and (unless sml:replace is true) the input triples. false The SPARQL Construct queries that deliver the triples that shall be added. If set to true, the output triples will only contain the constructed triples. If no values or false are specified, the output will be the union of the input triples and the constructed triples. true true The predicate to get the rules from (usually spin:rule) Applies the TopSPIN rules inference engine on the input graph. This assumes that the input graph contains one or more SPIN rules (stored using spin:rule). Apply TopSPIN Specifies whether the resulting infererred triples shall replace the input. If false, the union of inferred triples and old triples are returned. true specifies whether only a single pass over all rules shall be made true Converts an arbitrary XML input model into an RDF graph using the Semantic XML mapping approach. Convert XML to RDF The XML document that shall be converted to RDF. The base URI of the new RDF (for the creation of the new class and property names). true An (optional) type indicator for the Semantic XML conversion. Current supported values are "XHTML" (treats the input as HTML source, and may run a tidy algorithm in case the HTML is not well-formed XHTML). Bind with constant text The name of the variable that will hold the constant. Default: text. Binds a variable with a given RDF node. The constant value (either a resource or a literal). Executes a SPARQL Select query and creates a single long text string by concatenating all result variable bindings. This can be used, for example, to create a single "fullName" value from "firstName" and "lastName" properties (in which case the order of variables in the SELECT clause is relevant. Another use case is to build a single long string from multiple property values of the same kind, e.g. to concatenate all text bodies of all RSS items in a newsfeed. The resulting text can then be further processed by text processing modules such as text miners. Concatenate text text The name of the output variable that will contain the concatenated text string. Default: text. The SPARQL Select query that will deliver the individual values that shall be concatenated. true An optional separator that will be inserted between the text units. true Import Excel cell instances Loads an Excel file into instances of the TopBraid spreadsheets ontology - each non-empty cell becomes an instance of ss:Cell. In a typical scenario, the resulting cell instances are passed into other modules (such as sml:ApplyConstruct) to convert the raw data into a more useful format. The path to the Excel source file in the workspace. The path can be relative to the current script's folder (e.g., myFolder/test.xls) or absolute to the workspace root /myProject/myFolder/test.xls. Import news feed Connects to a newsfeed specified by a URL and returns its content as RDF triples. Supported formats are Atom 0.3, Atom 1.0, RSS 0.91, 0.92, 1.0, 2.0. The url string may contain variable placeholders such as {?keyword} to insert variable bindings. The URL of the newsfeed. The string variable holding the XSLT script Convert XML by XSLT The generated XML string variable. The recommended module to export this variable is sml:ExportToTextFile. text The source XML variable Converts an XML document into another XML document using XSLT. The source XML document is either a XML or string variable. The target XML document is a string variable. XSLT script is provided as a string. Creates a geographical map displaying resources from one or more given SPARQL queries. Resources can be displayed on a map if they have geo:lat/long values as objects. Create map A SPARQL Select query delivering the subjects that shall be displayed. If empty, all subject with a value for geo:lat will be displayed. 0 The internal Oracle name of the database. true true to replace all triples currently in the database. The URL of the database. Export to Oracle RDF database The user name to log in with. Connects to an Oracle 11g RDF database and writes the input triples into it. true The password to log in with. Displays a form that enables end-users to edit an instance of a given class. The new triples will be added to a run-time RDF graph and can then be queried by the next modules in the script. Note that the output RDF graph may contain other triples (such as imports or form declarations) which should be ignored - the only "save" triples to get are the direct property values of the resource specified by outputVariable. This module is currently supported by TBC and TBE. true the title of the edit form the name of the variable that can be used to access the edited instance in the next modules instance the class of the instance to edit true the label of the button under the form Display edit form Bind with selected resource An optional ASK query that can be used to determine whether this input is assigned for the given resource. The query will be executed with the outputVariable (default: ?resource) already bound. For example, if this returns true for the selected resource, then TopBraid Composer would display the sml:ReturnXY nodes in drop down menus for the resource. 1 resource The name of the variable that will point to the currently selected resource. Default: resource. Deprecated since 2.0.0/TopBraid 3.0: use sml:SelectedResourceArgument in a function definition instead. Evaluates an ASK condition and stops the execution of the script and reports an error if the condition is false. This module is particularly useful for web services that simply cannot execute if unexpected situations are encountered. The module will simply pass through all variable bindings and RDF triples if no errors are found. Assert true the error message true The ASK query that must return true. Import current RDF The RDF triples of this SPARQLMotion script itself. This is most useful to include the namespace prefix definitions from this file, and in scenarios where the current imports shall act as starting point. Import XML file The name of the variable containing the XML data. Default: xml. xml Loads an XML file, specified by a file path. The path to the XML file in the workspace. The path can be relative to the current script's folder (e.g., myFolder/test.xml) or absolute to the workspace root /myProject/myFolder/test.xml. Apply Pellet Applies the Pellet inference engine on the input triples. Bind with parameter true Deprecated since 2.0.0: Web Services are now defined like user-defined functions and SPIN functions, and the parameters are instances of spl:Argument. Apply Jena rules Applies the rules specified as values of the jena:rule property in the source ontologies. Furthermore, all SWRL rules (swrl:Imp) will be converted to Jena rules before execution. The inferred triples will be added to the input. The user name for the database. true Iterate over SQL 1 1 The body of the iteration loop. Repeats a given sub-script for each matching result set of a given SQL Select query. The system will do a mapping of SQL values to suitable XSD datatypes. The start of the sub-script is specified by the body property, and the input RDF of the body is the same as the input of the iteration module itself. The result variables of the Select query will be bound in each iteration of the loop. The result of this module are the accumulated triples from the end nodes of the body scripts. No internal variable bindings of the body will be used outside of the body. The type of the database. The password for the database. true The URL of the database. The SQL SELECT query to send to the database. Sends a POST request to a web server and binds the result stream with the outputVariable. By default, the request will not include any variable bindings. In order to pass in any other parameters, you need to subclass the sml:PostRequest class and declare the additional arguments as spin:constraints. The system will then iterate over all arguments (other than url and outputVariable) that are declared for this type. The name of the output variable to bind the result with. response The URL to post to. Post request Return node the result, usually passed in from a previous module Returns an RDF node as a result of a script. This module is typically used as exit point of a user-defined SPIN function and web service. The sm:returnModule of the function will point to this. The base URI of the RDF model to "forget". Collect garbage Collects "garbage" to clean up memory from RDF models that are no longer used. Currently, this requires specifying the base URI of a graph that has been previously loaded. Note that the use of this module is not safe in a multi-user setting, and should only be used if you know what you are doing. The path to the folder to get (e.g. "INBOX") Track EMails Serves as an entry point for scripts that are triggered by incoming emails. If a new message has been detected for the provided account, then this module will produce triple representing the new message as an anonymous instance of the email:Message class. The email account to track messages at. Imports RDF triples from a GRDDL-enabled web page. Import GRDDL The URL of the GRDDL source document. Import SDB Connects to an existing Jena SDB database. The user name of the connection. true The password of the connection. true The database URL. The database type, such as Oracle. NTriple Returns a diff graph between an old graph and a new graph. This module is related to the old graph with sml:oldGraph and the new graph with sml:newGraph properties. The module representing the old graph. Must be a predecessor of the current module to ensure that the module has been executed before. Diff The module representing the new graph. Must be a predecessor of the current module to ensure that the module has been executed before. Creates a matrix (spreadsheet) and binds it as a text value to a given output variable. The rows and columns of the matrix are specified by two SPARQL queries. These queries must deliver variable bindings to enumerate the resources that shall be used as rows and columns. The cell values are then computed using a third query (cellQuery) that should reference the bound variable names from the row and column queries. Create matrix A SPARQL Select query that delivers the resources or literals that define the colums. The query should have a single result variable, and this variable should be used in the cell query. 1 1 1 1 A SPARQL Select query that delivers the resources or literals that define the rows. The query should have a single result variable, and this variable should be used in the cell query. text The variable that will contain the resulting matrix as an xsd:string literal. Default: text. 1 1 A SPARQL Select query that is executed for each cell in the matrix. The query should reference the result variables of column and row queries (these will be bound automatically by the engine). Sends one or more emails. In a typical scenario, previous steps such as sml:ApplyConstruct have created instances of email:Message. The body of the emails could be created using sml:CreateTextFromJSP. A SPARQL Select query is then used to select those messages that shall be sent out, based on the given server parameters. Send emails 1 A SPARQL Select query that binds instances of email:Message to send out. 1 The SMTP server that shall be used to send the emails from. Converts RDF into XML using the Semantic XML (sxml) ontology for the round-tripping. The resulting XML will be bound to the specified output variable. Note that this requires the RDF model to contain an SXML root document element - this function does not work with arbitrary RDF data! Convert RDF to XML The name of the variable that will hold the resulting XML data. Default: xml. xml Creates an XML file from the value of the input variable. Export to XML file The path to the output file. The path can be relative to the current script's folder (e.g., myFolder/test.xml) or absolute to the workspace root /myProject/myFolder/test.xml. The XML document that shall be written to the file. The path to the TDB database. Export to TDB true True to overwrite any pre-existing database at this location. Export the input RDF triples to a given Jena TDB database. The base URI for the TDB repository. Call Calais Runs the OpenCalais web service to extract RDF entities from text. The result will be the input triples plus the extracted triples (instances of the Calais ontology classes). The text that shall be sent to the Calais service. true