Patent ID: 12197455

DETAILED DESCRIPTION

The Digital Model

The ontology framework according to the invention provides a structure that can be used to represent all information in specifications. The ontology contains three major types of classes of objects: 1. Governing Authorities, 2. Subjects, and 3. Requirements.

Definitions

Governing Authorities include all documents, specifications, rules, regulations, bodies, etc. that provide authoritative guiding information. The most common example of a governing authority is a specification document. A governing authority is thought of as a set of numbered statements, or assertions, the assertions made by the authority, i.e., those appearing in the document. So a specification document is thought of as the set of sentences in the document. A section of a specification document is the set of sentences in the section, and so is a subset of the full specification. A paragraph in a section is a subset of the sentences in that section. So there is a taxonomy of governing authorities based on the sentences in the authority; the node for a section of a specification is a child of the node for the specification, and a node of a paragraph is a child of the node for the section it is in. A property of this taxonomy is that any assertion made in a node is also made in its parent node. E.g. any assertion made in a paragraph is made in the section containing that paragraph. Examples of a governing authority include MIL-C (Military Specification-C) and ASTM (American Society for Testing and Materials).

Subjects are the objects that are described or defined by a governing authority. For example, if a specification describes circuit breakers, then the set of circuit breakers is the subject of that specification. Many specifications describe parts, and so classes of parts are in the subject taxonomy. Specifications may also describe materials, or tests, or processes, so sets of these things would also appear in the subject taxonomy. The subject taxonomy is structured by subset: e.g., a node representing a set of parts is a child of a node representing a superset of those parts. Subjects may include attributes such as: component structure, parts, materials, manufacturing process, ordering process, packaging process, regulations, test methods.

Requirements represent the constraints that a governing authority asserts that their subjects must satisfy. For example, a circuit breaker specification may say that a particular class of circuit breakers must be able to operate at temperatures between −50 and +80 degrees Celsius. This property is a requirement. One can think of a requirement as being the set of all things that satisfy that property. So the property of “being able to operate at temperatures between −50 and +80 degrees Celsius” can be thought of a representing the set of all things that can operate in that temperature range. Requirements may include attributes such as: component requirements, manufacturing requirements, ordering requirements, packaging requirements, regulatory requirements, testing requirements.

In order to represent specification knowledge fully, it is desirable to specify relationships among the concepts of 1. Governing Authorities, 2. Subjects, and 3. Requirements. This is advantageously done by adding attributes (or properties or relationships) for classes and the elements in the classes. For example, it may be able to say that a set of parts is governed by some part of a specification document. One can do this with a “governedBy” attribute that maps subjects to governing authorities. A particular class of subjects is governed by a particular section of a document, or perhaps a whole document. For example, there is a particular class of circuit breakers that are the subject of the specification MIL-C-55629, so that class has a “governedBy” attribute with the value of MIL-C-55629.

Particular requirements are specified by sections (or paragraphs, or sentences) within documents. This is captured by an attribute of requirements, called “describedIn”, whose value is the particular governing authority (spec, section, paragraph, or whatever) in which that requirement is described. For example Paragraph 3 of Section 5.2 of specification MIL-C-55629 might describe the requirement that the subject must be able to operate in a temperature range of −50 to +80 degrees Celsius. So this knowledge would be represented by a “describedIn” attribute mapping that temperature requirements node in the requirements taxonomy to that paragraph/section of MIL-C-55629 is the governing authority taxonomy.

It is also desirable to capture the information that a particular set of subjects meets a particular requirement, e.g. that a particular set of circuit breakers actually meets the requirement of being able to operate in the specific temperature range. This can be done with a “meets” attribute, which maps a class in the subject taxonomy to a requirement. (saying that all the parts in a subject class meet the requirements specified by a requirements class is the same as saying that the subject class is a subclass of the requirements class; that is, the set of objects in the subject class is a subset of all the objects that satisfy the requirement.)

Conversion

The following example shows how the information concerning the operating temperature range of circuit breakers would be represented in an ontology according to the invention. The three taxonomies of the ontology are the Governing Authorities, the Subjects, and the Requirements. In this case the hasOpTemp attribute (for has-operating-temperature) is used to define the desired temperature range. The set of these attributes is somewhat open ended and will depend on the form of requirements specified in the governing document. But note that the only connections from the Subject taxonomy to the Governing Authority taxonomy are labeled “governedBy”; the only connections from the Requirement taxonomy to the Governing Authority taxonomy are labeled “describedBy”; and the only connections from the Subject taxonomy to the Requirement taxonomy are labeled “meets”. There may be many differently labeled connections from the Requirement taxonomy to the Subject taxonomy. These are attributes needed to define the requirements. Preferably, the Subject taxonomy contains all targets of attributes required to define requirements. In the present example, the node that represents all Celsius temperatures greater the −50 degrees is placed in the subject taxonomy. Another example might be that a part be made of a particular alloy of steel, which may be specified using an attribute “isMadeOf” that maps that requirement node to a node representing that particular alloy. That node would be in a taxonomy of materials, which would also be a sub-taxonomy of the Subject taxonomy. This is reasonable since there are specifications that describe properties of materials, and to represent the information in those material specs, the material taxonomy ought to be included in the Subject taxonomy.

There is one other kind of connection, one which goes from the Governing Authority taxonomy back to itself. This connection (attribute) captures the knowledge that some part of a governing document refers to another part of a governing document. For example Section 5.2 of MIL-C-55629 might refer to another specification on materials, such as the ASTM A116 specification. (It might refer to another section within the same document.) The invention uses an attribute named “references” to capture this knowledge.

Turning now toFIG.1, a PDF document10is fed to an annotator (alternatively conversion, seeFIG.2A) tool12that is used to create a digital structured syntactic textual model of the document. This model is preferably stored as an RDF (seeFIGS.2A and3A). An ontology directed extractor14is then used to extract properties of the digital model based on a specification ontology16to be stored in a database18. An XML representation22of the digital model is created in response to user queries20from an access point26and an XLST style sheet24is used to interpret and display information from the model for the user's context (query) at the access point26. The access point is typically a computer having a keyboard and display but could also be a smart phone or other suitable device. It may be located local to the database or remotely located and communicate with the database via a communications link or network. The access point could also be a program running on a computer that automatically generates queries based on its program logic without the intervention of a human operator. This would be a machine-to-machine implementation.

In order to facilitate the conversion of documents to a linked data model, the invention has developed a “common” XML schema. An example of the schema is provided in APPENDIX I, below. The focus of this schema, shown in the APPENDIX I, is the logical structure of the document, rather than display or format considerations. Many tags allow an “id” attribute, which should be unique within the document. Certain other elements can refer back to these via “rid” attributes. If the documents are being converted to XML from RDF, the values of these attributes are the URIs (uniform resource identifiers) corresponding to the elements described in APPENDIX II, below. At present, all plain text is enclosed in “text” element (i.e. there is no “mixed content” where tags are mixed in with plain text). Some tags below are listed as containing “text block” information. This means the child nodes are a combination of “text”, “reference”, “br”, “footnotereference”, “docdeclare”, and “matheq” elements.

The root node in this schema is “spec”. It must contain a “head” and a “body” element, and can optionally contain “footnotes”, “tables”, and “figures” elements (no more than one of each). The “head” element contains information on spec designation, title, publication date, etc (more details below). The body element contains a “sections” element and an optional “testmethods” element. The “sections” element can contain one or more “section” elements. Each section element contains a title (optional), and some combination of “para”, “list”, “table”, or “matheq” elements, followed by zero or more “section” elements. Note that subsections cannot be mixed with other section content, they have to appear at the end. The “tables” element will contain “numbered tables”, and does not preclude the presence of inline tables that appear in the flow of the document.

Annotation

FIG.2illustrates the annotator tool12in more detail. The PDF annotator tool12includes a plurality of annotators and data transformers. A text converter converts text from the specification document to a text file while preserving the text positioning information. The text file is then syntactically tagged to recognize sections, tables, and other structural components of the document. Words and phrases are then semantically tagged using custom annotators. Annotators may include a regular expression annotator, a table annotator, a material annotator, a measurement annotator, etc. The syntactic tags are then used to recognize word and phrase meanings. The result is an “annotated text document”13.

Text conversion from PDF to “position preserving” text can be accomplished using a variety of commercially available tools such as the Apache open source PDFBox Java Library, or iText Software's open source Java library called iText. Syntactic tagging of text can be accomplished with custom Java software that makes use of the text position data produced by the PDFBox library. Semantic tagging of text can be accomplished with Apache open source UIMA library. The custom annotators are custom Java annotators integrated into UIMA that either recognize specific semantic patterns or wrap ontology based prolog extraction processes.

FIG.2Ashows an alternate (and presently preferred embodiment) utilizing a “document converter” rather than a “document annotator”. The same PDF specification, here labeled10A is fed to the converter tool12A that is used to create a digital structured textual model of the document stored as and RDF data repository13A. The text conversion and syntactic tagging are the same, but the annotator tools are eliminated and rather than semantic tagging, the converter generates RDF triples containing information about document structure and contents. These are then output to an RDF data repository13A.

Extraction

FIG.3illustrates more details regarding the ontology directed extractor14. The annotated text document13is subjected to ontology directed extraction14. This process includes a combination of data transformation, ontology based knowledge processing, and ontology based schema definition. The ontology based schema definition includes a specification ontology16defining the meaning of components that make up a specification document. The definition controls the extractor14which transforms data from the annotated text document13by grouping annotations as class or attribute references, classifying class references to specific class objects in an ontology, and extracting and standardizing attribute references to object attributes using the class of the object for the context of extraction. The transformed data is stored in a database18of class objects making up the digital specification models.

The type of annotation (class or attribute) is determined by the type of annotator that created it. The classification of class references is accomplished with the XSB Ontology Directed Classifier. (See U.S. Pat. No. 7,542,958) The extraction of attribute references is accomplished with the XSB Ontology Directed Extractor. (See U.S. Pat. No. 7,542,958) The output of the extraction uses SQL to input objects and their attributes into the database. The Ontology Schema is managed using the XSB CDF Ontology Management framework. (See U.S. Pat. No. 7,542,958.)

FIG.3Ashows an alternate (and presently preferred) embodiment. InFIG.3A, the specification ontology16and database of class objects18are the same as inFIG.3. Here, however, the extraction begins with the RDF Triple Store13A.

The RDF repository (triple store)13A contains the original specification document encoded as specific text objects and syntactic relations between these text objects. Each text object is a specific statement, usually at the sentence or table row level, contained in the original document. Syntactic relations between text objects indicate how text objects relate to each other in the document.

Each text object is subjected to ontology directed extraction14A. This process includes a combination of data transformation, ontology based knowledge processing, and ontology based schema definition. The ontology based schema definition uses a specification ontology16to define the meaning of components that make up a specification document. The definition controls the extractor14A which transforms text objects from the RDF Triple Store13A by classifying the text object to a subject class in the specification ontology16and extracting and standardizing object attributes using the class of the text object for the context of extraction. The transformed text object is stored in a database18of class objects with their associated attributes making up the digital specification models. Each class object in the database is thus a representative of the specification ontology class using the ontology based schema definition.

User Interaction

FIG.4shows how a user interacts with the system. The user interface is preferably a web-based interface and relies on XML and XSLT. The user submits a query20which includes one or more specifications and a context20a. The specification request and context are used to generate a query20bto the database18for specific components of the digital model. The context is also used to select20ca particular XSLT style sheet that is used to display the results of the query. The digital model components returned by the query are translated at21into an XML document22which is displayed at24using the style sheet selected at20cfrom a library of style sheets23.

The queries from users can be implemented as web services called from the user's web browser using the Restful Public Architecture Specification. The specification request to the database is a query triggered by the web service. Context mediation chooses XSLT stylesheets based on context supplied by the web service. Digital model components are the query results translated into XML representations of relevant parts of the specification. The web server uses the selected stylesheet to display the XML representation to the user's browser.

The web service can alternately be called directly by a software program running on a remote machine and will return the XML output directly to the calling program. This implementation of the invention represents a direct machine-to-machine application of the digital specification model.

The context and style sheets allow a designer to see the specification information required for selecting a part in the context of design constraints, a maintenance engineer to see the procedures necessary to repair or replace an item covered by the specification, and a purchasing manager to see a view of information necessary to order a part that met the specification requirements. Queries can be based on part properties or on part numbers.

Specific Example

The system and methods of the invention are particularly aimed at specification documents but can also be used to store and disseminate most any kind of knowledge.FIG.5shows a portion of a technical paper andFIG.6illustrates how that paper is converted into an annotated text document using the methods of the invention. Highlighted portions of the document on the left hand side ofFIG.6are extracted according to an ontology that includes, in this example, “decay”, “reaction”, “KW”, “nuclide”, etc. These “annotations” are listed in hierarchical format on the right hand side ofFIG.6.

FIGS.7-10illustrate portions of Federal Specification QQ-A-601F regarding Aluminum Alloy Sand Castings.FIG.11shows how the knowledge from the specification is extracted and converted into an annotated text document. Text is mined to infer properties for a part represented by a Federal National Stock Number (NSN). NSNs are assigned to most items purchased by the US Department of Defense. Properties of NSNs are cataloged as technical characteristics. The properties appropriate for a given type of part are defined in Federal Item Identification Guides (FIIGs).FIG.11shows technical characteristics for an NSN corresponding to a Gun Sight Mount. From the TEXT characteristic “GENERAL CHARACTERISTICS ITEM DESCRIPTION” text extraction extracts specification QQ-A-601, Alloy 356.0, and Temper T6. From the title of QQ-A-601 (FIG.7) it is inferred that the part is Aluminum and a Sand Casting. From Table II in QQ-A-601 (FIG.8) the chemical composition of Aluminum Alloy 356.0 is inferred. From Table III in QQ-A 601 (FIG.9) it is inferred that the material, Aluminum Alloy356.0 with temper T6 has mechanical properties, 30,000 psi tensile strength, 20,000 psi yield strength, and 0.0039 in/in extension under load.

The OBDM

FIG.12illustrates how portions of the QQ-A-601F specification are organized in an OBDM (ontology based digital model) according to the invention. The SPECIFICATION CLASS includes reference to the relevant specifications. In this simplified example, the SPECIFICATION CLASS includes references to external specifications found in the document QQA-601. Here, for simplicity, only one is shown, ASTM B557.

The specification class QQA-601 is subdivided into the PROCEDURE CLASS and the MATERIAL CLASS.

THE PROCEDURE CLASS includes all of the procedures (and processes) in the specification. For simplicity, only the Quality Assurance branch of the model is shown. This branch has several sub-classes. The last sub class is TENSION TESTING; this sub class references the ASTM specification that is a member of the SPECIFICATION CLASS above. There is a secondary relation between the TENSION TESTING sub class and the ASTM instances in the SPECIFICATION CLASS. Note that these TENSION TESTING instances reference specific figure in the ASTM document. This would be linked data in a semantic technology model.

The MATERIALS CLASS illustrates primary relations that trace directly to tables in the document. The actual cells in the table are linked data in the semantic model. Here, for simplicity, only portions of two tables are shown: the ALLOYS AND TEMPERS (TABLE I) and the CHEMICAL COMPOSITION (TABLE II). Table I includes three attributes, each having a value, i.e. alloy: 208, description: 4% copper silicon, temper: F, T5. Table II includes seven attributes, each having a value, i.e. alloy: 208, Si: 2.5-3.5, Fe: 1.2, Cu: 3.5-4.5, Mn: 0.50, Mg: 0.10, Cr.

The Ontology Based Digital Model can be defined using a public domain ontology definition language such as OWL/RDF. The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. The languages are characterized by formal semantics and RDF/XML based serializations.

A presently preferred language for constructing the OBDM is illustrated in APPENDIX II, below, which includes both syntactic and semantic vocabulary classes and properties. As used herein, the term “SWISS” is used to describe the ontology (as well as the invention in general), as in the Swiss Ontology. SWISS™ is an acronym, coined by the applicant that means “semantic web for interoperable specs and standards”. SWISS™ is a trademark of the applicant for an online service implementing the invention described herein as well as related goods and services. For convenience the SWISS™ ontology is separated into two components: the syntactic ontology and the semantic ontology. The syntactic ontology models the documents themselves, which consist of titles, sections, paragraphs, tables, figures, etc.; essentially words. The semantic ontology models the concepts that are talked about in Specs and Standards; e.g., connectors, testing methods, and plating processes.

Syntactic Ontology

There are several semantic web vocabularies that provide ways to treat documents as resources, and to associate metadata such as author, publisher, and format with those resources. However, in order to create an interoperable digital specification library, the invention creates a “syntactic” model that treats subdivisions of a specification document as resources. These subdivisions may include sections and subsections, tables and table constituents (rows, cells), lists and list items, footnotes, and paragraphs.

The SWISS™ vocabulary provides several advantages: It allows direct references where they are given explicitly in a document (e.g., to tables or sections). It allows the efficient retrieval of specific document divisions associated with specification requirements and other semantic concepts. This is particularly useful in applications that draw on information from several documents (as explained by example below with reference to The User Interface). When the semantic model is being built, information about the structural subdivisions and their relationships play a role in helping to guide extraction and classification.

One of the difficulties in expressing rich documents, and being able to reconstruct a reasonable facsimile of the original document, is the necessity to maintain some information about formatting, hyperlinking, and semantic relationships. For example, whether text is bold or italicized, superscripted or subscripted, or if a certain portion of text refers to a specified topic. In order to accomplish this, the invention uses a text container class, that has an attribute pointing to the literal, unadorned string, along with a collection of annotations that describe formatting and linking information. This means that when it is desirable to indicate that a document or section has a title, the invention is pointing to a complex resource rather than a string literal, so it can't directly apply the dcterms:title predicate. Instead, it points to a resource of type cnt:ContentAsText, which then points to the literal string using the cnt:chars predicate. The invention can infer the dcterms:title property to be this literal.

Semantic Ontology

The semantic ontology contains classes and predicates that model the content of Specs and Standards, i.e., their meaning. At an abstract level, the semantic ontology describes the classes of things that Specs talk about, the constraints imposed on those things, and where in a Spec document those constraints are described. There are two kinds of classes that make up the semantic ontology, called Subject classes and Requirements classes. Subject classes model sets of things that are (or could be) described in Specs and Standards. Requirement classes model requirements (or constraints) imposed on Subject classes, i.e., requirements that things in a subject class must satisfy.

The subject taxonomy has several major subsections, which are identified by immediate subclasses of the root Subject class. These Subject classes correspond to the major different kinds of things used and defined in Specs. Currently proposed such classes include: Parts, Testing Methods, Manufacturing Processes, Environments, Materials, and others. The complete details of these sub-ontologies are not specified in the SWISS™ standard. For example, the Part sub-ontology could be based on the UNSPSC (United Nations Standard Parts and Services Code) taxonomy, or it could be based on the Federal Cataloging System's Item Name Codes. The material ontology could include all UNS materials and their codes and properties. For full interoperability, implementations of this standard will agree on which such sub-ontologies to use. But these sub-ontologies are large, complex, and require extensive domain expertise, so it is appropriate to separate their specifications from that of the SWISS™ Ontology.

As in the syntactic vocabulary, the invention uses constructed, user understandable URIs so that they can be generated from a reference to a target, without full knowledge of the target document.

The User Interface

An exemplary user interface according to the invention is shown through the use of a web browser1000as seen in screen shots ofFIG.13et seq. Once logged into the server, the browser displays the user interface in the context of four pull down menus: “Action”1001, “View”1003, “Tools”1005, and “Help”1007.

User (Access and Navigation) Guide

FIG.13shows the browser screen1000with the four pull down menus1001,1003,1005,1007mentioned above.FIG.14shows the “active document screen”1009and the “companion panel”1011. As will be described in more detail below, other documents linked in the active document can be displayed in the companion panel1011. The companion panel is also used to compose “transclusion compositions” as described in detail below with reference toFIG.32et seq.

Action Menu

The pull down (or drop down) Action menu1001inFIG.13includes five selectable choices illustrated inFIG.15. These are: “Load specification to browse”1013, “Load composition to browse”1015, “Create new composition”1017, “Load composition to edit”1019, and “Clear companion panel”1021. The functioning of the Action menu1001is also illustrated in the flow chart ofFIG.54.

FIG.16shows exemplary options revealed from the “Load specification to browse” option. In a dialog box123, several specification categories are listed in a listing1025and the bottom of the dialog has open and cancel buttons1027and1029, respectively. As illustrated, the listing1025includes names of standards publishers such as “ASTM” (American Society for Testing and Materials), “BOEING” (Boeing internal standard), “CID” (commercial item descriptors), “FED” (federal specifications), “MIL” (military specifications), “NGC” (Northrup Grumman internal specifications), “SAE” (Society of Automotive Engineers), and “XSB” (applicant's internal specifications). Which groups of specifications are available to a user depends on the user's identity and security clearance. The publisher “XSB”, being the user's organization, will include documents composed and authored with the use of the invention. As illustrated inFIG.16, the “Open” button is “greyed out” because no document has yet been selected to open.

Each of the categories listed in the listing1025can be expanded by selecting it with the mouse pointer (or arrow keys). For example,FIG.17shows an expanded listing1025for “MIL” specifications1031with specification document “MIL-DTL-1222 J: Studs, Bolts, Screws and Nuts For Applications Where A High Degree of Reliability Is Required; General Specification For” selected. After clicking on “Open”1027, the selected document1035appears in the active document screen1009as shown inFIG.18and a TAB1037for the document is created and displayed to the left of the document.

When a user selects “Create new composition”1017from the Action menu (seeFIG.15) a new dialog box1039(FIG.19) appears. The dialog1039includes four fillable fields: “Authority”1041, “Designator”1043, “Version”1045, and “Title”1047as well as the Create1049and Cancel1051buttons. The Authority1041defaults to the organization of the user, in this example the applicant XSB, and cannot be changed in this dialog. The Designator1043may default but is freely editable, here shown as “XSB-EX1”. Version may default to a sequential alphanumeric but is freely editable in this dialog; here it is simply “A”. Title will default to “Extract from [name of document selected previously and currently being displayed in the main document window]”; here it is “Extract from MIL-DTL-1222”.

Turning now toFIG.20, the new composition is created it is displayed in the companion panel1011. The designator and version (“XSB-EX1-A”) is shown as a window title1053and a separate menu bar1055is provided for the new composition1057entitled “Extract from MIL-DTL-1022”. The selected document1035in screen1009from which the new composition is being built is still shown in the active document screen. Below the composition1057, a section1059titled “References” is displayed. As seen inFIG.20, the menu bar1055includes the “Save” button and three arrows, all described in more detail below with reference toFIG.21.

Titles of sections extracted from the selected document1035shown in screen1009are displayed in the References section1059as shown inFIG.21and illustrated in the flow chart ofFIG.55. There it can be seen that the new composition includes section 1.2.1 (“Configurations, types and styles”) of the selected document (which is shown selected in the having been scrolled to that position using the scroll bar1060). The list in1059is managed through the menu bar1055that includes an “add” function indicated by the right pointing arrow1061, up and down placement arrows1063which move the items in the list up and down, and a “Save” button1065. As illustrated in window1009, the section 1.2.1 of the selected document1035is highlighted in a conventional manner (e.g. click and drag) as it is darkened and the right pointing arrow1061is clicked to move that link to the list in1059.FIG.22shows that three sections have been added to the list1059, the most recent being 1.2.3 (“Coatings for steel fasteners”) which is highlighted inFIG.22. In addition, the list in1059also includes “(section 1.2.2: Material grades and conditions)”. The sections in this list1059will comprise the “new composition”. As illustrated inFIG.55, pressing the arrow1061in the companion panel gets the reference to the selected fragment, adds the reference to the current composition and displays the updated composition in the companion panel (1059inFIGS.21and22). Clicking on the save button1065saves the composition as a linked data model in the RDF triple store described above.

Once a composition has been created and stored, it can be retrieved (seeFIGS.15-17) using the “Load Document to View” option from the Action menu.FIG.23illustrates the menu1025(described above) with the XSB documents listed by expanding “XSB”. This is accomplished by clicking on the horizontal arrowhead to the left of the “XSB” alphanumeric. When expanded, the listing show the arrowhead pointing down “▾XSB” As illustrated, the composition just created (“XSB-ES1-A: Extract from Mil-Dtl-1222”) is highlighted in the list. When so selected, clicking on the Open button, the document1035will appear in the active document screen1009and the references that make up the document will appear in the companion panel references list1059as shown inFIG.24.

If a link listed in the references of the selected document1035in the active document screen1009is selected, the associated text (e.g., section 1.2.2) is displayed in the active document screen1009and a corresponding tab1067(listing the title of the expanded section) is added to the left column as shown inFIG.25. As shown inFIG.25, the expanded section 1.2.2 includes a three column table with the headings ALLOY TYPE, MATERIAL Grade, and CONDITION, for example Aluminum, 2024, Solution Treated and Naturally Aged.

Compositions can also be edited using the Load Composition to Edit selection from the Action menu. Editing is done by moving links in the references list1059, by selecting one and using the up and down arrows1063to reorganize the list and the consequent appearance in the composition. In this mode, more sections can be added to the composition as well. Sections from other specifications can also be added to the composition as described in more detail below with reference toFIG.53. The Action menu also includes a Clear Companion Panel option (described above). If this is selected, the companion panel is cleared and closed and any unsaved changes will be lost.

View Menu

The view menu1003is shown expanded inFIG.26. It lists six options: “Open link in new tab”1069, “Expand link text in place”1071, “Expand references in composition”1073, “Do not separate references in compositions”1075, “Expand references from semantic links”1077, and “Do not expand references from semantic links”1079. It will be noted that some of the menu items have the word “(selected)” appended to them. That is because the View menu is a set of preferences determining how information is displayed in the active document screen1009(aka browser panel) according to three options separated in the menu by horizontal lines and as listed above. The selections “Expand references in composition”1073, “Do not separate references in compositions”1075are illustrated in the flow chart ofFIG.56with reference to the screen shots ofFIGS.24-245,26,29, and53.

Two types of links may appear in a document displayed in the Browser Panel1035, syntactic links and semantic links. Syntactic links are links to other sections, tables, figures, etc. within the document or another document. Semantic links are references to categories of item such as types, grades, classes, methods, etc. and/or other referenced specifications. A semantic link could refer to categories of items within the current document or categories within a referenced specification. It can also refer to a referenced specification without any category reference. Semantic links show relations between these concepts and where they are described even if the words or phrases used to describe the concepts are different. These links, unlike standard hyperlinks are multi-directional and may be one-to-many or many-to-many. These concepts can be the same as Subjects in the ontology described in the early part of this application with reference to the digital model. In the following Figures, semantic links are highlighted in green and syntactic links are highlighted in blue in countries where color drawings are permitted. They are also described as such for documents that are not reproduced in color.

Semantic links exhibit intelligence regarding concepts regardless of the words used to describe the concepts. Currently, the invention uses the Ontology Directed Extractor (or a variation thereof) that is explained in co-owned previously incorporated U.S. Pat. No. 7,542,958 to create semantic links According to the invention, and as described herein, “context” is used to “shade” the meaning of semantic links. Context is defined by the document from which a semantic link is drawn. For example, context may be determined by the name of the document, the place in the document to which the semantic link points, and the text surrounding the linked portion of the document.

If “Open link in a new tab”1069option is selected, clicking on a syntactic link will open a new tab in the left column and the target of the link displayed in the browser panel1009. If “Expand link text in place”1071option is selected, clicking on a syntactic link will insert the target of that link in the current document display.

FIG.27shows the result of clicking the syntactic link to section 6.1 in section 1.1 of MIL-DTL-1222 when the first option (1069inFIG.26) is selected. The tab is shown at1081and includes the title of the section and the document name.FIG.28shows the result when the same link is clicked with the second option, “Expand in place” (1071inFIG.26) selected. Notice inFIG.28that, with the second option (1071) selected and a link expanded, there is now the option “click to collapse”1036the link (i.e. no close option in a tab on the left side since there is no tab for this expanded section).

The “Expand references in composition”1073and “Do not expand references in compositions”1075options determine how references in a composition1035are treated when a composition is opened in the browser panel1009. With the first option (1073) selected, clicking a reference will expand or collapse that reference in place and a composition is loaded with all links expanded. With the second option (1075) selected the reference is opened in a new tab when the reference is clicked.FIG.29illustrates opening the XSB-EX1-A composition with the first option selected.FIG.30illustrates clicking the first reference in XSB-EX1-A with the second option selected.

FIG.31shows a dialog box1083for opening a semantic link with a button1085for “New Tab” and a button1087for “Companion” panel.FIG.32shows the result of clicking on “Companion” panel button1087.FIG.33shows the result of clicking on the “New Tab” button1085. A new tab1089is created showing the title of the semantic link in green.FIG.34shows the result of clicking on the “Companion” panel option1087with the option “Do not expand semantic links” (1079inFIG.26) selected.

FIG.35shows the result of selecting and “Do not expand references from semantic links” (1079inFIG.26).

The foregoing description of the User (Access and Navigation) Guide shows how syntactic and semantic links can be followed between documents and how transclusion can be used to bring sections from multiple documents from different standards and different standards organizations together in a tailored composition. The next section shows examples of creating specific custom compositions using the transclusion features of the invention.

Transclusion (Editor) Guide

The invention provides the ability to create custom compositions that collect sections from multiple different specifications from different sources in a single composition document. As used herein, this process is called “transclusion” and the result of the process is called a “tailored composition”.

It will be appreciated that the editing systems allow transcluded sections to be added or deleted without affecting other sections. Moreover, composition text may be added independently of the transcluded sections and the text and transcluded sections will “wrap” in a logically desired manner.

Example—Corrosion Resistant Carbon Steel Bolts

Open

The document1035(MIL-DTL-1222 “STUDS, BOLTS, SCREWS AND NUTS FOR APPLICATIONS WHERE A HIGH DEGREE OF RELIABILITY IS REQUIRED: GENERAL SPECIFICATION FOR”) is loaded (using the Action menu) into the browser window1009as shown inFIG.18and as scrolled down, as shown inFIG.36, to Section 3.6 “Protective coating or treatment”. Scrolling farther in the document, the user comes to Section “3.6.1 Carbon and alloy steels”1091. In particular, in this example, the user is interested in “mechanically deposited zinc coatings”. For these coatings, there is a semantic link1093in Section 3.6.1 to “ASTM-B695, Type II”. This is shown in green type in countries that permit color patent drawings. According to the presently implemented embodiment it will appear in green type on a user's screen. There are several other semantic links shown on this portion of the document1035. All are indicated in green type and are also underlined.

Semantic and Syntactic Links

FIG.37illustrates the semantic link1093opened in the companion panel1011. Note that the link is to a particular section in a different document from a different standard organization. The semantic link here leads beyond the MIL domain to the ASTM standards. The relevant portion of ASTM standards, ASTM-B695 (section 8.3.3), is displayed in the companion panel1011and the displayed portion has its own semantic links “Type II”1095. Clicking on the semantic link1095to “Type II” brings up an additional pane of information in the companion panel1011. Note that the link is to a particular section describing an ASTM B695 Type II concept in a different document from a different standard organization. The semantic link here leads beyond the MIL domain to the ASTM standards.

FIG.38shows ASTM-B695 (section 3.2-Types)1097in the companion panel1011. There the types “Type I” and “Type II” are listed as semantic links and each is provided with a syntactic link appendices. For example “Type I—As coated without supplementary treatment (Appendix X2.1)” and “Type II—With colored chromate conversion treatment X2.2)”. The syntactic links are illustrated in blue and underlined.FIG.38also shows ASTM-B695 (section 6.5.2). Thus it can be seen that the semantic link from MIL to ASTM doc is to multiple sections describing Type II in the ASTM doc.

Scrolling through the companion panel1011brings the user to ASTM-B695 (section 6.2.5.1: Colored Chromate Conversion Treatments (Type II)) as shown inFIG.39.

Other important references in the semantic link to ASTM-B696 Type II are: Section 8.5.2—constraints on corrosion testing Type II coatings; Section 8.5.3—curing time for Type II coatings prior to corrosion testing; Section 8.3.3—measuring thickness of Type II coatings; and Section 6.5.2—length of time for corrosion testing Type II coatings.

Classes

As the user explores the references to Type II coatings in ASTM-B695, additional links to other sections within this ASTM document and references to other documents are found. Two examples of this are ASTM-B695 Section 8.5.2 that refers to ASTM-B117 for salt spray corrosion testing and ASTM-B695 Section 6.5.2 that states that the number of hours the corrosion test should be run is determined by the coating class. Based on these two references, the user can realize that they need to look more deeply at Class definitions in ASTM-B695 and salt spray test apparatus operation in ASTM-B177. To do this the user can open both of these documents in the Browser Panel1009.

FIG.40shows the result of this action with focus on Section 3.11099of ASTM-B695 shown as tab1101. This section defines the Classes of coating based on the thickness of the coating in micrometers. Determining the length of time a corrosion test should be run is based on the Class of the coating. It will be noted that “classes” are a type of semantic concept.

Tables

Scrolling down, as shown inFIG.41, to Section 6.51103in ASTM-B695 that discusses corrosion resistance the user will see that section 6.5.1 points to Table 1, via a syntactic link1105, for the time requirements for the corrosion test.

FIG.42shows the Table 1 in the browser window1009together with a new tab1107for quick navigation back to the table.

Similarly, the user can review ASTM-B117 for information about performing salt spray corrosion tests.FIG.43shows ASTM-B117 1109 open to section 6—Preparation of Test Specimens1111. In this section, sub-section 6.3 applies to Type II Chromate Coatings. Likewise, Section 7—Position of Specimens during Exposure1113and Section 8—Salt Solution1115, shown respectively inFIGS.44and45, are important information for running the corrosion test.

Expand in Place

Since the corrosion test time depends on the Type II Class and the Type II Class depends on the thickness of the coating, the user may need to determine if MIL-DTL-1222 specifies a coating thickness for mechanically deposited zinc coatings. Going back to MIL-DTL-1222, as shown inFIG.46, that Protective coating thickness is discussed in Section 3.6.31117and refers to Table V1119. If the user selected “Expand link text in place”1071in the “View” menu1003(FIG.26) then clicking on the syntactic link to Table V1119brings up the “place holder”1121view in the Browser Panel1009shown inFIG.47. Notice that this table is not directly displayed. At the time of this writing, the invention has not completely modeled the more complicated tables but an image or “place holder”1121to the table is provided with a hot link1123. Clicking the link1123opens a separate webpage (notice the additional browser tab1125) with the table displayed as shown inFIG.48. The finished software will open the table in place in Browser Panel1009where the place holder1121currently appears.

New Composition

As outlined above, in this example the user has identified all the sections and tables in MIL-DTL-1222, ASTM-B695, and ASTM-B117 that are important for testing the corrosion resistance of carbon steel bolts with mechanically deposited zinc coatings. The user will now assemble a tailored composition which captures the sections of these different specifications in a single document. First the user selects “Create new Composition”1017in the “Action” Menu1001(FIG.15). This gives the user the dialog box1127shownFIG.49which is shown filled out with Designator—XSB-Example 2, Version—1, and Title—Corrosion Resistance of MIL-DTL-1222 Carbon Steel Bolts with Mechanically Deposited Zinc Coating.

Add to Composition

Turning now toFIGS.49and50, the result of clicking on the Create button1129in the dialog box1127is a blank composition1031created in the Companion Panel1011with the designator, version, and title from the dialog box1127. The user can now add references to the reference list1033in this Composition by selecting sections from different documents in the Browser Panel1009and clicking the right facing arrow in the Companion Panel1011next to the “Save” button. SeeFIG.21, right facing arrow1061, save button1065. For example,FIG.51shows MIL-DTL-1222 (section 3.6.1: Carbon and alloy steels)1135selected in the Browser panel1009and inserted into the composition reference list1033in the Companion Panel1011. The user can select a section by clicking on normal text anywhere in that section and can de-select the section by clicking on text anywhere in the selected section. The user will continue this process adding the sections from MIL-DTL-1222, ASTM-B695, and ASTM-B117 that were identified and now appear as tabs1137to the left of the Browser Panel1009. The sections are added in the order that they are inserted. The result of this process is shown inFIG.52with a long list of references1033in the Companion Panel1011. Once the composition has been assembled as shown, clicking the “save” button1065saves the document.

Complete Composition

Now that the composition we created has been saved, the user can open it in the Browser Panel1009by selecting “Load Composition to Browse”1015in the “Action” Menu1001(FIG.15). A dialog box appears (e.g.1025inFIG.23) with the list of saved compositions and the user can select and open a composition for the list. Having previously selected “Expand link text in place” option1071from the View Menu1003(FIG.26) when the document is opened all the references can be expanded and contracted in place. The result of doing this is shown inFIG.53. The composition displayed in the Browser Panel1009contains all the information pertaining to corrosion resistance of MIL-DTL-1222 Carbon Steel Bolts that the user felt was important from MIL-DTL-1222 and the two supporting specifications, ASTM-B695 and ASTM-B117 and which are listed as syntactic links in the Companion Panel1011.

FIG.57illustrates the actions taken by the invention in response to user clicks on linksIf the link is a semantic link, it is determined where to display the link (FIG.31).If it is to be displayed in a new tab, it is determined whether the “expand references from semantic links” option is selected (1077inFIG.26).If yes, the semantic link and its context are opened in a new tab (FIG.33).If no, “Do not expand . . . ” (1079inFIG.26) is selected, only the semantic link is opened in the new tab (FIG.35).If it is to be displayed in the companion panel, it is also determined whether the “expand references from semantic links” option is selected (1077inFIG.26).If yes, the semantic link and its context are opened in the companion panel (1011inFIG.32).If no, “Do not expand . . . ” (1079inFIG.26) is selected, only the semantic link is opened in the companion panel (FIGS.34and37-39).If the link is a syntactic link, it is determined whether the “open link in new tab” option is selected (1069inFIG.26).If yes, the referenced element (section, table, etc.) is opened in a new tab (FIGS.27and42).If no, the “expand in place” option is selected (1071inFIG.26), the referenced element (section, table, etc.) is opened in place where the user clicked.If the link has already been opened, clicking on it will collapse the link to its prior visible state (1036inFIG.28).

This above presented transclusion guide illustrates a specific example of creating tailored documents that assembles sections from multiple linked specifications. This process of transclusion allows the user to tailor documents to specific purposes. Advantages of the tailored composition (or tailored document) include the dynamic nature of the transcluded sections whereby and changes made in the referenced documents are automatically reflected in the tailored composition without the need for any retyping. According to the invention, tailored compositions may be created and shared through collaboration.

Sharing

FIGS.58-60illustrate some sharing features according to the invention.

Referring now toFIG.58, the SWISS system preferably enables documents to be shared easily. Sharing can occur in a number of ways, both active and passive.FIG.58shows a screen having a Share button1140. When it is clicked, a small familiar dialog drops down providing a field1142to enter a recipient (e.g. an email address, a username known to the system, a user group name known to the system, subject, etc.) and a field1144to enter a note. When filled, the Share1146button becomes active. In either case, the Cancel button1148remains active. Sharing in this way will cause a message to be sent to the intended recipient(s) which may contain a link to a page in the system where the document and/or a digital copy of the contents of the document can be viewed. In the case where the recipient is not yet known to the system, the recipient may be prompted to register before being granted access to the document.

An example of “passive” sharing includes suggesting documents to view based on, for example: documents viewed by other users with similar usage patterns, subsequent documents viewed by others after viewing the current document, documents with subjects related to the subject of this document, or other relationships between documents, users or subjects. These suggestions can occur within the application as well as through periodic emails suggesting content of interest.

An example of “in-application” suggestion is illustrated inFIG.59where the tag1150lists a link to another document (section) and a link to an explanation of why it is relevant.

Sub-sections of documents can also be shared by inserting them in a new composition, using transclusion, and subsequently sharing the new composition. Note that when a composition transcludes sections of other documents, only users who have been granted permission are permitted to view this content. For example,FIG.60shows reference1152to a document (section) that requires access permission as shown by the link1154. In cases where access permission is required, the system provides a method for requesting access using a web form. If payment is required to gain access to the specified document, the web form also provides an area to specify a payment method.

Some aspects of sharing according to the invention include the feature that when a digital model is altered, all digital models that reference the altered digital model reflect the alterations as needed. For example, if the referring digital model referenced a section of an altered digital model that has been altered, that alteration appears in the referring document as well. Conversely, the referring document may be altered in a way that alters a section from a referenced document. In this case, the referenced document is also altered correspondingly. This functionality is made possible by the nature and structure of the digital models described herein.

In addition, the nature of semantic links according to the invention permits (or mandates) that a single semantic link in one digital model reference (link to) multiple other digital models containing or relating to the same or related concepts.

Business System Overview (the SWISS™ EXCHANGE)

Referring toFIG.61, an overall system1160is shown schematically. The digital models described above are stored electronically at1162.

Sources1164of data for digital models1162may include customers, enterprise (OEM), suppliers, and standards development organizations/authority (SDO). These inputs may access the digital models1162via tools which are identified in the drawing as “Publishing Services/Publisher APIs”.

Users1166of the digital models1162may include developers, suppliers, OEMs, and industry specialists. Developers may access the digital models1162via tools which are identified in the drawing as “Dev Tools”. Suppliers, OEMs, and industry specialists may access the digital models1162through an application layer which is identified in the drawing as “Applications”.

Additional sources1168of data for the digital models1162may be available via the “semantic web at large”1170, accessed via “Translation and Caching”. These additional sources may include government data (Data.gov.), census data, DBPedia, Geolocations, . . . , for example.

The enterprise systems1172of subscribers may be fully integrated with the system1160via an interface identified in the drawing as “Data Access APIs”. The enterprise systems are identified in the drawing as “Computer Systems: Watson, Wolfram, etc.”, “Mobile Devices: iPhone, Android, Blackberry, Mobile Web, . . . ”, “CAD, PLM, ERP and other Enterprise Software”.

The “Dev Tools” have access to the “Applications” and the “Data Access APIs” as well as standard services and URI services, identified in the drawing as “Std & URI Svcs”.

The business system described is known as “SWISS™ EXCHANGE”. Users (subscribers) of the system pay a subscription fee and have limited access to the digital models and the tools. Users can choose to share digital models among their own members or with other subscribers including customers, suppliers and standards development organizations.

Participating subscribers may control who has access to specific content and when they are able to have access.

Subscribers can add value to a shared digital model (e.g., composition described above) by correcting or extending concepts in the model.

The SWISS™ EXCHANGE according to the invention provides curation for the digital models and the compositions including control of configuration (change) management and provenance (who changed what when), as well as role based access control.

Unlike the prior approaches to specifications documents that focused on the process of writing specifications documents, the SWISS™ EXCHANGE focuses on the process of using the information contained in specification documents. It creates an environment where many users of specifications can communicate requirements to each other. For example, a customer can specify a requirement to an OEM who can create a composition detailing the requirements for use by a supplier. The supplier can modify the requirements and share the modified digital model with the OEM and the customer who can make further modifications to the digital model, etc.

As mentioned above, today specification documents are published for the convenience of authors. The invention sets out a basic shift to publish concepts that are convenient to the user. This is done in a way so that different categories of users can intuitively employ different parts of specification documents in different ways. Additionally, SWISS™ customers may want to control individual access for security, IP protection and other reasons.

For example, some large, multi-hundred page documents define dozens of different product tests, manufacturing methods, etc. These documents aggregate comprehensive knowledge of a domain; many other documents link other concepts to the concepts in these. Different users in the enterprise need different parts of this knowledge, however almost no user needs the whole aggregation.

An industrial engineer might want one subset view so that she can create manufacturing instructions. However the mechanic implementing those instruction will only need a subset of the subset of those concepts in order to complete any one task on the factory floor

The purchasing agent may need another view to create a purchase order for a supplier. A regulatory compliance officer may need yet another view to identify materials that have export restrictions or controls in the country where a product is destined.

Each of these categories of individuals plays a different role in the enterprise. Role based access enables them to avoid the information overload and help the system deliver the correct information for them to do their jobs. Frequently this often means a few properly selected pages or paragraphs that are different from role to role are needed.

Additionally, the author of a specification or composition may want to restrict who sees that creation. An OEM or designer may want to restrict the down stream erosion of intellectual property and ensure that the composition is only delivered to a specific supplier but no others. A specification body may want to ensure that the user has a paid up subscription to the IP etc. Additionally, there may be security issues such as export control that may restrict other classes of users.

Importantly, the system is conceived to handle all these restraints on usage through a variety of provenance and role based access mechanisms. The simplest is to have a table in the database that catalogs the various categories of users (the roles). Another table links SWISS users to their roles and access; this link is used to control access. Potentially, every row (triple) in the database can be controlled. This enables role based access at the individual concept level.

Appendix I

Overview of High-Level Document Structure

At a high level, the XML document looks something like the following:

<spec schemaversion=″0.3″ pagecount=″10″ publicationstatus=″public″><head> ... header information ... </head><body><sections><section id=″s0001″ secnum=″1″ stype=″scope″> ...section contents ... </section>... more sections ...</sections><testmethods> ... zero or more test methods ... </testmethods></body><footnotes> ... footnotes ... </footnotes><tables> ... tables ... </tables><figures> ... figures ... </figures></spec>

List of Allowed Elements and Attributes

spec (attributes: schemaversion, id, pagecount, publicationstatus)headbodyfootnotes (optional)tables (optional)figures (optional)headdesignationdatetitle-prefix (optional)titlemeasuresupersedesinfo (0 or more)bodysectionstestmethods (optional)footnotesfootnote (0 or more)tablestable (0 or more)figuresfigure (0 or more)designation (attributes: authority, version)contains text string of standardized spec designation (e.g. “MIL-DTL-44411”).datecontains publication date in ISO standard format (yyyy-mm-dd)title-prefixcontains title prefix string (e.g. “Standard Test Method for”)titlecontains text-block content (see General Notes above)measurecontains one of the following strings: “METRIC”, “INCH-POUND”, “COMBINED”, “UNKNOWN”, “NOT SPECIFIED”, or “NOT MEASUREMENT SENSITIVE”supersedes (optional)designationdatecontains information about superseded document, including publication date of superseded documentinfo (attributes: name, id)title (optional)eithertextorpara (1 or more)info is intended for general header information not covered by other tags, such as distribution statement, contact info, AMSC, etc. Contents can be single text element, or one or more paragraphs.sectionssection (1 or more)section (attributes: id, secnum, sectype)titlepara or table or list or matheq (0 or more)section (0 or more)para (attributes: id)contains text block information (see General Notes)table (attributes: id, tablenumber, page, class)title (optional)para (optional)row (0 or more)footnotes (optional)row (attributes: id, class, isheader)cell (0 or more)cell (attributes: id, colspan, rowspan, class)contains text block elements (see General Notes)list (attributes: id)item (1 or more)item (attributes: id)para (1 or more)orlistortext block elementsfootnotesfootnote (0 or more)footnote (attributes: id)labeltext block elementstablelabeltext block elementsfiguresfigure (0 or more)figure (attributes: id, page, figurenumber)captionfootnotescaptiontext block elementstestmethodstestmethod (1 or more)this element is intended to contain the “test method” subdocuments that occur in a test method spectestmethod (attributes: id, number)date (optional)titlesection (1 or more)List of Text Block Elements.Each has various attributes, and has string content (except for <br/>).text (attributes: class)plain text element, class may indicate display info such as superscript, italics, bold, etc.reference (attributes: class, rid, linktype)links to another element via ridfootnoteref (attributes: class, rid)links to a footnote via rid. Note that this tag may be empty, in which case the label to insert in the text can come from the footnote node.docdeclare (attributes: id, docdesig, doctitle)used to indicate the first appearance of a cross-referenced spec in the document. Other references to spec link to this via rid.brIndicates a desired line break in the text. Must be empty.matheq (attributes: id, display, eqnid, eqno)Intended to wrap mathml-type equation info. In practice, we are currently passing content as a CDATA block.

Appendix II

Syntactic Classes

swiss:Specification

This is the root for a given specification, and is associated with the primary designation (but not version) of the spec. It is related to specific versions via the dcterms:hasVersion property. Individuals of this type provide a target resource for spec references that don't give version info. Redirection to a specific version may be application dependent (give latest version, or give version from a specific time). It may be a subclass of dcterms:Standard.

swiss:SpecificationDocument

This is the root for a specification document. It is associated with both a primary designation and a secondary designation (version). It is associated with document sections via the swiss:containsSection property. It uses dcterms:title and dcterms:date to indicate title and creation date. It may be a subclass of foaf:Document.

swiss:DocumentPart

This is the parent class for document components such as Section Table, etc. and includes the following subclasses:swiss:Section rdfs:subClassOf swiss:DocumentPartNumbered sections and subsections for document. Should have a section number, can have a title. Also used for “Note” sections in ASTM documents.swiss:Subdocument rdfs:subClassOf swiss:DocumentPartNumbered test method, for documents with multiple test methods. May have date and title, and may contain numbered sections.swiss:Table rdfs:subClassOf swiss:DocumentPartswiss:TableRow rdfs:subClassOf swiss:DocumentPartswiss:TableCellrdfs:subClassOf swiss:TextContainerOne table cell.swiss:Listrdfs:subClassOf swiss:DocumentPart Used to indicate a list structure in the document. Contained by a Section.swiss:ListItemrdfs:subClassOf swiss:TextContainer Individual element in list. Contained by List. May have a label. Can contain text or nested list.swiss:Paragraphrdfs:subClassOf swiss:TextContainer Unit of textual information. Should have a “hasText” attribute.swiss:Equationrdfs:subClassOf swissDocumentPart Encapsulates equation info. Most likely xml in mathml format.swiss:Footnoterdfs:subClassOf swissDocumentPart Footnote to document or table.swiss:Figure rdfs:subClassOf swissDocumentPart Includes a caption, and optionally a pointer to binary content.swiss:Infordfs:subClassOf swissDocumentPart Informational text from spec header. Has name, title, and textual information. Can be used, for instance to encapsulate the “contact information” associated with government documents.
swiss:Annotation

This is the parent class for text annotations. Has integer properties, annotationOffset, annotationLength, and the Object-Object propertyswiss:annotatesResource to indicate which text resource is being annotated. It may also have the swiss:referencesResource property. It includes the following subclasses:swiss:DocDeclareAnnotationrdfs:subClassOf swiss:Annotation Includes triples for docDesignator, docTitle, dcterms:references.swiss:FootnoteAnnotationrdfs:subClassOf swiss:Annotation Includes triple for swiss:referencesResource, which should point to a Footnote object. In current use, the length should be zero, and the footnote label is obtained from the Footnote object.swiss:LineBreakrdfs:subClassOf swiss:Annotation Used to indicate linebreak within text. Presumably, annotationLength is ignored.swiss:LinkAnnotationrdfs:subClassOf swiss:Annotation Usesswiss:referencesResource to indicate a link to a Specification, SpecificationDocument, or DocumentPart.swiss:SemanticLinkrdfs:subClassOf swiss:Annotation Uses swiss:referencesResource to indicate a semantic link to an ontology node.
swiss:TextClassAnnotationrdfs:subClassOf swiss:Annotation Indicates text class (literal string) using swiss:styleClass predicate.
Syntactic Properties
Object-Object Properties

These are properties that link one resource to another (URI to URI). They include the following properties:dcterms:references Used to indicate a reference from specification document to another specification.dcterms:hasVersion Used to relate primary specification designation with document versions. (e.g. “ASTM-A307 hasVersion ASTM-A307_10”).swiss:containsDocumentPart Used to indicate a child of specified resource.Note: Could be subclass of dcterms:hasPart.swiss:containsSectionList This is used to encapsulate a list of sections or subsections. Used to maintain ordering. Note that a section is related to parent section directly via containsDocumentPart and through list structure.swiss:containsElementList This is used to encapsulate an ordered list of document parts.swiss:annotatesResource Used to indicate which resource is being annotated. Should point to a cnt:ContentsAsText object. There should be exactly one per annotation.swiss:referencesResource Used to indicate what resource the annotation is linking to. The referenced resource could be a document, section, table, semantic concept, etc.swiss:hasText Used to identify text content of a document part. Should point to a cnt:ContentsAsText object. There should be no more than one of these per documentPart.swiss:hasCaption Used to indicate figure caption.swiss:hasLabel Used to indicate label for list item, note, or footnote. The invention uses this rather than rdfs:label because text may be annotated. Should point to a cnt:ContentsAsText object.swiss:hasTitle Used to indicate section or document title. The invention uses this rather than dcterms:title because text may be annotated. Should point to a cnt:ContentsAsText object. There should be no more than one per document part.swiss:supersedes References superseded document.swiss:hasPageImageswiss:hasDocumentImageswiss:hasInfo Used to relate an “Info” header object with a document.
Object-Data Properties

These are properties that link resources with literal values.swiss:annotationOffset Non-negative integer indicating beginning of annotation in text.swiss:annotationLength Non-negative integer indicating length of annotation.swiss:primaryDesignation Literal string denoting primary designation identifying specification (e.g. “ASTM-A307”).Note: could be subclass of dcterms:identifier.swiss:secondaryDesignation Literal string denoting version information.swiss:sectionNumber Literal containing section number.swiss:sectionType Literal containing information about section type (e.g. “scope”, from tags in ASTM).swiss:hasName Used to indicate name of info block.swiss:docDesig swiss:docTitle Used in DocDeclareAnnotationswiss:styleClass Used in TextClass annotation, may also apply to DocumentPart objects.swiss:rowSpan swiss:columnSpan Integer literals, apply to TableCell objects.swiss:tableNumber swiss:figureNumber swiss:subdocumentNumberswiss:mathEqId swiss:mathEqNumber swiss:mathEqContent swiss:mathDisplay Used to characterize math equations in text.swiss:titlePrefix Used to indicate title prefix for document, usually something like “Standard Test Methods for”.swiss:measureType Used to indicate document measure type, such as “Metric”, “Inch-Pound”, etc.swiss:publicationStatus Used to indicate SWISS™ publication status. “public” status will result in display on public site.swiss:specPageCount Can be used to indicate number of pages in original document.swiss:pageNumber Used to indicate page number in original document, typically associated with figures or tables.dcterms:creator Used to indicate specification authority (e.g. ASTM, MIL, etc.)dcterms:title Used in cases where title can be expressed as a literal string.dcterms:date Used to indicate publication date.
Semantic Classes

These classes include:swiss:Subject: Root of the subject semantic ontology. All classes in the semantic ontology are (rdfs:subClassOf) descendents of this class.swiss:Part, swiss:ManufacturingProcess, swiss:TestingMethod, swiss:Material,swiss:Environment . . . : each is a rdfs:subclassOf swiss:Subject, and represents a major class of subjects, i.e., what specifications and standards describe. These are roots of domain-specific sub-ontologies. The details of these sub-ontologies are not specified in this standard.swiss:Subject/{SpecID}: For each spec or standard, with ID SpecID, a class of “SpecID”, representing the class of subjects described in that spec. Each is a Subject class, and is a subclass of the major class of subjects under which it falls (or of Subject if it would be under multiple major classes.) For example, swiss:Subject/MIL-DTL-17361G would be the name of the class that represents all things specified in that specification. In this example, it would be a particular kind of circuit breakers and it would be in the appropriate place in the swiss:Part sub-ontology.swiss:Subject/{SpecID}/{type|class*|grade*| . . . }{*}: Many specs and standards further subdivide their subjects into named subclasses, using type, class, and/or grade refinements. For specs and standards that define such subclasses, there is a Subject class for each such defined subclass of subjects, such as “SpecID type=1,class=B,grade=II”, which shall be a subclass of the corresponding “SpecID”. These are called “Type/Class/Grade classes.” For example, MIL-DTL-17361G defines a circuit breaker of type ABQ-A50, and so there would be a class swiss:Subject/MIL-DTL-17361G/type+ABQ-A50.swiss:Requirement/{SpecID}{*}: For each set of related requirements, described in a portion of a spec or standard (e.g. SpecID) there is a Requirements class that is a superclass (wrt rdfs:subclassOf) of all subject classes which must meet those requirements. For example subsection 3.5.14.4 of MIL-DTL-17361G describes the allowable temperature rise for a circuit breaker. So there could be a Requirements class swiss:Requirement/MIL-DTL-17361G which has swiss:Subject/MIL-DTL-17361G as a subclass (rdfs:subclassOf). The extension of this Requirements class would be all circuit breakers that have the allowable temperature rise.
Semantic Properties

These properties include:swiss:describedBy: Domain is a Requirements class in the Subject taxonomy. Range is swiss:DocumentPart. This represents the fact that the set of requirements is described in the indicated part of the specification. Using the circuit breaker example above, there would be a triple:swiss:Requirement/MIL-DTL-17361Gswiss:describedByswiss:Documents/MIL-DTL-17361G #Section_3.5.14.4>indicating that that requirement is described in that section.
Other Semantic Predicates

The actual “semantics” of a specification is represented by predicates that relate the above-described Requirement classes to (literals or) classes in the domain-specific sub-ontologies. For example, there might be a predicate testWithMethod that relates a particular Requirements class (that constrains particular Type/Class/Grade Subject class) to a test method in the “Test Methods” sub-ontology. These predicates (and the classes in the domain specific sub-ontologies) are able to evolve as needed.

There have been described and illustrated herein several embodiments of a SYSTEMS AND METHODS FOR CREATING, EDITING, STORING AND RETRIEVING KNOWLEDGE CONTAINED IN SPECIFICATION DOCUMENTS.

While particular embodiments of the invention have been described, it is not intended that the invention be limited thereto, as it is intended that the invention be as broad in scope as the art will allow and that the specification be read likewise. It will therefore be appreciated by those skilled in the art that yet other modifications could be made to the provided invention without deviating from its spirit and scope as claimed.