Project:SPARQL/examples: Difference between revisions
Jump to navigation
Jump to search
(→All Units: return unit symbols) |
(→All Packs: added pack description) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 19: | Line 19: | ||
#this also makes sure the resource location (P4) property exists | #this also makes sure the resource location (P4) property exists | ||
?item wbt:P4 ?rl. | ?item wbt:P4 ?rl. | ||
} | |||
</SPARQL> | |||
===Q Item With Resource Location=== | |||
<SPARQL> | |||
prefix wb: <https://mcje-data.wikibase.cloud/entity/> | |||
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/> | |||
select ?item ?itemLabel ?itemDescription where { | |||
?item wbt:P4 "minecraft:dirt". | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | |||
} | } | ||
</SPARQL> | </SPARQL> | ||
Line 53: | Line 64: | ||
?item wbt:P20 wb:Q1300. # part of => entity registry | ?item wbt:P20 wb:Q1300. # part of => entity registry | ||
?item wbt:P4 ?rl. # resource location => ?rl | ?item wbt:P4 ?rl. # resource location => ?rl | ||
} | |||
</SPARQL> | |||
==Effects== | |||
===Given Effects=== | |||
<SPARQL> | |||
prefix wb: <https://mcje-data.wikibase.cloud/entity/> | |||
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/> | |||
prefix wbp: <https://mcje-data.wikibase.cloud/prop/> | |||
prefix wbpq: <https://mcje-data.wikibase.cloud/prop/qualifier/> | |||
prefix wbps: <https://mcje-data.wikibase.cloud/prop/statement/> | |||
SELECT ?item ?itemLabel ?effect ?effectLabel ?amplifier ?duration WHERE { | |||
?item wbp:P68 ?effectStatement. | |||
?effectStatement wbps:P68 ?effect; wbpq:P69 ?amplifier; wbpq:P70 ?duration. | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | |||
} | } | ||
</SPARQL> | </SPARQL> | ||
Line 72: | Line 99: | ||
?item wbt:P4 ?rl. # resource location => ?rl | ?item wbt:P4 ?rl. # resource location => ?rl | ||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | ||
} | |||
</SPARQL> | |||
===Food=== | |||
<SPARQL> | |||
prefix wb: <https://mcje-data.wikibase.cloud/entity/> | |||
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/> | |||
SELECT ?item ?itemLabel ?restoredHunger ?restoredSaturation ?effectiveQuality ?nourishment WHERE { | |||
?item wbt:P2* wb:Q1689. #sublcass of => food | |||
?item wbt:P51 ?restoredHunger. | |||
?item wbt:P52 ?restoredSaturation. | |||
#Nourishment is defined as the ratio of saturation to hunger points restored. | |||
#Foods with higher nourishment values should be eaten when the hunger bar is more full. | |||
#https://minecraft.fandom.com/wiki/Food#Nourishment_value | |||
bind(?restoredSaturation / ?restoredHunger as ?nourishment). | |||
#Hunger Points + Saturation that is restored, which gives roughly how long the food can last. | |||
#This value is reduced if the player is near the food or saturation cap, as excess points of either type are wasted. | |||
#https://minecraft.fandom.com/wiki/Hunger | |||
bind(?restoredHunger + ?restoredSaturation as ?effectiveQuality). | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | |||
} | |||
</SPARQL> | |||
==Content Packs== | |||
===All Packs=== | |||
<SPARQL> | |||
prefix wb: <https://mcje-data.wikibase.cloud/entity/> | |||
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/> | |||
SELECT DISTINCT ?pack ?packLabel ?packDescription ?packType ?packTypeLabel ?vanilla ?downloadURL WHERE { | |||
?pack wbt:P1/wbt:P2* wb:Q5192. # instance of => pack | |||
?pack wbt:P1 ?packType. | |||
filter(?packType != wb:Q5195). # ?packType != vanilla pack | |||
BIND(exists{?pack wbt:P1/wbt:P2* wb:Q5195} as ?vanilla) # instance of => vanilla pack | |||
optional {?pack wbt:P73 ?downloadURL.} | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | |||
} | } | ||
</SPARQL> | </SPARQL> | ||
Line 101: | Line 165: | ||
SELECT DISTINCT ?unit ?unitLabel ?unitSymbol WHERE { | SELECT DISTINCT ?unit ?unitLabel ?unitSymbol WHERE { | ||
?unit wbt:P1/wbt:P2* wb:Q9 | ?unit wbt:P1/wbt:P2* wb:Q9. | ||
OPTIONAL { | |||
?unit wbt:P64 ?unitSymbol. | |||
FILTER ( LANG(?unitSymbol) = "[AUTO_LANGUAGE]" ) | |||
} | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } | ||
} | } | ||
</SPARQL> | </SPARQL> |
Latest revision as of 18:06, 22 October 2022
Simple Queries
All Items
#prefix for selecting Q items, item (Q43) => wb:Q43
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
#prefix for selecting properties, subclass of (P2) => wbt:P2
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
#select all items that match, return ?item and ?rl
select ?item ?rl where {
#add restriction that items need to be a subclass of (P2) => item (Q43)
#the + means it can also be a subclass of anything thing that is a subclass of item (Q43)
#slab (Q1305) => subclass of (P2) => item (Q43)
#so all Q items that are subclasses of slabs will also be returned
?item wbt:P2+ wb:Q43.
#make ?rl the value of resource location (P4)
#this also makes sure the resource location (P4) property exists
?item wbt:P4 ?rl.
}
Q Item With Resource Location
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
select ?item ?itemLabel ?itemDescription where {
?item wbt:P4 "minecraft:dirt".
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Commands
Command Arguments
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
prefix wbp: <https://mcje-data.wikibase.cloud/prop/>
prefix wbps: <https://mcje-data.wikibase.cloud/prop/statement/>
prefix wbq: <https://mcje-data.wikibase.cloud/prop/qualifier/>
select ?command_name ?argument_name ?argument_type where {
?item wbt:P1 wb:Q1466.
?item rdfs:label ?command_name.
?item wbp:P15 ?argument_statement.
?argument_statement wbps:P15 ?argument_name.
?argument_statement wbq:P16 ?argument_type_item.
?argument_type_item wbt:P4 ?argument_type.
}
Entities
All Projectiles
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
#return ?item & ?rl
select ?item ?rl where {
?item wbt:P2 wb:Q1581. # subclass of => projectile
?item wbt:P20 wb:Q1300. # part of => entity registry
?item wbt:P4 ?rl. # resource location => ?rl
}
Effects
Given Effects
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
prefix wbp: <https://mcje-data.wikibase.cloud/prop/>
prefix wbpq: <https://mcje-data.wikibase.cloud/prop/qualifier/>
prefix wbps: <https://mcje-data.wikibase.cloud/prop/statement/>
SELECT ?item ?itemLabel ?effect ?effectLabel ?amplifier ?duration WHERE {
?item wbp:P68 ?effectStatement.
?effectStatement wbps:P68 ?effect; wbpq:P69 ?amplifier; wbpq:P70 ?duration.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Items
All Armor
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
SELECT ?item ?itemLabel ?rl ?armorClassLabel ?equipmentClassLabel ?durability WHERE {
?item wbt:P2 ?armorClass. # subclass => ?armorClass
?armorClass wbt:P2 wb:Q1621. # ?armorClass => subclass => armor
optional {
?item wbt:P2 ?equipmentClass. # subclass => ?equipmentClass
?equipmentClass wbt:P2 wb:Q1620. # ?equipmentClass => subclass => equipment
}
?item wbt:P53 ?durability. # durability => ?durability
?item wbt:P4 ?rl. # resource location => ?rl
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Food
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
SELECT ?item ?itemLabel ?restoredHunger ?restoredSaturation ?effectiveQuality ?nourishment WHERE {
?item wbt:P2* wb:Q1689. #sublcass of => food
?item wbt:P51 ?restoredHunger.
?item wbt:P52 ?restoredSaturation.
#Nourishment is defined as the ratio of saturation to hunger points restored.
#Foods with higher nourishment values should be eaten when the hunger bar is more full.
#https://minecraft.fandom.com/wiki/Food#Nourishment_value
bind(?restoredSaturation / ?restoredHunger as ?nourishment).
#Hunger Points + Saturation that is restored, which gives roughly how long the food can last.
#This value is reduced if the player is near the food or saturation cap, as excess points of either type are wasted.
#https://minecraft.fandom.com/wiki/Hunger
bind(?restoredHunger + ?restoredSaturation as ?effectiveQuality).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Content Packs
All Packs
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
SELECT DISTINCT ?pack ?packLabel ?packDescription ?packType ?packTypeLabel ?vanilla ?downloadURL WHERE {
?pack wbt:P1/wbt:P2* wb:Q5192. # instance of => pack
?pack wbt:P1 ?packType.
filter(?packType != wb:Q5195). # ?packType != vanilla pack
BIND(exists{?pack wbt:P1/wbt:P2* wb:Q5195} as ?vanilla) # instance of => vanilla pack
optional {?pack wbt:P73 ?downloadURL.}
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Registries
Registry Entries
#defaultView:Tree
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
SELECT ?rootRegistry ?rootRegistryLabel ?rootRegistryRL ?registry ?registryLabel ?registryRL ?registryEntry ?registryEntryLabel ?registryEntryRL WHERE {
?rootRegistry wbt:P28 wb:Q1482; wbt:P4 ?rootRegistryOldRL.
BIND(CONCAT("(",STR(?rootRegistryOldRL),")") as ?rootRegistryRL).
?registry wbt:P20 ?rootRegistry; wbt:P4 ?registryOldRL.
BIND(CONCAT("(",STR(?registryOldRL),")") as ?registryRL).
?registryEntry wbt:P20 ?registry; wbt:P4 ?registryEntryOldRL.
BIND(CONCAT("(",STR(?registryEntryOldRL),")") as ?registryEntryRL).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Units of Measure
All Units
prefix wb: <https://mcje-data.wikibase.cloud/entity/>
prefix wbt: <https://mcje-data.wikibase.cloud/prop/direct/>
SELECT DISTINCT ?unit ?unitLabel ?unitSymbol WHERE {
?unit wbt:P1/wbt:P2* wb:Q9.
OPTIONAL {
?unit wbt:P64 ?unitSymbol.
FILTER ( LANG(?unitSymbol) = "[AUTO_LANGUAGE]" )
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}