Menu

Testing scenario 1.0.0

Tomas Knap Mifeet Tomas Soukup
Attachments
business-register.ttl (4681 bytes)

Testing scenario for release 1.0.0

Login: adm
Password: adm

Insert ontology

  • Add new ontology
    • Label: business-register
    • Data: upload from business-register.ttl (attachement of this document)

Prefixes

Set up pipeline

  • Create pipeline labeled "test" (Add a new pipeline)

Data Normalization

  • Assign Data Normalization (DN) transformer to pipeline "test" (Assign a transformer, Data Normalization)
  • Create a DN rule group "dn-test" (Create a new group)
  • Add a new raw rule (Raw rules->Add a new raw rule)
    • Label: Convert gr:hasCurrencyValue to xsd:float
    • Add new rule component
      • Type: MODIFY
      • Modfication:

        DELETE {?s <http://purl.org/goodrelations/v1#hasCurrencyValue> ?o}
        INSERT {?s <http://purl.org/goodrelations/v1#hasCurrencyValue> ?x}
        WHERE {
        {SELECT ?s (xsd:float(bif:replace(bif:replace(?o, ' ', ''), ',', '.'))) AS ?x ?o
        WHERE {?s <http://purl.org/goodrelations/v1#hasCurrencyValue> ?o.
        FILTER REGEX(?o, '^[0-9][0-9 ]*[.,]?[0-9]*$')
        }}}
* Back to group overview * Add a new raw rule * Label: Convert br:officialNumber to xsd:integer * Add new rule component * Type: MODIFY * Modfication:
    DELETE {?s <http://purl.org/business-register#officialNumber> ?o} 
    INSERT {?s <http://purl.org/business-register#officialNumber> ?x} 
        WHERE {
    {SELECT ?s (xsd:integer(?o)) AS ?x 
    WHERE {?s <http://purl.org/business-register#officialNumber> ?o. 
    FILTER (fn:matches(str(?o), '^\[0-9]+$'))}}}
    
  • Back to group overview
  • Commit changes
  • Back to the transformer instance
  • Assign "dn-test" group to DN transformer instance in "test" pipeline (Assign a group)
  • Assign "Generated from ontology: business register" group to DN transformer instance in "test" pipeline (Assign a group)
  • Back to the transformer assignment overview

Quality Assessment

  • Assign Quality Assessment (QA) transformer to pipeline "test" (Assign a transformer, Quality Assessment)
  • Create a QA rule group "qa-test" (Create a new group)
  • Add a new rule
    • Label: Invalid email address
    • Description: Invalid email address
    • Filter:
       ?s vcard2006:email ?mail. FILTER(!regex(?mail, "^[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$", "i")) 
    • Coefficient: 0.9
  • Add a new rule
    • Label: Publication date after tender deadline
    • Description: Publication date after tender deadline
    • Filter:

      ?s <http://purl.org/procurement/public-contracts#publicationDate> ?p.
      ?s <http://purl.org/procurement/public-contracts#tenderDeadline> ?d.
      FILTER (bif:datediff('day', xsd:date(?p), xsd:date(?d)) < 1)
    • Coefficient: 0.9
  • Add a new rule
    • Label: Invalid gr:hasCurrencyValue price
    • Description: Invalid gr:hasCurrencyValue price
    • Filter:
      { ?s gr:hasCurrencyValue ?price. FILTER(!regex(?price, "^[0-9 ]*([.,][0-9]+)?$", "i")) }
    • Coefficient: 0.9
  • Commit changes
  • Back to the transformer instance
  • Assign "qa-test" group to the QA transformer instance in "test" pipeline (Assign a group)
  • Back to the transformer assignment overview

Blank node remover

  • Assign Blank node remover to pipeline "test" (Assign a transformer, Blank node remover)
  • Back to the transformer assignment overview

Linker

  • Assign Linker (OI) to pipeline "test" (Assign a transformer, Linker)
  • Create an OI rule group "oi-test" (Create a new group)
  • Add a new rule
    • Label: BE-by-number
    • Link type: owl:sameAs
    • Source restriction: ?a rdf:type gr:BusinessEntity
    • Target restriction: ?b rdf:type gr:BusinessEntity
    • Linkage rule:

      <LinkageRule>
      <Compare weight="1" threshold="1.0" required="true" metric="equality">
      <Input path="?a/&lt;http://purl.org/business-register#officialNumber&gt;"></Input>
      <Input path="?b/&lt;http://purl.org/business-register#officialNumber&gt;"></Input>
      </Compare>
      </LinkageRule>
    • Submit
  • Add database output to the rule (Registered database outputs->Add a new database output)
    • Min confidence: 0.95
    • Max confidence:
  • Back to the group overview
  • Add a new rule
    • Label: contact-by-mail-name
    • Link type: owl:sameAs
    • Source restriction: ?x pc:contact ?a
    • Target restriction: ?y pc:contact ?b
    • Linkage rule:

      <LinkageRule>
      <Aggregate type="min">
      <Compare weight="1" threshold="1.0" required="true" metric="equality">
      <Input path="?a/vcard2006:email"></Input>
      <Input path="?b/vcard2006:email"></Input>
      </Compare>
      <Compare weight="1" threshold="1.0" required="true" metric="equality">
      <Input path="?a/vcard2006:name"></Input>
      <Input path="?b/vcard2006:name"></Input>
      </Compare>
      </Aggregate>
      </LinkageRule>
    • Sumbit
  • Add database output to the rule
    • Min confidence: 1
    • Max conficence:
  • Back to the group overview
  • Commit changes
  • Back to transformer instance
  • Assign "oi-test" group to the Linker instance in "test" pipeline (Assign a group)
  • Back to transformer assignment overview

Change default pipeline

  • Back to the list of pipelines
  • Make default on the "test" pipeline

Send data

  • Start Engine (run-engine.cmd/sh in the engine directory)
  • Send data from example-data-isvzus.ttl (run-example-isvzus.cmd/sh from in the odcleanstore-1.0.0/example directory)

Set up label properties

Verify results

  • Check that the pipeline run successfully with all the assigned transformers in the log [pipeline works]
  • Make named graph query using query-named-graph.html from odcleanstore-1.0.0/example-queries directory.
    • Searched URI: http://ld.opendata.cz/resource/isvzus.cz/public-contract/216050 [URI query works]
    • Verify that all the data about the public contract from example-data-isvzus.ttl are returned
    • Check that the newly inserted graph is listed as the source [data correctly stored]
    • Check that the newly inserted graph has correct metadata [metadata correctly stored]
    • (verify that diacritics is displayed properly)
    • Check that the result contains gr:hasCurrencyValue properties of price blank nodes; check that values of gr:hasCurrencyValue are a typed literal (should be xsd:float) [label properties work, DN rule works]
  • Make metadata query for the newly inserted graph (query-metadata.html)
    • check that the graph has correct metadata
    • Check that the score is 0.81 and "Publication date after tender deadline" and "Invalid gr:hasCurrencyValue price" rules matched [QA rules work]
    • Check that the provenance metadata are listed [provenance metadata correctly stored]
  • Make URI query for http://ld.opendata.cz/resource/business-entity/6f7f8340-7364-4e5e-a2d3-bd4fc26eb724