© NEC Corporation 2010 ORIENT Specification
NPW3C2011-002
Last update: February 7, 2011
NEC Corporation
Analysis Data Transfer Framework "ORIENT" Specification
Revision 1.9
© NEC Corporation 2010 ORIENT Specification 2/91
Table of contents
1 Introduction............................................................................................................................... 5
1.1 Objective ....................................................................................................................................... 5 1.2 Terminologies and Namespaces .................................................................................................... 5
2 Correspondence between ARMOR and ORIENT ........................................................................... 7
2.1 The ARMOR Interfaces which use ORIENT ................................................................................. 7 2.2 ARMOR Use Cases which Use ORIENT....................................................................................... 9
3 ORIENT: “Operation / Restriction / Entities” Based Framework................................................... 10
3.1 Concept ........................................................................................................................................10 3.2 Notations in Model Schema Diagram ..........................................................................................11 3.3 Hierarchy of ORIENT..................................................................................................................16
4 ORIENT Resource Framework .................................................................................................. 17
4.1 Overview......................................................................................................................................17 4.2 ABF (ARMOR Base Framework) .................................................................................................18 4.3 AOF (ARMOR Operation Framework).........................................................................................22 4.4 ARF (ARMOR Restriction Framework)........................................................................................25
5 Domain Specific Model (DSM) ................................................................................................... 39
5.1 Overview......................................................................................................................................39 5.2 Name Space URI..........................................................................................................................39 5.3 ModelSchema...............................................................................................................................39 5.4 Reference Model...........................................................................................................................40 5.5 Example of DSM ..........................................................................................................................42
6 Protocol ................................................................................................................................... 46
6.1 Message Transmission .................................................................................................................46 6.2 ORIENT RDF/XML Serialization Rule ........................................................................................47
7 Restriction Descriptions and Examples ...................................................................................... 48
7.1 Restriction Descriptions (Method to express Restriction).............................................................48 7.2 Restriction Examples...................................................................................................................51
8 Operation Descriptions and Examples ....................................................................................... 53
8.1 Query Operation ..........................................................................................................................53 8.2 Write Operation ...........................................................................................................................67 8.3 Notify Operation ..........................................................................................................................72
Appendix A Operation Descriptions and Examples (Detailed Version) ......................................... 81
A.1 Query Operation ..........................................................................................................................81 A.2 Write Operation ...........................................................................................................................85 A.3 Notify Operation ..........................................................................................................................87
© NEC Corporation 2010 ORIENT Specification 3/91
Figures Figure 1 Component Diagram and Interfaces of ARMOR .................................................................... 8 Figure 2 ARMOR Use Case Diagram................................................................................................... 9 Figure 3 Basic Resource Structure of ORIENT...................................................................................10 Figure 4 Relations between Model Schema, Reference Model and Instance .......................................11 Figure 5 Example of Datatype Property Notation...............................................................................12 Figure 6 Example of Datatype Property with rdf:Bag or rdf:Seq notation ..........................................12 Figure 7 Example of object property notation .....................................................................................13 Figure 8 Example of Object Property with rdf:Bag or rdf:Seq notation...............................................13 Figure 9 Example of external URI reference notation.........................................................................14 Figure 10 Example of external URI reference notation.......................................................................14 Figure 11 Example of Type URI reference notation ............................................................................15 Figure 12 Example of Inheritance notation.........................................................................................15 Figure 13 ORIENT Framework Hierarchy..........................................................................................16 Figure 14 ORIENT Framework Model Schema ..................................................................................17 Figure 15 ARF Model Schema Diagram (detailed) ..............................................................................25 Figure 16 Reference Model Diagram Example....................................................................................41 Figure 17 Model Schema Diagram of Person information DSM ...................................................................43 Figure 18 Reference Model Diagram of Person Information DSM ......................................................43 Figure 19 Query Restriction Description.............................................................................................48 Figure 20 Scope Description................................................................................................................48 Figure 21 Condition Description .........................................................................................................49 Figure 22 RDF Model Example for Person Search..............................................................................51 Figure 23 Sequence Diagram of Query Operation...............................................................................53 Figure 24 Sequence Diagram of Write Operation................................................................................67 Figure 25 Sequence Diagram of Notify Operation (when issued by ARMOR) .....................................72 Figure 26 Sequence Diagram of Notify Operation (when issued by Engine) .......................................73 Figure 27 Sequence Diagram of Query Operation...............................................................................81 Figure 28 Sequence Diagram of Write Operation................................................................................85 Figure 29 Sequence Diagram of Notify Operation...............................................................................87
© NEC Corporation 2010 ORIENT Specification 4/91
Tables Table 1 Terminologies........................................................................................................................... 5 Table 2 Namespaces............................................................................................................................. 6 Table 3 Correspondence between ARMOR Interfaces and ORIENT Operations.................................. 7 Table 4 Correspondence between ARMOR Use Cases and ORIENT Operations.................................. 9 Table 5 Object Properties Defined in ABF...........................................................................................18 Table 6 Datatype Properties Defined in ABF ......................................................................................18 Table 7 Object Properties Defined in AOF...........................................................................................22 Table 8 Datatype Properties Defined in AOF......................................................................................22 Table 9 Object Properties Defined in ARF...........................................................................................25 Table 10 Datatype Properties Defined in ARF ....................................................................................26 Table 11 Namespaces Used in Person DSM ........................................................................................42 Table 12 Class Definition of Person Information DSM........................................................................42 Table 13 Object Property Definition of Person Information DSM .......................................................42 Table 14 Data Type Property Definition of Person Information DSM .................................................42 Table 15 Reference Node URI List of Person Information DSM..........................................................44 Table 16 HTTP Header Configuration Value While Transmitting ORIENT Message.........................46 Table 17 HTTP Status Code and Message Body When HTTP POST Received....................................46 Table 18 Type and operation overview of arf:Filter that can be used in scope expression ...................49 Table 19 Types and operation overview of arf:Filter used in expressing Condition.............................50 Table 20 Actors in Query Operation....................................................................................................53 Table 21 ORIENT Resource Status in Query Operation .....................................................................54 Table 22 Actors in Write Operation .....................................................................................................67 Table 23 ORIENT Resource Status in Write Operation ......................................................................67 Table 24 Actors in Notify Operation....................................................................................................72 Table 25 ORIENT Resource Status in Notify Operation .....................................................................73 Table 26 ORIENT Resource Status in Query Operation .....................................................................81 Table 27 ORIENT Resource Status in Write Operation ......................................................................85 Table 28 ORIENT Resource Status in Notify Operation .....................................................................87
© NEC Corporation 2010 ORIENT Specification 5/91
1 Introduction 1.1 Objective This document describes the basic design of “Operation / Restriction / Entities” based framework
(ORIENT). ORIENT provides data exchange framework for analysis data manager. The objective of ORIENT is to define the IF between internal modules of analysis data manager and
the IF, which exists between analysis data manager, user application and analysis engine, and to realize their interoperability.
ORIENT defines the following items. Specifications of RDF graph exchanged by internal IF of analysis data manager Transmission protocol specifications of external IF of analysis data manager Definition method of domain-wise logical data structure (DSM) to express analysis results
1.2 Terminologies and Namespaces
1.2.1 Terminologies In this document, analysis data manager is mentioned as “Analysis Result Manager for Online
Retrieval” (ARMOR) and analysis providing server is mentioned as “User application”. The terminologies used in this document are shown in Table 1. Table 1 Terminologies Term Definition ARMOR Notation for analysis data manager used in this document.ARMOR stands for
“Analysis Result Manager for Online Retrieval”. ORIENT ORIENT is a data transfer framework for ARMOR. ORIENT stands for “Operation /
Restriction / Entities” based data transfer framework. ORIENT consists of ABF, AOFs, DSM, and ORIENT Ontology.
ABF ABF specifies base components of ORIENT. ABF stands for “ARMOR Base Framework”.
AOF AOF is a framework of ORIENT for operations. AOF stands for “ARMOR Operation Framework”.
ARF ARF is a framework of ORIENT for restrictions. ARF stands for “ARMOR Restriction Framework”.
DSM DSM is a model for domain specific metadata such as data types. DSM stands for “Domain Specific Model”.
Class Type of RDF resource in ORIENT message RDF Type Same as Class. Data Property Property which takes value (rdfs:Literal) in range. The definition is same as that of
DatatypeProperty of OWL. Object Property Property which takes resource (rdfs:Resource) in range. The definition is same as that
of ObjectProperty of OWL. Operation Operations (Query, Write and Notify) for analysis data defined by ORIENT Message Data in ORIENT format, which is exchanged between every module in the execution
flow of operations. 1.2.2 Namespaces
The namespaces used in this document are shown in Table 2.
© NEC Corporation 2010 ORIENT Specification 6/91
Table 2 Namespaces Abbreviations URL Description xsd http://www.w3.org/2001/XMLSchema# XML Schema Rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# RDF rdfs http://www.w3.org/TR/WD-rdf-schema# RDF Schema Dc http://purl.org/dc/elements/1.1/ Dublin core Abf http://www.nec.com/ivcp/orient/abf# ARMOR base framework Aof http://www.nec.com/ivcp/orient/aof# ARMOR operation framework Arf http://www.nec.com/ivcp/orient/arf# ARMOR restriction framework
© NEC Corporation 2010 ORIENT Specification 7/91
2 Correspondence between ARMOR and ORIENT 2.1 The ARMOR Interfaces which use ORIENT ORIENT defines the data framework for following interfaces interior and exterior of ARMOR: · ARMOR exterior interfaces
ARMOR online request interface ARMOR online engine execution interface ARMOR analysis result write interface Notification receive interface
· ARMOR interior interfaces Online request interface Online engine execution interface Analysis result write interface
Table 3 shows the correspondence between ARMOR interfaces and ORIENT operations.
Table 3 Correspondence between ARMOR Interfaces and ORIENT Operations Exterior/interior ARMOR interface ORIENT operation Exterior ARMOR online request interface Query Exterior ARMOR online engine execution interface Query, Notify Exterior ARMOR analysis result write interface Write Exterior Notification receive interface Notify Interior Online request interface Query Interior Online engine execution interface Query, Notify Interior Analysis result write interface Write
© NEC Corporation 2010 ORIENT Specification 8/91
Figure 1 Component Diagram and Interfaces of ARMOR
© NEC Corporation 2010 ORIENT Specification 9/91
2.2 ARMOR Use Cases which Use ORIENT Table 4 shows the correspondence between ARMOR use cases, actors and ORIENT operations. Table 4 Correspondence between ARMOR Use Cases and ORIENT Operations Use Case Issued by ORIENT operation Analysis result request (Query)
Analysis providing server (User application) Engine (analysis engine)
Query
Notification request (Notify) Engine (analysis engine) Notify Analysis result record (Write)
Engine (analysis engine) Write
Figure 2 ARMOR Use Case Diagram
© NEC Corporation 2010 ORIENT Specification 10/91
3 ORIENT: “Operation / Restriction / Entities” Based Framework 3.1 Concept
3.1.1 Basic Resource Structure ORIENT defines RDF graph structure and controlled vocabularies for ARMOR interfaces. As shown in
Figure 3, the framework distinguishes three categories of data: (1) Operation specific data (Operation) (2) Restriction specific data (Restriction) (3) Analysis result specific data (Entities)
Operation
Restriction Entities
Entity
Operation specific data such as:• Type of operation (Query, Write, etc.)• List of engines required for the operation
Entities such as:• Write data• Query results• Analysis results
Condition
ORIENT
DSDS
Entity
Restriction on Entities such as:• Conditions to filter entities• Scope of resulting Entities
Scope
Figure 3 Basic Resource Structure of ORIENT
Operation describes the request for the platform. Restriction describes the restriction on the operation and/or Entities such as filtering condition on
Entities, notify destination URL. Entities describe objective data of the operation such as document information. Each process of an ARMOR operation handles the unique instance of data model described with
Operation, Restriction and Entities. The engines and processes of ARMOR operation share unique instance in each operation and append and/or update resources or literals to the shared model.
© NEC Corporation 2010 ORIENT Specification 11/91
3.1.2 Model Schema, Reference Model and Instances Lexical structure (Model Schema) to express analysis data and the Model (Reference Model) to refer to
model elements described based on the Model Schema, are defined in ORIENT framework and DSM. As regards Application, Engine and ARMOR, actual analysis data is described as instance using this Model Schema and Reference Model.
Model Schema (UML Diagram) Reference Model (Directed Edge Graph)
Instance (RDF)
Defined in ORIENT and DS
Class_AdataProperty_A
Class_CdataProperty C
objectProperty_A
Class_B
dataProperty B
objectProperty_B
Defined in DS
ResourceClass_Ardf:type
dataProperty_A Literal
ResourceClass_Brdf:type
dataProperty_B Literal
ResourceClass_Crdf:type
dataProperty_C Literal
objectProperty_A
objectProperty_B
instance ofRefers to(as Filter target identifier in ARF)
Generated by Engine/Application/ARMOR
Class_A
Class_B
Class_C
rdfs:Literal
rdfs:Literal
rdfs:Literal
dataProperty_A
dataProperty_B
dataProperty_C
objectProperty_A
objectProperty_B
URIURI
URI URI
URI URI
Figure 4 Relations between Model Schema, Reference Model and Instance
3.2 Notations in Model Schema Diagram The Notations in Model Schema and the mappings between the Model Schema notations and the instances generated by Engine, ARMOR and Application, which are based on these notations, are shown.
3.2.1 Datatype Property Datatype Property Datatype Property is a property which holds rdfs:Literal as the domain in RDF.
Datatype Property is mentioned as an attribute of class in UML class diagram. Cardinality is mentioned after the attribute name and can be abbreviated if Cardinality is 1. Notation is as follows. Notation: PropertyName [CARDINALITY]: XSDDatatype Example: dc:date 1..* : XSDDatatype In the example shown below, the instance of abf:Operation class has Datatype Property known as dc:date and the value is xsd:dateTime type. Further, a concrete example of an instance based on this
© NEC Corporation 2010 ORIENT Specification 12/91
schema expression is shown in the below given figure.
Example of Model Schema Expression
Instance RDF/XML example
2009-11-01T09:00:00.123+09:00
Figure 5 Example of Datatype Property Notation
Datatype Property with rdf:Bag or rdf:Seq As regards Datatype Property with rdf:Bag or rdf:Seq, the literal value set of range is compiled in rdf:Bag or rdf: Seq within Datatype Property. Datatype Property with rdf:Bag or rdf:Seq is an attribute of a class and mentioned as an attribute with “rdf:Bag” or “rdf:Seq” as a stereotype. In the example shown below, the instance of Example class is example property and has data property with rdf:Bag or rdf:Seq, and the value, which is xsd:dateTime type, is bundled in rdf:Bag. It also shows a concrete example of an instance based on this schema expression.
Example of Model Schema Expression
Instance RDF/XML example
© NEC Corporation 2010 ORIENT Specification 13/91
Example of Model Schema Expression
Instance RDF/XML example
Figure 7 Example of object property notation
Object Property with rdf:Bag or rdf:Seq As regards Object property with rdf:Bag or rdf:Seq, instance group of range is complied in rdf:Bag or rdf:Seq within object property. Object property with rdf:Bag or rdf:Seq is mentioned as a relation between classes, which has “rdf:Bag” or “rdf:Seq” as stereotype. In the example shown below, the instance of aof:ProcessFlow class is aof:operationSequence and has object property with rdf:Bag or rdf:Seq; and instance group of aof:ProcessPhase type, which is the value, is bundled in rdf:Seq. It also shows a concrete example of an instance based on this schema expression.
Example of Model Schema Expression
Instance RDF/XML example
© NEC Corporation 2010 ORIENT Specification 14/91
based on this schema expression is shown below. As given in this example, resource of Engine URL (reference destination) need not exist in RDF/XML of instance in case of Reference Only.
Example of Model Schema Expression
Instance RDF/XML example
Figure 9 Example of external URI reference notation
Here, “http://localhost:8080/arm/api” is an example of URL of Engine API.
Object Property (Referable) Object property (Referable) is a property wherein instance of range may or may not appear in same graph (ORIENT message) within object property. In other words, the resource existence of range of this property varies with each message. Further, Referable can also be specified in the same way in object property with rdf:Bag or rdf:Seq. Object property (Referable) is mentioned as a relation between classes, which has “Referable” as a restriction. The below mentioned example shows that the instance of abf:Operation class has object property of referable known as aof:processFlow and resource of aof:ProcessFlow instance or its URI as the value. A concrete example of an instance based on this schema expression is shown. As shown in this example, the resource of Engine URL (reference destination) need not exist in RDF/XML of instance in case of Referable.
Example of Model Schema Expression
Instance RDF/XML example (when resource exists in same message)
Instance RDF/XML example (when resource does not exist in same message)
Figure 10 Example of external URI reference notation Here, “http://localhost:8080/arm/api” is an example of URL of Engine API.
© NEC Corporation 2010 ORIENT Specification 15/91
Type URI reference Type URI reference is a URI reference, which specifies URI indicating class (Type). In Type URI reference, definition of class corresponding to URI of range does not appear in the graph. Type URI reference is mentioned as a relation between classes, which has “Type URI reference” as a restriction. The below mentioned example shows that the instance of arf:Scope class has type URI reference known as arf:entityType and the value is URI (http://www.nec.com/ivcp/orient/ds/general#Person) of ds:Person class defined in DSM(ds/general). A concrete example of an instance based on this schema expression is shown.
Example of Model Schema Expression
Instance RDF/XML example
Figure 11 Example of Type URI reference notation
3.2.3 Inheritance
Inheritance shows the inheritance relationship between classes (type). Subclass inherits the properties of higher-level class. As a general rule, all the higher level classes are required to be mentioned in rdf:Type at the time of defining instance in ORIENT message. Inheritance is mentioned in inheritance relationship between classes. Further, it is mentioned as “Abstract class” in case “Optional subclass” is expressed.
The below mentioned example shows that aof:Query class is the subclass of abf:Operation class. It also includes a concrete example of an instance based on this schema expression.
Example of Model Schema Expression
Instance RDF/XML example
Figure 12 Example of Inheritance notation
© NEC Corporation 2010 ORIENT Specification 16/91
3.3 Hierarchy of ORIENT ORIENT framework has hierarchal structure as shown in Figure 13. Based on common RDF/XML layer,
ORIENT framework uses following frameworks and data vocabularies.
Framework: · ABF: defines the common classes, properties, and their structure for internal/external ARMOR data
transfer. · AOF: defines operation specific RDF structure, classes and properties. Each operation type (Query,
Data writing and Notification) has different operation framework. · ARF: defines information structure to express the logics of restriction condition.
Data vocabularies: · DSM: defines domain specific resources, properties. Each domain (Still image processing, Text
processing, etc) has different model. The data for specific application is expressed on ABF, AOF, ARF and one or more DSM.
ApplicationApplication
AOF
RDF
ORIENTframework
XMLRDF/XML
ABF: ARMOR base framework, AOF: ARMOR operation framework, ARF: ARMOR restrictionFramework, DS: Domain specific model, DS_ST: DS for Spatiotemporal domain, DS: General DS
ARFABF
ASM
DS_ST
Engine Engine
DSDS_TIME DS_SPACE DS_DOCDomainSpecific
Model
Figure 13 ORIENT Framework Hierarchy
© NEC Corporation 2010 ORIENT Specification 17/91
4 ORIENT Resource Framework 4.1 Overview
Figure 14 ORIENT Framework Model Schema
The ORIENT resource model is constructed with following 3 frameworks: ABF (ARMOR Base Framework)
ABF is the base framework of ORIENT. ABF defines Operation, Restriction, Entities and Entity. AOF (ARMOR Operation Framework)
AOF describes the information corresponding to each operation. AOF defines the type of operation, EngineOperation, ProcessFlow, status of each operation.
ARF (ARMOR Restriction Framework) ARF describes the information corresponding to the restriction on the Entities. ARF defines condition (Equals, Contains, Exists, Ranges) and logics (Or, OrderedBy) of each operation.
© NEC Corporation 2010 ORIENT Specification 18/91
4.2 ABF (ARMOR Base Framework)
4.2.1 Overview of ABF ABF is the base framework of ORIENT. ABF defines Operation, Restriction, Entities and Entity.
4.2.2 Properties Defined in ABF
Table 5 and Table 6 show the properties defined in ABF. Table 5 Object Properties Defined in ABF Properties Super
Property Domain Range Definition
abf:hasRestriction - abf:Operation abf:Restriction Indicates the Restriction the Operation uses.
abf:restrictedBy - abf:Entities abf:Restriction Indicates that the Entities were derived from filtering entities by Restriction
abf:operatedBy - abf:Entities abf:Operation Indicates the Operation by which the Entities are operated.
abf:hasScope - abf:Entities arf:Scope Indicates that the Entities were derived for the specified Scope.
abf:entities - abf:Entities rdf:Seq of abfEntity rdf:Bag of abfEntity
Indicates Entities
abf:import - abf:Vocabulary rdfs:Resource (Name Space URI of DSM)
Indicates DSM used by this message
Table 6 Datatype Properties Defined in ABF Properties Super
Property Domain Range Definition
abf:all - abf:Entities rdfs:Literal (xsd:integer)
Total number of Entities corresponding to arf:Condition (search conditions) and arf:entity Type attribute (specify Type of returned Entity) of arf:Scope.
abf:count - abf:Entities rdfs:Literal (xsd:integer)
Count of Entities corresponding to both arf:Condition and arf:Scope. It matches with the number of Entities, which are actually saved in abf:Entities as a result.
abf:offset - abf:Entities rdfs:Literal (xsd:integer)
Index of the Entities, which are actually saved as result in abf:Entities, from the list of Entities corresponding to abf:Restriction.
© NEC Corporation 2010 ORIENT Specification 19/91
4.2.3 Resource Types (Classes) Defined in ABF
In this section, definition, properties, meanings, Cardinality and range of each class are explained for Resource Type (Class) defined in ABF. abf:Operation · Definition
Class for a RDF resource describes information about Operation. All information about operation should be stored / linked to this resource. · Resource URI
Meaning: It is an ID for distinguishing ARMOR, Engine and Application in this operation Uniqueness: Globally unique
· Property list Cardinality Property Property
Type Range
Write Query Notify Description
dc:date Datatype Property
rdfs:Literal (xsd:dateTime)
1:1 1:1 1:1 Date and time of executing operation
abf:hasRestriction Object Property
abf:Restriction 1:1 1:1 1:1 Conditions of operation (Filter conditions or information of notification destination)
abf:processFlow Object Property (Referable)
aof:ProcessFlow 1:0..1 1:0..1 1:0..1 Procedure to run analysis engine to realize this operation. Resource of reference destination need not exist (It exists in case of Reference Only)
abf:Restriction · Definition
Class for a RDF resource describes information about Restriction. All information about restriction of the Entities should be stored / linked to this resource. · Resource URI
Meaning: It is a URI for distinguishing abf:Restriction resource in this operation. Uniqueness: message unique
· Property list Cardinality Property Property
Type Range
Write Query Notify Description
arf:monitoredBy Object Property (Reference Only)
URL n/a n/a 1:* Indicates URL of notification destination in Notify operation.
arf:hasCondition Object Property
arf:Condition n/a 1:1 n/a Indicates condition to narrow down Entity
arf:hasScope Object Property
arf:Scope n/a 1:* n/a Indicates the scope, which is desired as result, out of the information mapped to Entity.
© NEC Corporation 2010 ORIENT Specification 20/91
abf:Entities · Definition
Class for a RDF container storing set/seq of Entity those describe the analysis results. All Entities those express the analysis results should be contained in this resource. · Resource URI
Meaning: It is a URI to identify abf:Entities resource in this operation. Uniqueness: message unique
· Property list Property Property
Type Range Cardinality Description
abf:all Datatype Property
rdfs:Literal (xsd:integer)
1:0..1 Total number of Entities corresponding to arf:Condition (search conditions) and arf:entity Type attribute (specify Type of returned Entity) arf:Scope.
abf:count Datatype Property
rdfs:Literal (xsd:integer)
1:1 Count of Entities corresponding to arf:Condition and arf:Scope. It matches with the number of Entities, which are actually saved in abf:Entities as result.
abf:offset Datatype Property
rdfs:Literal (xsd:integer)
1:0..1 Index of the Entities, which are actually saved as result in abf:Entities, from the list of Entities corresponding to abf:Restriction.
abf:entities Object Property with rdf:Bag or rdf:Seq
rdf:Seq of abfEntity rdf:Bag of abfEntity
1..*:0..* Combinations or set of abf:Entity bundled by these Entities resources.
abf:operatedBy Object Property
abf:Operation 0..1:1 Indicates abf:Operation, which shows the Operation that targets this Entities resource.
abf:hasScope Object Property
arf:Scope 0..*:0..1 Indicates arf:Scope, which corresponds to result included in these Entities.
abf:restrictedBy Object Property
abf:Restriction 0..*:1 Indicates abf:Restriction resource, which restricts this Entities resource.
abf:Entity · Definition
Class for a RDF expresses the analysis result. Detailed analysis result information is stored as this resource. · Resource URI
Meaning: Used as identifier of the analysis result. Uniqueness: Globally unique
· Property list Properties are defined in DSM. abf: Vocabulary · Definition
Class for a RDF resource that describes which DSM is used in the operation.
© NEC Corporation 2010 ORIENT Specification 21/91
· Resource URI Meaning: It is a URI to identify abf:Vocabulary resource in this operation. Uniqueness: message unique
· Property list Property Property
Type Range Cardinality Description
abf:import Object Property (Reference Only)
rdfs:Resource 1:1..* Clearly specifies DM, which is used by this message. Name Space URI of DSM is taken as value.
© NEC Corporation 2010 ORIENT Specification 22/91
4.3 AOF (ARMOR Operation Framework) AOF describes the information corresponding to each operation. AOF defines the type of operation, EngineOperation, ProcessFlow, status of each operation.
4.3.1 Properties Defined in AOF Table 7 and Table 8 show the properties defined in AOF. Table 7 Object Properties Defined in AOF Properties Super
Property Domain Range Definition
aof:processFlow - abf:Operation aof:ProcessFlow Indicates the ProcessFlow of the Operation.
aof:operationSequence
- aof:ProcessFlow rdf:Seq of aof:ProcessPhase
Expresses the process flow by sequences of ProcessPhase
aof:hasEngineOperation
- aof:ProcessPhase rdf:Bag of aof:EngineOperation
Expresses the engines which executed in parallel.
aof:statusOf - abf:Status abf:Operation aof:EngineOperation
Indicates the Operation or EngineOperation of which the Status stores the execution status.
aof:engineUri - aof:EngineOperation rdfs:Resource The URI of processing engine. Table 8 Datatype Properties Defined in AOF Properties Super
Property Domain Range Definition
aof:code - aof:Status rdfs:Literal (xsd:positiveInteger)
The status code of the Operation and EngineOperation.
aof:message - aof:Status rdfs:Literal (xsd:string)
The status message of the Operation and EngineOperation.
aof:timeout - aof:EngineOperation rdfs:Literal (xsd:positiveInteger)
The value of engine execution timeout (msec)
aof:ratio - aof:EngineOperation rdfs:Literal (xsd:float)
The weight of the properties of Entity returned from each engine. (min:-1, max:1)
© NEC Corporation 2010 ORIENT Specification 23/91
4.3.2 Resource Types (Classes) Defined in AOF In this section, definition, properties, meanings, Cardinality and Range of each class are explained for Resource Type (Class) defined in AOF. aof:Query · Definition
Operation type is a class used for Query message. · Resource URI
Meaning: It is an ID for distinguishing ARMOR, Engine and Application in this operation Uniqueness: Globally unique
· Property list It inherits the properties of super class.
aof:Write · Definition
Operation type is a class used for Write message. · Resource URI
Meaning: It is an ID for distinguishing ARMOR, Engine and Application in this operation Uniqueness: Globally unique
· Property list It inherits properties of super class.
aof:Notify · Definition
Operation type is a class used for Notify message. · Resource URI
Meaning: It is an ID for distinguishing ARMOR, Engine and Application in this operation. Uniqueness: Globally unique
· Property list It inherits the properties of super class.
aof:ProcessFlow · Definition
It is a class of ProcessFlow, which is the processing method of engine. The Engine processing method described in ORIENT supports sequential execution and parallel execution of engine. Process Phase list, which carries out sequential execution, is expressed in ProcessFlow class. · Resource URI
Meaning: It is an ID for distinguishing ARMOR, Engine and Application in this process flow Uniqueness: Globally unique
· Property list Property Range Cardinality Description aof:operationSequence aof:ProcessPhase 1:1..* List of process phases, which consists this
process flow. These process phases are executed in the sequential order of list.
aof:ProcessPhase · Definition
It is a class of ProcessPhase, which shows a series of engines that are executed in parallel in the processing method of engine. The Engine processing method described in ORIENT supports sequential
© NEC Corporation 2010 ORIENT Specification 24/91
execution or parallel execution of engine. A set of engines, which are executed in parallel, is shown in ProcessPhase class. Engine operation included in the process phase is carried out in parallel. Same ORIENT model is entered at the time of calling each engine. · Resource URI
Meaning: It is an ID for distinguishing ARMOR, Engine and Application in this process phase. Uniqueness: Globally unique
· Property list Property Range Cardinality Description aof:hasEngineOperation aof:EngineOperation 1:1..* List of engines, which consist this
process phase. The engine operations included in this process phase are executed in parallel. Same ORIENT model is entered at the time of calling each engine.
aof:EngineOperation · Definition
It is the class for expressing information required for Engine execution. · Resource URI
Meaning: It is an ID for distinguishing ARMOR, Engine and Application in this engine operation Uniqueness: Globally unique
· Property list Property Range Cardinality Description aof:engineUrl URL 1:1 URL for calling API of analysis engine.
ORIENT message is posted in this URL. aof:timeout rdfs:Literal
(xsd:integer) 1:1 Timeout value of HTTP Post for engine. Unit
is “msec”. aof:ratio rdfs:Literal
(xsd:float) 1:0..1 (For future) Evaluation value for efficiency
and accuracy of this engine. Usage in Entity selection and result integration is assumed, in case same types of engines are executed in parallel.
aof:Status · Definition
It is a class to show execution status of engine and entire operation. It can be confirmed from reference destination of aof:statusOf property whether aof:Status is the status for entire operation or it is just for a specific Engine Operation. · Resource URI
Meaning: It is an ID to identify Status instance in message Uniqueness: Message unique
· Property list Property Range Cardinality Description aof:statusOf aof:EngineOperation
abf:Operation 1:1 Indicates this Status resource is related to
which Operation/EngineOperation. aof:code rdfs:Literal
(xsd:positiveInteger) 1:1 Status code of processing. It conforms to
status code of HTTP (RFC2616). aof:message rdfs:Literal 1:1 Natural language message related to
© NEC Corporation 2010 ORIENT Specification 25/91
(xsd:string) processing status. 4.4 ARF (ARMOR Restriction Framework) ARF describes the information corresponding to the restriction and condition of the Entities. ARF defines condition and logics (AND, OR) of each operation. Figure 15 shows model schema diagram for ARM in detail.
Figure 15 ARF Model Schema Diagram (detailed)
4.4.1 Properties Defined in ARF
Table 9 and Table 10 show the properties defined in ARF. Table 9 Object Properties Defined in ARF Properties Super
Property Domain Values Definition
arf:monitoredBy - arf:Restriction URI of monitoring User application
Indicates the URI of User application, which receives notification from ARMOR.
arf:hasCondition - abf:Restriction arf:Condition Indicates the Condition resource which expresses the restriction condition of the Entities.
© NEC Corporation 2010 ORIENT Specification 26/91
Properties Super Property
Domain Values Definition
arf:hasScope - abf:Restriction arf:Scope Indicates the Scope resource which expresses the required result Entity skeleton (scope of properties and resources of the Entity).
arf:entityType - arf:Scope rdfs:Class Indicates the entity type of result Entity.
arf:scope - arf:Scope rdf:Bag of Reference Model Node URI
Indicates the property values and resources which appear in result Entity if they are existed.
arf:valueResource - arf:Filter rdfs:Resource Indicates the filter value for arf:evaluates resource.
arf:beginResource arf:valueResource
arf:Filter rdfs:Resource Indicates the begin value for the ranged filter values.
arf:endResource arf:valueResource
arf:Filter rdfs:Resource Indicates the end value for the ranged filter values.
arf:evaluates - arf:Filter URI of Reference Model Node URI
Indicates the filter target resource.
arf:hasExpression - arf:Matches arf:Expression Specifies Expression, which is target of evaluation.
arf:hasFilter - arf:Scope arf:Condition arf:Logic
arf:Filter Indicates the filter for the Scope, Condition, or Filter.
Table 10 Datatype Properties Defined in ARF Properties Super
Property Domain Values Definition
arf:value - arf:Filter rdfs:Literal Indicates the filter value for arf:evaluates resource.
arf:begin arf:value arf:Filter rdfs:Literal Indicates the begin value for the ranged filter values.
arf:end arf:value arf:Filter rdfs:Literal Indicates the end value for the ranged filter values.
arf:includeBegin - arf:Filter rdfs:Literal (xsd:boolean)
Scope conditions of arf:begin or arf:beginResource. In case of true, include in scope. It certainly occurs for both arf:begin and arf:beginResource.
arf:includeEnd - arf:Filter rdfs:Literal (xsd:boolean)
Scope conditions of arf:end or arf:endResource. In case of True, include in scope. It certainly occurs for both arf:end or arf:endResource.
arf:from - arf:OrderedBy rdfs:Literal (xsd:integer)
Begin index of returned Entity range in sequence of ordered result entities.
arf:to - arf:OrderedBy rdfs:Literal (xsd:integer)
End index of returned Entity range in sequence of ordered result entities.
© NEC Corporation 2010 ORIENT Specification 27/91
4.4.2 Resource Types (Classes) Defined in ARF
In this section, definition, properties, meanings, Cardinality and Range are explained for Resource Type (Class) defined in ARF. arf:Condition · Definition
It is a class of resource to describe conditions for Entity, which is required as a result. · Resource URI
Meaning: It is a URI for distinguishing identify arf:Condition resource in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:hasFilter arf:Filter 1:0..1 Filtering conditions for selecting Entity. arf:Scope · Definition
It is a class of resource to define type of Entity, which is desired as a result, and information scope (sub graph, resource and property under Entity.) specification within that Entity.
· Resource URI Meaning: It is a URI for distinguishing arf:Condition resource in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:entityType Subclass of arf:Entity
(defined in DSM) 1..*:1 Indicates RDF type (class) of Entity, desired
to obtain in this Scope in the end. arf:hasFilter arf:Filter 1..*:0..1 Indicates the filter, which restricts
information scope of Entity, which are desired as a result, and the filter, which gives the sequence of Entities corresponding to this Scope.
arf:scope rdf:Bag of Reference Model Node URI
1:1..* Indicates information (resource or literal) of Entity, which is desired as a result. All the Reference Model Node URIs from the Entity indicated in arf:entityType to target node, are mentioned.
arf:Filter · Definition
It is a super class of class group that shows conditions. · Resource URI
Meaning: It is a URI for distinguishing arf:Filter resource in this operation. Uniqueness: message unique
· Property list They are defined in subclass. arf:Logic · Definition
© NEC Corporation 2010 ORIENT Specification 28/91
Super Class: arf:Filter It is a super class of filter class group, which shows logical operations. The items of logical
operation are expressed as multiple filters, which are available in arf:hasFilter property. · Resource URI
Meaning: It is a URI for distinguishing arf:Logic resources in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:hasFilter arf:Filter 0..*:1..* Indicates filter corresponding to each section of
logical operation. arf:And · Definition
Super Class: arf:Logic It is a filter class, which indicates AND logical operation. Entity is filtered to fulfill all filter group,
possessed by arf:hasFilter. · Resource URI
Meaning: It is a URI for distinguishing arf:And resources in this operation. Uniqueness: message unique
· Property list Property of super class is inherited. arf:Or · Definition
Super Class: arf:Logic It is a filter class, which indicates OR logical operation. Entity is filtered to fulfill any filter group,
possessed by arf:hasFilter.
· Resource URI Meaning: It is a URI for distinguishing arf:Or resources in this operation. Uniqueness: message unique
· Property list Property of super class is inherited. arf:Not · Definition
Super Class: arf:Logic It is a filter class, which indicates NOT logical operation. Entity is filtered not to fulfill the filters,
possessed by arf:hasFilter. · Resource URI
Meaning: It is a URI for distinguishing arf:Not resources in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:hasFilter
arf:Filter 1:1 Indicates filter corresponding to each section of logical operation.
© NEC Corporation 2010 ORIENT Specification 29/91
arf:FunctionFilter · Definition
Super Class: arf:Filter It is a super class of filter group, which has features with conditions attached by function. In,
relative position from resource/literal Entity, which is the evaluation target of filter, is specified in arf:evaluates by Reference Model Node. Reference Model Node is an URI for specifying each node inside Reference Model defined by DSM. Filter interpreter resolves resource and literal of evaluation target by referring to the Reference Model defined by DSM on the basis of this URI.
· Resource URI Meaning: It is a URI for distinguishing arf:FunctionFilter resource in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:evaluates Reference Model
Node URI 0..*:1 Indicates the resource and the literal, which are the
evaluation target of this resource, by Reference Model Node URI.
arf:OrderBy · Definition
Super Class: arf:FunctionFilter Overview
It is a class for specifying sorting method (ascending/descending) and scope, desired as result after alignment. Entity is sorted by taking Literal, which is specified as Reference Model URI in arf:evaluates, as evaluation value.
Selection by ascending and descending is carried out by arf:orderproperty. After sorting Entity, Entity from “arf:from” to “arf:to” is taken as result. Here, if arf:from is specified, abf:offset of abf:Entities, which is to be taken care, matches with arf:fromvalue. Comparison rule
Comparison for ascending and descending is as per the below mentioned table.
Reference Model Node Target type Comparison method Remarks xsd:integer Compare numerical
value
xsd:long Compare numerical value
xsd:float Compare numerical value
xsd:double Compare numerical value
xsd:dateTime Compare date
rdfs:Literal
Other than above
Not defined Defined in DSM
Optional resource Optional resource
Not defined Defined in DSM
· Resource URI
Meaning: It is a URI for distinguishing arf:OrderBy resource in this operation. Uniqueness: message unique
© NEC Corporation 2010 ORIENT Specification 30/91
· Property list Property Range Cardinality Description arf:evaluates Reference Model Node
URI 0..*:1 Indicates resource/literal, which is evaluation
target value, at the time of carrying out sorting by Reference Model Node URI.
arf:order arf:Order 0..*:1 Indicates ascending and descending. Ascending in case of arf:Ascending. Descending in case of arf:Descending.
arf:from rdfs:Literal (xsd:integer)
0..1:1 Indicates the begin value for the ranged Entity, which is desired as result after the sorting of Entity. Value 1 or more is taken.
arf:to rdfs:Literal (xsd:integer)
0..1:1 Indicates the end value for the ranged Entity, which is desired as result, after the sorting of Entity. Value more than value specified by 1 and arf:From is taken.
arf:DataFilter · Definition
Super Class: arf:Filter It is a super class of filter group, which compares Literal value. The location (relative location from
Entity) of evaluation target of filter is specified by arf:evaluates. Reference Model Node URI is the URI for specifying each node inside Reference Model defined by DSM. The filter interpreter resolves Literal of evaluation target by referring to Reference model defined by DSM on the basis of this URI.
· Resource URI Meaning: It is a URI for distinguishing arf:DataFilter resource in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:evaluates Reference Model
Node URI 0..*:1 Indicates literal, which is an evaluation target of
this filter, by Reference Model Node URI. arf:Equals · Definition
Super Class: arf:DataFilter Overview
It is a filter, which matches and compares Literal value. This filter decides whether the value of Entity instance of literal, which is a comparison target specified by arf:evaluates, matches with Literal value specified by arf:value. Data type is compared by interpreting it as the data type specified by arf:valueLiteral in the value of comparison. Comparison rule
The comparison rule is as per the table below. Reference Model Node Target type Comparison method Remarks
xsd:short Compare numerical value xsd:integer Compare numerical value xsd:long Compare numerical value xsd:float Compare numerical value xsd:double Compare numerical value
rdfs:Literal
xsd:dateTime Compare date
© NEC Corporation 2010 ORIENT Specification 31/91
xsd:Boolean Compare true value xsd:string Compare string Match completely Other than above mentioned
Not defined Defined in DSM
· Resource URI
Meaning: It is an URI for distinguishing arf:Equals resource in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:value rdfs:Literal 1:1 Literal value to be compared arf:evaluates See
arf:DataFilter See arf:DataFilter
Indicates the literal of evaluation target by Reference Model Node URI.
arf:Ranges · Definition
Super Class: arf:DataFilter Overview
It is a filter to compare the range of Literal value. It determines whether the value in Entity instance of Literal, which is the target of evaluation specified by arf:evaluates, is to be included in the range of Literal values specified by arf:begin and arf:end. In the comparison of Literal value, comparison is carried out by interpreting that data type is the one, which is specified by arf:begin and/or arf:end. Comparison rule
Comparison rule is as per the below mentioned table. Reference Model Node Target type Comparison method Remarks
xsd:short Compare numerical value xsd:integer Compare numerical value xsd:long Compare numerical value xsd:float Compare numerical value xsd:double Compare numerical value xsd:dateTime Compare date
rdfs:Literal
Other than above mentioned
Not defined Defined in DSM
· Resource URI
Meaning: It is an URI for distinguishing arf:Ranges resources in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:begin rdfs:Literal 1:0..1 Begin value for the ranged Literal values arf:includeBegin rdfs:Literal
(xsd:boolean) 1:0..1 (If arf:begin is configured 1:1)
Whether to include begin value in the ranged Literal values or not. In case of true, include arf:begin in the range.
arf:end rdfs:Literal 1:0..1 End value for the ranged Literal values arf:includeEnd rdfs:Literal
(xsd:boolean) 1:0..1 (If arf:end is
Whether to include end value in the ranged Literal values or not. In case of true, include arf:end in the
© NEC Corporation 2010 ORIENT Specification 32/91
configured 1:1)
range.
arf:evaluates See arf:DataFilter
See arf:DataFilter
Indicates Literal of evaluation target by Reference Model Node URI.
arf:SimilarTo · Definition
Super Class: arf:DataFilter It is a filter to compare similarity of Literal value. It determines whether the value in Entity
instance of Literal, which is the target of evaluation specified by arf:evaluates, is similar to Literal value, specified by arf:value, or not. The algorithm of similarity comparison is defined in DSM, which defined each data. In the comparison of Literal value, comparison is carried out by interpreting the data type as the one, which is specified by arf:Value. Comparison rule
The comparison rule is as per the below mentioned table. Reference Model Node
Target type Comparison method Remarks
xsd:short Value close to numerical. The value of range (value of arf:value ± value of arf:value×arf:similarity value) is considered similar.
xsd:integer Value close to numerical. The value of range (value of arf:value ± value of arf:value×arf:similarity value) is considered similar.
xsd:long Value close to numerical. The value of range (value of arf:value ± value of arf:value×arf:similarity value) is considered similar.
xsd:float Value close to numerical. The value of range (value of arf:value ± value of arf:value×arf:similarity value) is considered similar.
xsd:double Value close to numerical. The value of range (value of arf:value ± value of arf:value×arf:similarity value) is considered as similar.
rdfs:Literal
xsd:string Edit distance (distance between strings considering insertion of character unit, modification and deletion) is the value close to numerical. If range is (character count of arf:value + character count of arf:value×arf:similarity value), it is considered similar.
· Resource URI
Meaning: It is an URI for distinguishing arf:SimilarTo resources in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:value rdfs:Literal 1:1 Literal value to be compared arf:similarity rdfs:Literal
(xsd:double) 1:1 Degree of similarity at the time of comparison
© NEC Corporation 2010 ORIENT Specification 33/91
arf:evaluates See arf:DataFilter
See arf:DataFilter
Literal, which is the target of comparison, is specified by Reference Model Node URI.
arf:Contains · Definition
Super Class: arf:DataFilter Overview
It is a filter, which compares content of Literal value. The behavior of this filter is divided into two depending on whether the comparison target specified by arf:evaluates is Literal or rdf:Container.
1. If comparison target specified by arf:evaluates is Literal The content relation of string is compared considering Literal value of Entity instance,
which corresponds to Literal specified by arf:evaluates, as string. 2. If comparison target specified by arf:evaluates, is rdf:Container or its subclass
It is evaluated whether element which matches with Literal value specified by arf:value and Literal value of element inside container is included in that container or not. In the comparison of Literal value, comparison is carried out by interpreting data type as the one specified by arf:Value.
Comparison rule If comparison target specified by arf:evaluates is Literal, comparison rule is as per the below
mentioned table. Reference Model Node Target type Comparison method Remarks
xsd:string Whether string of arf:value is included or not in the string of comparison target as part string
rdfs:Literal Other than above mentioned
Not defined Defined in DSM
If comparison target specified by arf:evaluates is rdf:Container, comparison rule is as per the below
mentioned table. Reference Model Node Target type Comparison method Remarks
xsd:short Compare numerical value xsd:integer Compare numerical value xsd:long Compare numerical value xsd:float Compare numerical value xsd:double Compare numerical value xsd:dateTime Compare date xsd:Boolean Compare true value xsd:string Compare string
rdfs:Literal
Other than above mentioned
Not defined Defined in DSM
· Resource URI
Meaning: It is an URI for distinguishing arf:Contains resources in this operation. Uniqueness: message unique
· Property list
© NEC Corporation 2010 ORIENT Specification 34/91
Property Range Cardinality Description arf:value rdfs:Literal 1:1 Literal value to be compared arf:evaluates See
arf:DataFilter See arf:DataFilter
Literal, which is the target of comparison, is specified by Reference Model Node URI.
arf:Matches · Definition
Super Class: arf:DataFilter Overview
It is a filter, which compares evaluation formula (Expression) of Literal value. The behaviour of this filter changes by Expression class specified by arf:hasExpression. The concrete behaviour is defined in DSM by the person, who defines Expression. Comparison rule
Comparison rule is as per the below mentioned table. Reference Model Node Target type Comparison method Remarks rdfs:Literal Any data type Not defined Defined in DSM
· Resource URI
Meaning: It is a URI for distinguishing arf:Matches resources in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:hasExpression arf:Expression 1:1 Class that expresses Expression. arf:evaluates See
arf:DataFilter See arf:DataFilter
Literal, which is the target of evaluation, is specified by Reference Model Node URI.
arf:ObjectFilter · Definition
Super Class: arf:Filter It is a super class of filter group, which compares Resource. The location (relative location from
Entity) of Resource 1, which is the evaluation target of filter, is specified by Reference Model Node URI in arf:evaluates. Reference Model Node URI is the URI for specifying each node of Reference Model, which DSM defines. The person, who interprets filter, resolves the Resource, which is the target of evaluation, by referring to Reference Model defined by DSM on this basis of this URI.
· Resource URI Meaning: It is a URI for distinguishing arf:ObjectFilter resources in this operation. Uniqueness: message unique
· Property list Property Property
type Range Cardinality Description
arf:evaluates Object Property {Reference Only}
Reference Model Node URI
0..*:1 Resource, which is the evaluation target of this filter, is specified by Reference Model Node URI.
© NEC Corporation 2010 ORIENT Specification 35/91
arf:EqualsResource · Definition
Super Class: arf:ObjectFilter Overview
It is a filter, which compares the matching of Resource. Default matching conditions are determined by matching URI. If separate matching conditions are defined in DSM for the specified resource class, that definition is followed. In the comparison of Resource, RDF type (class), which is the target of comparison, is determined by the Resource class specified by arf:ValueResource. Comparison rule
Comparison rule is as per the below mentioned table. Reference Model Node Target type Comparison
method Remarks
Any resource Any resource Determine matching of URI
Default behavior. Overwrite definition is possible by DSM.
· Resource URI
Meaning: It is an URI for distinguishing arf:EqualsResource resources in this operation. Uniqueness: message unique
· Property list Property Property
type Range Cardinality Description
arf:valueResource Object Property {Reference Only}
rdfs:Resource 1:1 Resource to be compared
arf:evaluates Object Property {Reference Only}
See arf:ObjectFilter
See arf:ObjectFilter
Resource, which is the target of evaluation, is specified by Reference Model Node URI.
arf:RangesResource · Definition
Super Class: arf:ObjectFilter Overview
It is a filter, which compares range of Resource. It determines whether the value of Entity instance of Resource, which is the target of evaluation specified by arf:evaluates, is to be included in the range of Resource, specified by arf:begin and arf:end, or not. The evaluation method of range is defined in each DSM. In the comparison of Resource, RDF type (class), which is the target of comparison, is compared as the Resource class specified by arf:beginResource and/or arf:endResource. Comparison rule
The comparison rule is as per the below mentioned table. Reference Model Node Target type Comparison method Remarks Optional resource Optional resource Not defined Defined in DSM
· Resource URI
Meaning: It is an URI for distinguishing arf:RangesResource resources in this operation. Uniqueness: message unique
· Property list
© NEC Corporation 2010 ORIENT Specification 36/91
Property Property type
Range Cardinality Description
arf:beginResource Object Property {Reference Only}
rdfs:Resource 1:0..1 Begin value of Resource range
arf:includeBegin Data Property
rdfs:Literal (xsd:boolean)
1:0..1 (If arf:begin is configured 1:1)
Whether to include begin value in the range of Resource or not. In case of true, arf:begin is included.
arf:endResource Object Property {Reference Only}
rdfs:Resource 1:0..1 End value of Resource range
arf:includeEnd Data Property
rdfs:Literal (xsd:boolean)
1:0..1 (If arf:end is configured 1:1)
Whether to include end value in the range of Literal or not. In case of true, arf:end is included in the range.
arf:evaluates Object Property {Reference Only}
See arf:ObjectFilter
See arf:ObjectFilter
Resource, which is the target of evaluation, is specified by Reference Model Node URI.
arf:Exists · Definition
Super Class: arf:ObjectFilter It determines whether Resource/Literal, which are the target of evaluation specified by arf:evaluates,
exist in Entity instance or not. · Resource URI
Meaning: It is a URI to identify arf:Exists resources in this operation. Uniqueness: message unique
· Property list Property Range Cardinality Description arf:evaluates See
arf:ObjectFilter See arf:ObjectFilter
Resource, which is the target of comparison, is specified by Reference Model Node URI.
arf:SimilarToResource · Definition
Super Class: arf:ObjectFilter Overview
It is a filter, which compares the similarity of Resource. It determines whether Resource of Entity instance of Resource, which is the target of evaluation specified by arf:evaluates, is similar to Resource specified by arf:value or not. The algorithm for comparing the similarity is defined in DSM, which defined each data. In the comparison of Resource, RDF type (class) is compared as the Resource class, which is specified by arf:ValueResource. Comparison rule
Comparison rule is as per the below mentioned table.
© NEC Corporation 2010 ORIENT Specification 37/91
Reference Model Node Target type Comparison method Remarks Optional resource Optional resource Not defined Defined in DSM
· Resource URI
Meaning: It is a URI for distinguishing arf:SimilarToResource resources in this operation. Uniqueness: message unique
· Property list Property Property
type Range Cardinality Description
arf:valueResource Object Property {Reference Only}
rdfs:Resource 1:1 Resource to be compared
arf:evaluates Object Property {Reference Only}
See arf:ObjectFilter
See arf:ObjectFilter
Resource, which is the target of comparison, is specified by Reference Model Node URI.
arf:ContainsResource · Definition
Super Class: arf:ObjectFilter Overview
It is a filter, which compares content of Literal value.The behavior of this filter is divided into the following two depending on whether the comparison target specified by arf:evaluates is Resource or rdf:Container.
1. If comparison target specified by arf:evaluates is Resource The inclusion relation (whether property, Literal value and Resource, possessed by
resource specified by arf:value, is included in Resource of Entity instance or not) of Entity instance Resource corresponding to Resource specified by rf:evaluates and resource specified by arf:value is compared.
2. If comparison target specified by arf:evaluates, is rdf:Container or its subclass It is evaluated whether Resource specified by arf:value is included in the element inside
container or not. In the comparison of Resource, RDF type (class), which is the target of comparison, is compared as Resource class specified by arf:ValueResource.
Comparison rule The comparison rule is as per the below mentioned table.
Reference Model Node Target type Comparison method Remarks Optional resource Optional resource Not defined Defined in DSM · Resource URI
Meaning: It is an URI for distinguishing arf:ContainsResource in this operation. Uniqueness: message unique
· Property list Property Property
type Range Cardinality Description
arf:valueResource Object Property
rdfs:Resource 1:1 Resource to be compared
© NEC Corporation 2010 ORIENT Specification 38/91
{Reference Only}
arf:evaluates Object Property {Reference Only}
See arf:ObjectFilter
See arf:ObjectFilter
Resource, which is the target of evaluation, is specified by Reference Model Node URI.
Other class Resources Super Class Definition Uniqueness of resource
URI (value of rdf:about) arf:Order - This RDF type is the super type of RDF types
which corresponds to ordering type. Not applicable.
arf:Ascending arf:Order arf:Order subclass for ascending ordering. - (see arf:Order) arf:Descending arf:Order arf:Order subclass for descending ordering. - (see arf:Order) arf:Expression - Super class of comparison expression class
which is used for comparison in arf:Matches. Expression is defined in each DSM.
message unique.
© NEC Corporation 2010 ORIENT Specification 39/91
5 Domain Specific Model (DSM) 5.1 Overview
Domain Specific Model (DSM) defines domain specific resources and properties. In other words, each domain (such as image processing and text processing) has a common model for analysis result expression as DSM.
DSM defines the following three items.
1. Name space URI: URI and its abbreviations to identify DSM itself 2. Model Schema: Vocabulary definition required to express Entity. 3. Reference Model: Model which enables to refer to structure of model that expresses Entity
DSM needs to fulfill the below mentioned conditions.
· DSM should express the target analysis data in RDF model. · Resources, which do not have rdf:type, are not to be used
Class must be defined
It is highly recommended to adopt the below mentioned policy at the time of formulating DSM. · DSM is to be in hierarchical structure. Model Schema defined in below DSM is to be inherited and
used (Refer to Figure 13). Re-definition of analysis data expression, which has already been defined as DSM, should
be avoided. · Use existing controlled vocabulary(XML, RDF, ontology definitions exit in each domain)
Minimize vocabulary having unique definition · The definition of anonymous note (node without URI) is to be avoided. URI of each resource
should carry the meaning as ID that identifies its analysis data. (However, Resource having rdf:Container as rdf:type can be anonymous node).
5.2 Name Space URI
Name space URI is an URI, which can be referred as “DSM Name Space URI” of Figure 14 from ORIENT. It is an URI, which is specified in xmlns element inside rdf:RDF tag after serialization.
The URI of Name space is decided by the person, who defines DSM. It is recommended to perform setting taking the URI of organization, which DSM definition person or group belongs to, as base.
Further, it is necessary to define abbreviations of Name Space along with Name Space URI. These
abbreviations should be such that they can identify DSM uniquely. 5.3 ModelSchema
Model Schema defines controlled vocabulary (definition of class URI and property URI) and entire diagram of model schema showing their use (Model Schema Diagram) to describe the information of the domain, which DSM targets.
DSM needs to define the following three as Model Schema.
1. Class definition 2. Property definition 3. Model Schema Diagram
© NEC Corporation 2010 ORIENT Specification 40/91
5.3.1 Class Definition As regards class, the below mentioned elements are defined.
A. Class URI B. URI of higher level class C. Definition (explanation of natural languages)
5.3.2 Property Definition As regards Property the below elements are defined.
A. Property URI B. URI of higher level property C. Definition domain (URI of class of resource than can become the subject of property) D. Range (URI of resource/literal that can become target language of property) E. Cardinality (cardinality of subject and target language of property) F. Definition (explanation of natural language)
5.3.3 Model Schema Diagram Model Schema Diagram shows that data is expressed in which logical structure using property and class
used by DSM. It is shown as class diagram of analysis result data using property and class defined in class DSM as per
the description rules shown in 3.2 Notations in Model Schema Diagram of this document. 5.4 Reference Model The objective of reference model is to give a unique ID to the classes and the values of property, which are defined by DSM in data schema. The reason behind this is to uniquely identify resource/literal, which are the target of Filter, at the time of mentioning Filter in Condition and Scope of Restriction and mention them. As regards Reference Model, the below two are to be defined in DSM.
1. Reference Model Diagram 2. Reference Model Node URI
5.4.1 Reference Model Diagram Reference Model Diagram is a directed edge graph showing class URI as vertex and property URI as
edge (Figure 16). In this diagram, subclass (rdf:Bag and rdf:Seq) of rdf:Container is shown as stereotype of property instead of vertex.
In order to distinguish vertex, Reference Model Node URI label is attached to each vertex in Reference Model Diagram. The details of Reference Model Node URI are provided in next section.
© NEC Corporation 2010 ORIENT Specification 41/91
Reference Model (Directed Edge Graph)Defined in DS
Class_A
Class_B
Class_C
rdfs:Literal
rdfs:Literal
rdfs:Literal
dataProperty_A
dataProperty_B
dataProperty_C
objectProperty_A
objectProperty_B
URIURI
URI URI
URI URI
Figure 16 Reference Model Diagram Example
5.4.2 Reference Model Node URI Reference Model Node URI is an identifier of each vertex in Reference Model Diagram. It is necessary to
set Reference Model Node URI in all the vertexes. As regards the format of Reference Model Node URI, the following formats are recommended. [NS of DSM]/rm/[Class URI of Entity]/[Property URI]/…/[Property URI]/[Class URI of target
vertex] [NS of DSM]/rm/[Class URI of Entity]/[Property URI]/…/[Property URI]/[Class URI of target
vertex]/[Property URI]
The URI of class and property is the abbreviation of NS defined by DSM as shown below. The format which joins class name and property name by inverted comas (“ ”) is recommended.
[Abbreviation of NS defined by DSM].[Class name] [Abbreviation of NS defined by DSM].[Property name]
Reference Model Node URI is referred by URI reference from inside the ORIENT message. For example,
it is referred by arf:scope from instance of arf:Scope.
© NEC Corporation 2010 ORIENT Specification 42/91
5.5 Example of DSM
DSM example of person information is shown as an example of DSM. This DSM is just an example. In actual case of handling person information, new DSM for person information should be defined.
5.5.1 Name Space URI
In the DSM example of person information, the below are defined as URI and its abbreviation in order to distinguish DSM itself.
・ Name Space URI: http://example.com/dsm/person# ・ Abbreviation: dsm_person
Further, this DSM uses General DSM and vCard as existing DSM and controlled vocabulary. The respective name space and overview are shown below. Table 11 Namespaces Used in Person DSM Abbreviation format
URL Description
Ds http://www.nec.com/ivcp/orient/ds/general# General DSM vCard http://www.w3.org/2001/vcard-rdf/3.0# RDF serialization NS vCard(RFC 2426)
http://www.w3.org/TR/2001/NOTE-vcard-rdf-20010222
5.5.2 Model Schema Example Class definition, property definition, model schema diagram are defined as ModelSchema of person
information DSM.
Table 12 Class Definition of Person Information DSM Class URI URI of higher level
class Definition Remarks
ds:Person abf:Entity Class expresses person information ds:Organization Class expresses organization information
Table 13 Object Property Definition of Person Information DSM Property URI High
property URI
Definition domain Range Cardinality Definition
vCard:org ds:Person ds:Organization 1..*:0..* Affiliated organization
Table 14 Data Type Property Definition of Person Information DSM Property URI High
property URI
Definition domain Range Cardinality Definition
vCard:fn ds:Person rdfs:Literal (xsd:string)
1:1 Full name
vCard:note ds:Person rdfs:Literal 1:1 Remarks
© NEC Corporation 2010 ORIENT Specification 43/91
(xsd:string) vCard:bday ds:Person rdfs:Literal
(xsd:date) 1:1 Date of birth
ds:score abf:Entity rdfs:Literal (xsd:double)
1:1 Evaluation value
vCard:orgname ds:Organization rdfs:Literal (xsd:string)
1:1 Organization name
vCard:orgunit ds:Organization rdf:Seq of rdfs:Literal (xsd:string)
1:0..* Organization hierarchy name
Figure 17 Model Schema Diagram of Person information DSM
5.5.3 Reference Model Example An example of Reference model example of person information DSM and reference node URI is shown below.
ds:Person
ds:Organization
rdfs:Literal
rdfs:Literal
rdfs:Literal
rdfs:Literal
rdfs:Literal
vCard:org
vCard:fn
vCard:note
ds:score
vCard:orgname
vCard:orgunit
http://www.nec.com/ivcp/orient/ds/general/ri/ds.person
http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.fn
http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.note
http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/ds.score
http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.org/ds:Organization
http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.org/ds:Organization/vCard.orgname
http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.org/ds:Organization/vCard.orgunit
rdfs:LiteralvCard:bday http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.bday
Figure 18 Reference Model Diagram of Person Information DSM
© NEC Corporation 2010 ORIENT Specification 44/91
Table 15 Reference Node URI List of Person Information DSM Reference Node URI http://www.nec.com/ivcp/orient/ds/general/ri/ds.person http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.fn http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.note http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.bday http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/ds.score http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.org/ds.Organization http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.org/ds.Organization/vCard.orgname http://www.nec.com/ivcp/orient/ds/general/ri/ds.person/vCard.org/ds.Organization/vCard.orgunit
5.5.4 Instance Example An example of Entity and Instance Mentioned Based on above mentioned model schema is shown below. NEC Jirou PC Incharge 1982-11-01 XYZ Labs NEC Development and Research Unit Central Labs XYZ Labs
© NEC Corporation 2010 ORIENT Specification 45/91
NEC Tarou Researcher
© NEC Corporation 2010 ORIENT Specification 46/91
6 Protocol 6.1 Message Transmission
The below protocol and serialization are used in the transmission of ORIENT data. Protocol: HTTP POST method Serialization: RDF/XML format
Message transmission is carried out in synchronous processing through HTTP POST method. Therefore,
the information showing relation between messages is basically not required. The relevance between messages is mentioned in identity of abf:Operation in ORIENT specification.
6.1.1 Send Request Message In case of requesting ORIENT operation, the below mentioned methods are used.
RDF/XML data as message body of HTTP POST is sent Value of HTTP header is as per Table 16.
Table 16 HTTP Header Configuration Value While Transmitting ORIENT Message HTTP header name
Parameter Mandatory/Optional Value
Content-Type - Mandatory application/rdf+xml Content-Type charset Mandatory UTF-8 Content-Length - Optional RDF/XML data size is shown by 10 decimal octet
6.1.2 Send Response Message The below method is used for sending response message against a request.
RDF/XML of after processing is returned as message body of response message for HTTP POST The value of HTTP header is as per Table 16.
6.1.3 Return Error Response Message HTTP Status Code and message body when request of HTTP level is received are as follows.
Table 17 HTTP Status Code and Message Body When HTTP POST Received
Status Status Code (HTTP)
Message Body aof:code value (aof:Status of
abf:Operation) If request data conforms to ORIENT
200 ORIENT message of response
Value depending on execution status of engine Example: 200, 206, 500
If request data does not conform to ORIENT
400 String of error cause -
Fatal abnormality occurs while processing request (If creation and return of response data are not possible)
5xx String of error cause -
© NEC Corporation 2010 ORIENT Specification 47/91
6.2 ORIENT RDF/XML Serialization Rule It is necessary to fulfill the below three items at the time of serialization of RDF/XML. Serialization rule of RDF/XML is followed UTF-8 is used for string code version="1.0", encoding="utf-8" are specified in XML declaration
© NEC Corporation 2010 ORIENT Specification 48/91
7 Restriction Descriptions and Examples In this section, method to describe Restriction by using ORIENT and DSM defined in Section 4 and
Section 5 is explained. Restriction (arf:Restriction) is mainly used for the following. 1. Mentioning of search conditions in Query operation
7.1 Restriction Descriptions (Method to express Restriction)
7.1.1 Query Restriction Descriptions (Method to express Query Restriction) Following two things are to be mentioned when specifying search conditions in Query operation. 1. Scope: As regards Entity that fulfills condition, specify scope of information desired in Entity
(corresponding to SELECT of SQL) 2. Condition: Condition to select Entity (corresponding to WHERE of SQL)
arf:Condition arf:Scope
abf:Restrictionarf:hasCondition arf:hasScope
Figure 19 Query Restriction Description
Scope
As regards Scope, type (class) of Entity desired by application and scope of information within each Entity (sub graph of analysis data desired as result) is specified.
Type of Entity is expressed by specifying class URI of Entity defined in DSM by arf :entityType property. As regards scope of information in each Entity, conditions related to location, sorting of Entity,
information desired as a result in Entity are specified in view of graph structure of information one wants as a result.
arf:Scope
EntityType
arf:Filter
Reference Model Node URI : URI
Class of Entity desired as result
arf:entityType{Type URI reference}
arf:scope
{Reference only}
arf:hasFilter
Location of information in Entity desired as aresult in view of graph structure
Filter conditions for information inEntity, which is desired as result
arf:Logic
arf:hasFilter
arf:FunctionFilter arf:DataFilter arf:ObjectFilterArrangement and number of Entities desired as a result (Entity count)
Figure 20 Scope Description
Class and operation of filter, which can be used under arf:Scope, are given as below.
© NEC Corporation 2010 ORIENT Specification 49/91
Table 18 Type and operation overview of arf:Filter that can be used in scope expression Filter Super Class Frequency
of appearance
Operation overview
arf:And arf:Logic 0..* Obtains product set of information, which matches with filter group possessed by arf:hasFilter.
arf:Or arf:Logic 0..* Obtains sum set of information, which matches with filter group possessed by arf:hasFilter.
arf:Not arf:Logic 0..* Obtains complementary set of information, which matches with filter group possessed by arf:hasFilter.
arf:Equals arf:DataFilter 0..* Returns property and value in case instance value of node of logical data structure indicated in arf:evaluates matches with value of arf:value.
arf:Ranges arf:DataFilter 0..* Returns property and value in case instance value of node of logical data structure indicated in arf:evaluates falls in the range specified by this filter.
arf:SimilarTo arf:DataFilter 0..* Returns property and value in case instance value of node of logical data structure indicated in arf:evaluates is similar to value of arf:value.
arf:Contains arf:DataFilter 0..* Returns property and value in case instance value of node of logical data structure indicated in arf:evaluates includes information similar to value of arf:value.
arf:Matches arf:DataFilter 0..* Returns property and value in case instance value of node of logical data structure indicated in arf:evaluates matches with value of arf:value.
arf:OrderedBy arf:FunctionFilter 0..1 Indicates sorting and number of Entities desired as result. Sorts Entities registered in abf:Entities in the order specified by this filter and returns the specified number of Entities.
Condition
Condition specifies the conditions of Entity desired by application. Subclass instances of a series of arf :Filter indicated in arf :hasFilter property are used in conditions of
Entity.
arf:Condition arf:Filterarf:hasFilter
Filter conditions, which determine Entity desired as a result
arf:Logic
arf:hasFilter
arf:DataFilter arf:ObjectFilter
Figure 21 Condition Description
Class and operation of filters, which can be used under arf:Condition, are given as below.
© NEC Corporation 2010 ORIENT Specification 50/91
Table 19 Types and operation overview of arf:Filter used in expressing Condition Filter Super Class Frequency
of appearance
Operation overview
arf:And arf:Logic 0..* Obtains intersection set of information, which matches with filter group possessed by arf:hasFilter.
arf:Or arf:Logic 0..* Obtains union set of information, which matches with filter group possessed by arf:hasFilter.
arf:Not arf:Logic 0..* Obtains complementary set of information which confirms to filter group possessed by arf:hasFilter.
Subclass of arf:DataFilter
arf:Filter 0..* Refer to definition of each filter.
Subclass of arf:ObjectFilter
arf:Filter 0..* Refer to definition of each filter.
© NEC Corporation 2010 ORIENT Specification 51/91
7.2 Restriction Examples
A Restriction example is explained with the help of an example of Person Information DSM shown in Section 5.
7.2.1 Query Restriction Example The application searches person information using following information.
Condition for Entity : Assigned department is “Central Labs” Desired results: ・ First two names in ascending order of birth dates ・ List mentioning name of person and assigned department
RDF Model Example
Condition and Scope during search by the above mentioned conditions is given as below.
Figure 22 RDF Model Example for Person