Ich habe zwei Klassen in meiner kulinarischen Rezepte Ontologie:SPARQL REGEX läuft, aber zeigt nichts
<Class rdf:about="&SouthSulawesiCulinaryRecipes;FoodAndBeveragesRecipes">
<equivalentClass>
<Restriction>
<onProperty rdf:resource="&SouthSulawesiCulinaryRecipes;NumberOfIngredientsRequired"/>
<minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</minQualifiedCardinality>
<onDataRange rdf:resource="&xsd;int"/>
</Restriction>
</equivalentClass>
<equivalentClass>
<Restriction>
<onProperty rdf:resource="&SouthSulawesiCulinaryRecipes;UsesTools"/>
<onClass rdf:resource="&SouthSulawesiCulinaryRecipes;KitchenEquipment"/>
<minQualifiedCardinality rdf:datatype="&xsd;nonNegativeInteger">1</minQualifiedCardinality>
</Restriction>
</equivalentClass>
</Class>
<Class rdf:about="&SouthSulawesiCulinaryRecipes;Place"/>
Das ist die Objekteigenschaften sind:
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#HasIngredients -->
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;FoodAndBeverages"/>
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;_IngR"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#HasRecipe -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;HasRecipe">
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;FoodAndBeveragesRecipes"/>
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;Place"/>
<rdfs:subPropertyOf rdf:resource="&owl;topObjectProperty"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#IngR -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;IngR">
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;FoodAndBeveragesRecipes"/>
<inverseOf rdf:resource="&SouthSulawesiCulinaryRecipes;Relation_Of"/>
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;_IngR"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#Ing_Type -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;Ing_Type">
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;IngType"/>
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;_IngR"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#IngredientUsedToMake -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;IngredientUsedToMake">
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;FoodAndBeverages"/>
<inverseOf rdf:resource="&SouthSulawesiCulinaryRecipes;HasIngredients"/>
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;_IngR"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#MeasurementUnit -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;MeasurementUnit">
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;CookingMeasurements"/>
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;_IngR"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#RecipeOrigin -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;RecipeOrigin">
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;FoodAndBeveragesRecipes"/>
<inverseOf rdf:resource="&SouthSulawesiCulinaryRecipes;HasRecipe"/>
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;Place"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#Relation_Of -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;Relation_Of">
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;FoodAndBeveragesRecipes"/>
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;_IngR"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#ToolsUsedByRecipe -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;ToolsUsedByRecipe">
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;FoodAndBeveragesRecipes"/>
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;KitchenEquipment"/>
<inverseOf rdf:resource="&SouthSulawesiCulinaryRecipes;UsesTools"/>
</ObjectProperty>
<!-- http://www.semanticweb.org/hp/ontologies/2014/4/SouthSulawesiCulinaryRecipes#UsesTools -->
<ObjectProperty rdf:about="&SouthSulawesiCulinaryRecipes;UsesTools">
<rdfs:domain rdf:resource="&SouthSulawesiCulinaryRecipes;FoodAndBeveragesRecipes"/>
<rdfs:range rdf:resource="&SouthSulawesiCulinaryRecipes;KitchenEquipment"/>
</ObjectProperty> here
Zuerst, ich habe diese Abfrage zu erhalten alle Rezepte in meiner Ontologie
SELECT ?FoodAndBeveragesRecipes
WHERE {
?Place :HasRecipe ?FoodAndBeveragesRecipes
}
Das Ergebnis ist:
Coto Makassar
Saraba
EsPisangIjo
PalluMata
DanpoGoreng
DanpoRebus
SambalMangga
und jetzt versuche ich diese Abfrage auszuführen, um alle Datensätze mit dem Rezeptnamen "Danpo" zu erhalten (ich weiß nicht, ob es anderen Code einfacher als dieser gibt, wenn Sie wissen, bitte sagen Sie mir auch):
Die Abfrage läuft, aber es ist leer, ich bekomme meine Daten nicht und ich denke nichts Fehler. Ich habe mich gefragt, warum mein Filter nicht richtig funktioniert? und was soll ich tun, um die Datensätze mit dem genauen von meinem Keyword in meiner Regex zu bekommen? Kann mir jemand helfen?
Danke.
es funktioniert, es fühlt sich so gut, vielen dank :) ich wirklich will den regulären Ausdruck gegen den Text der IRI entsprechen, so i wird die Regex-Funktion verwenden. – Jeje
@Jeje OK, ich war mir nicht sicher, da es in Ihrem Beispiel eigentlich keinen regulären Ausdruck gibt (es passt nur zu einer Zeichenkette). Wenn Sie nur Fall wollen unsensibel überprüfen, können Sie prüfen, ob ** enthält (lcase (str (? FoodAndBeveragesRecipres)), "Danpo") **. Das könnte weniger kosten als ein ** Regex **. –
ok, ich nehme deinen Rat. Es tut mir leid, ich bin neu in der Sparql-Abfrage, können Sie mir bitte erklären, wann und warum sollte ich stattdessen Regex verwenden?und was meinst du "es gibt eigentlich keinen regulären ausdruck in ihrem beispiel? ich dachte, es wäre die regex? oder sollte ich eine neue frage stellen? danke – Jeje