Show me the prompt that would have worked as the first prompt of this session to get this same output with that same input.
This is the prompt I would write if I wanted to reliably reproduce essentially the same HTML from a single prompt:
Given the following list of category names, generate an HTML unordered list (<ul>) representing a hierarchical taxonomy of the categories.
Rules:
1. Organize the categories by conceptual relationships rather than alphabetically.
2. Use nested <ul> elements to represent the hierarchy.
3. You may create additional grouping labels (such as "Tools", "Data Formats", "Programming", or "Ontologies and Vocabularies") when they help organize the existing categories.
4. A category may appear in more than one place if it naturally belongs in multiple hierarchies.
5. If a category is the same as its parent, ignoring capitalization, hyphens, or spaces, do not include it as a child. For example, do not produce:
- XML
XML
- Semantic Web
Semantic Web
6. When a category name is an acronym or other well-known technical abbreviation, display it using its conventional capitalization:
- AI
- CGI
- CSV
- DBpedia
- DITA
- GIS
- GeoSPARQL
- JSON
- JSON-LD
- NoSQL
- OpenStreetMap
- OWL
- RDF
- RDF/OWL
- RDFS
- SHACL
- SKOS
- SPARQL
- SQL
- SQLite
- XML
- XBRL
- XSLT
7. For ordinary words, use readable title case (for example, "Digital Humanities", "Book Reviews", "Legal Publishing", "Knowledge Graphs").
8. Every category that came from the input list must be represented as a hyperlink:
<a href="https://www.bobdc.com/categories/ORIGINAL-INPUT-VALUE">Normalized Display Name</a>
The href must use the original input string exactly as supplied (including lowercase letters, hyphens, slashes, and periods).
9. Every grouping label that you invent must NOT be a hyperlink. It should be plain text inside an <li>. For example:
<li>Tools
<ul>
...
</ul>
</li>
10. If a category from the input list has children, the category itself should still be a link. For example:
<li>
<a href="https://www.bobdc.com/categories/xml">XML</a>
<ul>
...
</ul>
</li>
11. Output only the HTML fragment. Do not include markdown fences or any explanatory text.
Input categories:
[paste category list here]
Output of the above prompt shown in blogCategoriesHierarchicalList.html. Next prompt:
The output looked pretty good except that the concepts were not specifically identified as concepts, so I entered this next prompt:
Do it again, and for each resource that has a skos:prefLabel or skos:broader value, include a triple saying that it is a member of the skos:Concept class, e.g.
cat:technology a skos:Concept .The output of this prompt is shown in bobdcBlogCategories.ttl.
The following shows the important parts of how I used ChatGPT to create a hierarchical taxonomy from the flat list of category names used by my blog's website. I tried to only include the most relevant parts of the exchange. Comments are in bold like this.
After a series of prompts and responses where I had ChatGPT refine the HTML output, I issued this next prompt, shown with a gray background, below. Non-bold text shows ChatGPT's responses.