analysis data transfer framework orient specification · lexical structure (model schema) to...

91
© NEC Corporation 2010 ORIENT Specification NPW3C2011-002 Last update: February 7, 2011 NEC Corporation Analysis Data Transfer Framework "ORIENT" Specification Revision 1.9

Upload: others

Post on 20-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

  • © 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