Abfragen erstellen und ausführen

Machmal ist es erforderlich, eine bestimmte Gruppe von Artefakten zusammenzustellen. Möglicherweise möchten Sie eine Gruppe fehlgeschlagener Tests kompilieren, die in einen Statusbericht aufgenommen werden sollen. Über Abfragen können Sie eine Gruppe von Artefakten zusammenstellen und die zu bearbeitenden Ergebnisse anzeigen.

Vorbereitende Schritte

Abfragen werden in der Abfragesprache SPARQL geschrieben. (SPARQL ist die Abfragesprache für Linked Lifecycle Data.) Um Abfragen völlig neu zu erstellen, müssen Sie daher mit der Abfragesprache SPARQL vertraut sein.

Informationen zu diesem Vorgang

Den folgenden Schritten können Sie entnehmen, wie Sie drei benutzerdefinierte Abfragen erstellen und ausführen. Jede Abfrage ist mit Anmerkungen versehen, sodass Sie die Abfrage entsprechend Ihren Anforderungen anpassen können.

Vorgehensweise

  1. Rufen Sie das Dialogfenster Abfrage auf.

    Wählen Sie im Hauptmenü nacheinander Abfragen > Abfrage erstellen aus.

  2. Geben Sie im Dialogfenster Abfrage einen Namen für die Abfrage ein.
  3. Geben Sie eine Beschreibung der Abfrage ein.

    Diese Beschreibung wird angezeigt, wenn Sie in der Anzeige Eigene Abfragen oder Gemeinsame Abfragen den Mauszeiger über eine Abfrage bewegen.

  4. Speichern Sie diese Abfrage im Ordner Eigene Abfragen.

    Immer, wenn Sie eine Abfrage zur eigenen Verwendung oder zur Verwendung durch Ihr Team erstellen, sollten Sie die erstellte Abfrage in dem privaten Ordner Eigene Abfragen speichern. Wenn Sie die Abfrage dann getestet und zwecks Zusammenstellung der von Ihnen benötigten Artefakte optimiert haben, können Sie sie für die gemeinsame Nutzung freigeben.

  5. Ändern Sie den Code der Beispielabfrage, indem Sie ihn ersetzen oder modifizieren.
    • Ersetzen Sie den Code der Beispielabfrage. Wählen Sie aus den drei Beispielen unten eine Abfrage aus. Kopieren Sie die Abfrage und fügen Sie sie in das Feld ein.
    • Ändern Sie alternativ den Code der SPARQL-Standardbeispielabfrage mit Ihrem angepassten Code.

      Es sind Standardbearbeitungstasten für Ihre Plattform verfügbar. Beim Bearbeiten der SPARQL-Abfrage können Sie Strg+Leertaste drücken, um Hilfe zum jeweiligen Inhalt zu erhalten.

      Wenn Sie keines der angezeigten, sondern ein anderes Präfix benötigen, klicken Sie auf die Schaltfläche Präfix hinzufügen.

      Wenn Sie einen Parameter festlegen möchten, um eine Abfrage zu erstellen, die einen Benutzer zur Eingabe eines Werts auffordert, können Sie den Parameter jetzt oder später hinzufügen. Über Parameter wird ein Merkmal für eine Gruppe von Artefakten, nach denen gesucht wird, angegeben. Sie können beispielsweise einen Parameter hinzufügen, um nach Artefakten zu suchen, die seit einem bestimmten Datum oder von einem bestimmten Benutzer geändert wurden.

      Durch das Hinzufügen von Aufforderungsparametern zu einer Abfrage wird diese flexibler, da Benutzer bei der Ausführung der Abfrage Parameterwerte angeben können. Parameterwerte werden in die Abfragezeichenfolge eingesetzt und die Abfrageergebnisse dadurch angepasst.

      Parameterwerte liegen meist in einer Form wie $arbeitselement$ vor.

      Die vollständige Syntax eines Ausdrucks, den Sie als Parameter hinzufügen können, kann komplex sein. Eine typische Form sieht wie folgt aus:

      $name$

      $name.feld$

      $name;format="formatString"$

      $name.feld;format="formatString"$

      StringTemplate ist eine Vorlagenengine, die dazu verwendet wird, Parametersubstitutionen in einer SPARQL-Abfragezeichenfolge zu implementieren. Rational Engineering Lifecycle Manager unterstützt keine Parameter mit Leerzeichen, obwohl StringTemplate Parameter mit Leerzeichen unterstützt.

      Eine bereinigte Menge der Syntaxregeln für StringTemplate finden Sie unter StringTemplate cheat sheet. Sie müssen $...$ als Begrenzungszeichen verwenden, nicht <...>, die in dem Cheat-Sheet angegeben sind.

      Ziehen Sie den Abschnitt zur Fehlerbehebung bei Abfragen mit Parametern Troubleshooting parameterized queries zurate, wenn Sie Parameter in Ihrer Abfrage verwenden möchten.

      Eine Tabelle mit Datums-, Aufzählungs- und Systemparametern sowie Beispielausgaben zu den einzelnen Parametern finden Sie in Vordefinierte Abfrageparameter.

      Weitere Informationen zum Festlegen von Parametern im Dialogfenster Abfrage erhalten Sie, wenn Sie den Mauszeiger auf das kleine Fragezeichen rechts neben dem Abschnitt SPARQL-Abfrage bzw. Parameter setzen, damit die Direkthilfe angezeigt wird.

  6. Erstellen Sie die Abfrage, indem Sie auf Erstellen klicken.
  7. Führen Sie die Abfrage aus, indem Sie auf Ausführen klicken.
  8. Bearbeiten Sie die Artefakte auf der Seite Abfrageergebnis. Klicken Sie zunächst auf ein Artefakt und dann auf den Pfeil rechts daneben, um das Menü anzuzeigen.
    • Artefakt öffnen - Damit wird das native Tool gestartet, in dem das betreffende Artefakt erstellt wurde. In diesem Tool wird das Artefakt angezeigt.
    • Eigenschaften anzeigen - Damit werden die Eigenschaften des Artefakts in einem Ergebnisfenster angezeigt.
    • Analyse starten - Damit wird das standardmäßige Wirkungsanalyseprofil geladen. Klicken Sie auf Ausführen, um die Analyse zu starten.

    Laden Sie die Abfrage als Spreadsheet (.csv) herunterladen, indem Sie auf das Symbol Als Spreadsheet (.csv) herunterladen in der rechten oberen Ecke klicken.

Beispiel

Im folgenden Beispiel wird gezeigt, wie eine Abfrage zu allen dem Benutzer Susan zugeordneten offenen Anforderungen zu technischen Änderungen erstellt wird.

Offene Anforderungen zu technischen Änderungen, die dem Benutzer Susan zugeordnet sind

# Name: Offene Anforderungen zu technischen Änderungen, die dem Benutzer Susan zugeordnet sind
# Beschreibung: Alle offenen Anforderungen zu technischen Änderungen anzeigen, die dem Benutzer Susan zugeordnet sind

# In dieser Abfrage verwendete Präfixe
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX oslc_cm: <http://open-services.net/ns/cm#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?cr ?title ?contrib
WHERE
{
	# Nach allen Anforderungen zu technischen Änderungen suchen - In diesem Beispiel wird nach Arbeitselementen des Typs "Aufgabe" gesucht; hier eine Änderung entsprechend dem von Ihnen verwendeten Arbeitselementtyp vornehmen
	?cr rdf:type oslc_cm:ChangeRequest ;
		dcterms:type "Task"^^xsd:string ;
		dcterms:title ?title ;
		dcterms:contributor ?contrib .

	# Die Namenszeichenfolge entsprechend dem gewünschten Benutzernamen ändern
	FILTER regex(str(?contrib),"susan")

	# Nach offenen Änderungsanforderungen suchen (dürfen nicht den Status "geschlossen", "behoben" oder "überprüft" haben)
	# Kann so angepasst werden, dass jede beliebige Kombination von OSLC-CM-Statusprädikaten verwendet werden kann:
	# oslc_cm:closed, oslc_cm:inprogress, oslc_cm:fixed, oslc_cm:approved, oslc_cm:reviewed und oslc_cm:verified
	{
		?cr oslc_cm:closed "false"^^xsd:boolean ;
			oslc_cm:fixed "false"^^xsd:boolean .
	}
	# Beispiel: Mit folgender Alternative zur oben genannten Klausel könnte nach Änderungsanforderungen gesucht werden, die entweder den Status "in Bearbeitung" oder "nicht geschlossen" haben:
	# {
	#	{ ?cr oslc_cm:inprogress "true"^^xsd:boolean } UNION { ?cr oslc_cm:closed "false"^^xsd:boolean }
	# }
}

Im folgenden Beispiel wird gezeigt, wie eine Abfrage zu fehlschlagenden, dem Benutzer selbst zugeordneten Testfällen erstellt wird.

Fehlschlagende Tests

# Name: Fehlschlagende Tests
# Beschreibung: Fehlschlagende, dem Benutzer selbst zugeordnete Testfälle

# In dieser Abfrage verwendete Präfixe
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX oslc_qm: <http://open-services.net/ns/qm#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?testcase ?title
WHERE
{
	# Nach Ergebnissen fehlschlagender Tests und den dazugehörigen Testfällen suchen
	?testResult rdf:type oslc_qm:TestResult ;
		oslc_qm:status "com.ibm.rqm.execution.common.state.failed"^^xsd:string ;
		oslc_qm:reportsOnTestCase ?testcase .

	# Nur die dem Benutzer selbst zugeordneten Testfälle auswählen
	# Die Namenszeichenfolge entsprechend dem gewünschten Benutzernamen ändern
	?testcase dcterms:contributor ?user.
	FILTER regex(str(?user), "tony")

	# Nach den passenden Testfalltiteln suchen
	?testcase dcterms:title ?title .
}

Im folgenden Beispiel wird gezeigt, wie eine Abfrage zu Artefakten erstellt wird, die durch eine Änderung in einer Änderungsanforderung beeinflusst werden.

Artefakte, die durch eine Änderung in einer Änderungsanforderung beeinflusst werden

# Beschreibung: Nach Artefakten suchen, die durch eine Änderung in einer Änderungsanforderung beeinflusst werden
# Folgt Links wie CR->tracks->REQ->[elaboratedBy->REQ | specifiedBy->REQ]->[verifiedBy->TC | elaboratedBy->ME]

# In dieser Abfrage verwendete Präfixe
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX oslc_cm: <http://open-services.net/ns/cm#>
PREFIX oslc_rm: <http://open-services.net/ns/rm#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?cr ?type ?title ?owner
WHERE
{
	?cr a oslc_cm:ChangeRequest ;
		dcterms:identifier ?id ;
		(oslc_cm:tracksRequirement|oslc_rm:trackedBy|oslc_rm:elaboratedBy|oslc_rm:specifiedBy|oslc_rm:validatedBy)* ?uri .
	?uri dcterms:title ?title
	OPTIONAL
	{
		?uri rdf:type/rdfs:label ?type ;
	}
	OPTIONAL
	{
		# Über diesen Teil der Abfrage werden Benutzernamen entweder aus den URIs von JTS-Benutzern oder aus DOORS-FOAF-Einträgen berücksichtigt
		# und es wird das Abrufen des DOORS-Benutzer-URI und des FOAF-Eintrags verhindert.
		{
			?uri dcterms:contributor/foaf:name ?owner
		}
		UNION
		{
			?uri dcterms:contributor ?owner
			FILTER NOT EXISTS { ?owner foaf:name ?x }
		}
	}
}

# Hier entweder eine oder mehrere Arbeitselement-IDs angeben
# oder den kompletten VALUES-Bereich entfernen oder auf Kommentar setzen, um alle Arbeitselemente anzuzeigen
VALUES ?id
{
	"626"^^xsd:string
	"627"^^xsd:string
}

Nächste Schritte


Feedback